| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- @echo off
- setlocal
- :: 启用延迟扩展
- setlocal EnableDelayedExpansion
- @REM 可执行文件(exe)文件名
- set EXE_NAME=V9_AG_PMU_APP_
- @REM 可执行文件(exe)文件路径
- set EXE_PATH=.\build
- @REM 定制Hex输出路径
- set OUTPUT_PATH=.\build
- @REM 定制Hex文件名
- set output_file_name=%EXE_NAME%
- @REM fromelf文件路径
- ::Set FROMELF_PATH=D:\Keil_v5\ARM\ARMCLANG\bin
- @REM 转换并定制Bin文件名 需要将fromelf.exe的路径添加到环境变量中
- fromelf --bin %EXE_PATH%\%EXE_NAME%.axf --output %OUTPUT_PATH%\%output_file_name%.bin
- cls
- echo %date%
- echo %time%
- del ..\binFile\*.bin /s
- del ..\binFile\*.hex /s
- set FileName=%Date:~0,4%%Date:~5,2%%Date:~8,2%
- echo %FileName%
- set "search_dir=..\build"
- set "search_ext=V9_AG_PMU_APP_EFTZ*.bin"
- set "found_file="
- for /R "%search_dir%" %%F in (%search_ext%) do (
- set "found_file=%%~nF"
- )
- @REM 软件版本文件路径
- set "VERSION_FILE_PATH=..\user_inc\config.h"
- @REM 软件版本字符串的格式
- set "SOFTWARE_VERSION=Z70_DRONE"
- @REM 获取软件版本,通过标识符找到所在行,然后根据第一个字符判断并赋值
- for /f "tokens=1* delims= " %%a in ('type "%VERSION_FILE_PATH%" ^| findstr /C:"%SOFTWARE_VERSION%"') do (
- echo %%a
- set "firstChar=%%a"
- :: 去除第一个字符前后的空格
- set "firstChar=!firstChar:~0,1!"
- :: 判断第一个字符
- if "!firstChar!"=="/" (
- set "SW_Ver=Z20"
- ) else if "!firstChar!"=="#" (
- set "SW_Ver=Z70"
- ) else (
- set "SW_Ver=UNKNOWN"
- )
- goto :breakLoop
- )
- :breakLoop
- copy ..\build\%found_file%.bin ..\binFile\%found_file%%FileName%.bin
- copy ..\build\%found_file%.hex ..\binFile\%found_file%%FileName%.hex
- @REM 显示并复制Hex文件AREM
- echo Output hex file: %found_file%%FileName%%SW_Ver%%SW_Ver2%.bin
- :: 关闭延迟扩展
- endlocal
- ::pause
- exit
|