setlocal enableExtensions @echo off color 0B set gcc_tool_dir=D:\tools\gcc\bin\ REM cc: all project case in one folder for /f "delims=" %%i in ('findstr /V "\/\/" .\src\code\a_set_project_case.cc') do (set proj_folder=%%i) set "proj_folder=%proj_folder: =%" set "proj_folder=%proj_folder: =%" set code_list= ./src/code/init.S ^ ./src/code/*.c ^ ./src/code/project_case/%proj_folder:~7%/*.c ^ ./src/driver/source/*.c ^ ./src/driver/ulog/*.c ::start work echo /***********************************************start***************************************************/ set inclue_path=./src/include ^ -I ./src/driver/include ^ -I ./src/driver/ulog set proj_folder_inc_path=./src/code/project_case/%proj_folder:~7% set link_file=./link/link.ld set gcc=%gcc_tool_dir%riscv-none-embed-gcc set objcopy=%gcc_tool_dir%riscv-none-embed-objcopy set objdump=%gcc_tool_dir%riscv-none-embed-objdump set compile_path=compile set firmware_path=fw2flash echo /***************************print var***************************/ REM echo code_list:%code_list% echo inclue_path1:%inclue_path% echo inclue_path2:%proj_folder_inc_path% echo link_file:%link_file% echo gcc:%gcc% echo objcopy:%objcopy% echo objdump:%objdump% echo compile_path:%compile_path% echo firmware_path:%firmware_path% echo /**************************print folder*************************/ if exist %compile_path% ( rd /s /Q %compile_path% echo delete %compile_path% folder successfully ) else ( echo no %compile_path% folder ) if exist %firmware_path% ( rd /s /Q %firmware_path% echo delete %firmware_path% folder successfully ) else ( echo no %firmware_path% folder ) if exist error.txt ( del error.txt ) md %compile_path% echo newly built %compile_path% folder md %firmware_path% echo newly built %firmware_path% folder echo /*************** Current Project Case is ***************/ echo; echo ^>^>^>^> ^>^>^>^> %proj_folder:~7% ^<^<^<^< ^<^<^<^< echo; echo /****************************compile****************************/ %gcc% %code_list% -I %inclue_path% -I %proj_folder_inc_path% -T %link_file% -nostdlib -o ./compile/test.elf -lc -lgcc -mtune=size -march=rv32i -mabi=ilp32 > error.txt 2>&1 @echo off set "file=error.txt" if exist "%file%" ( for %%I in ("%file%") do if %%~zI GTR 0 ( notepad error.txt exit ) else ( echo; ) ) else ( echo; ) %objcopy% -O ihex ./compile/test.elf ./compile/test.hex %objdump% -D ./compile/test.elf > ./compile/test.objdump python ./pgm/gen_mif_normal.py ./compile/test.hex 1000000 ::xcopy .\pgm\gen_code_i2c_debug.exe .\fw2flash ::xcopy .\pgm\gen_code_pgm_flash_i2c.exe .\fw2flash ::xcopy .\pgm\gen_i2c_encr_program_flash.exe .\fw2flash ::xcopy .\pgm\table_program.txt .\fw2flash ::xcopy .\pgm\table_data .\fw2flash ::xcopy .\pgm\LA_Gen_BinFile.exe .\fw2flash ::cd .\fw2flash ::.\gen_code_i2c_debug.exe ::.\gen_code_pgm_flash_i2c.exe ::.\gen_i2c_encr_program_flash.exe ::.\LA_Gen_BinFile.exe echo /************************************************end****************************************************/ ::del .\gen_code_pgm_flash_i2c.exe ::del .\gen_code_i2c_debug.exe ::del .\gen_i2c_encr_program_flash.exe ::del .\LA_Gen_BinFile.exe @echo off set "file=error.txt" if exist "%file%" ( for /f "delims=" %%i in ('type "%file%"') do set "line=%%i" if defined line ( pause ) else ( del error.txt ) ) else ( pause ) endlocal