CopyBinFile.bat 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. @echo off
  2. setlocal
  3. :: 启用延迟扩展
  4. setlocal EnableDelayedExpansion
  5. @REM 可执行文件(exe)文件名
  6. set EXE_NAME=vro24_app_
  7. @REM 可执行文件(exe)文件路径
  8. set EXE_PATH=.\Objects
  9. @REM 定制Hex输出路径
  10. set OUTPUT_PATH=.\Objects
  11. @REM 定制Hex文件名
  12. set output_file_name=%EXE_NAME%
  13. @REM fromelf文件路径
  14. ::Set FROMELF_PATH=D:\Keil_v5\ARM\ARMCLANG\bin
  15. @REM 转换并定制Bin文件名 需要将fromelf.exe的路径添加到环境变量中
  16. fromelf --bin %EXE_PATH%\%EXE_NAME%.axf --output %OUTPUT_PATH%\%output_file_name%.bin
  17. @REM 调用内存空间分析工具
  18. ::.\keil-build-viewer.exe
  19. echo %date%
  20. echo %time%
  21. del ..\binFile\*.bin /s
  22. del ..\binFile\*.hex /s
  23. set FileName=%Date:~0,4%%Date:~5,2%%Date:~8,2%
  24. echo %FileName%
  25. set "search_dir=%EXE_PATH%"
  26. set "search_ext=%EXE_NAME%*.bin"
  27. set "found_file="
  28. for /R "%search_dir%" %%F in (%search_ext%) do (
  29. set "found_file=%%~nF"
  30. )
  31. echo %found_file%
  32. @REM 打印当前路径
  33. echo Current directory is: %cd%
  34. copy %OUTPUT_PATH%\%found_file%.bin ..\binFile\%found_file%f1_%FileName%%SW_Ver%%SW_Ver2%.bin
  35. copy %OUTPUT_PATH%\%found_file%.bin ..\binFile\%found_file%b1_%FileName%%SW_Ver%%SW_Ver2%.bin
  36. copy %OUTPUT_PATH%\%found_file%.hex ..\binFile\%found_file%%FileName%%SW_Ver%%SW_Ver2%.hex
  37. @REM 显示并复制Hex文件AREM
  38. echo Output hex file: %found_file%%FileName%%SW_Ver%%SW_Ver2%.bin
  39. :: 关闭延迟扩展
  40. endlocal
  41. ::pause
  42. exit
  43. @REM 可执行文件(exe)文件名
  44. ::set EXE_NAME=TBL
  45. @REM 可执行文件(exe)文件路径
  46. ::set EXE_PATH=.\obiects
  47. @REM 定制Hex输出路径
  48. ::set OUTPUT_PATH=.\bin
  49. @REM 软件版本文件路径
  50. ::set VERSION_FILE_PATH=..\Control\config.h
  51. @REM 软件版本字符串的格式
  52. ::set SOFTWARE_VERSION="COPTER_EFTZ"
  53. @REM fromelf文件路径
  54. ::Set FROMELF_PATH=D:\Keil_v5\ARM\ARMCLANG\bin
  55. @REM 获取软件版本,通过标识符找到所在行,通过第3个空格找到关键版本信息
  56. ::for /f "tokens=3 delims= " %%i in ('findstr /C:%SOFTWARE_VERSION% %VERSION_FILE_PATH% ') do set SW_Ver=%%i
  57. ::set SW_Ver=%SW_Ver:~1,-2%
  58. @REM 转换并定制Bin文件名
  59. ::%FROMELF_PATH%\fromelf --bin %EXE_PATH%\%EXE_NAME%.axf --output %OUTPUT_PATH%\%output_file_name%.bin
  60. @REM 显示并复制Hex文件AREM
  61. ::echo"Output hex file: %OUTPUT_PATH%\%output_file_name%.hex"
  62. ::copy %EXE_PATH%\%EXE_NAME%.hex %OUTPUT_PATH%\%output_file_name%.hex
  63. ::exit