126 lines
3.5 KiB
Batchfile
126 lines
3.5 KiB
Batchfile
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
|
|
|