WL818_SDK/w818_riscv_v5.bat

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