download.c 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. // *INDENT-OFF*
  2. #include "app_config.h"
  3. #ifdef __SHELL__
  4. ##!/bin/sh
  5. ${OBJDUMP} -D -address-mask=0x1ffffff -print-dbg $1.elf > $1.lst
  6. ${OBJCOPY} -O binary -j .text $1.elf text.bin
  7. ${OBJCOPY} -O binary -j .data $1.elf data.bin
  8. ${OBJCOPY} -O binary -j .data_code $1.elf data_code.bin
  9. ${OBJCOPY} -O binary -j .overlay_aec $1.elf aec.bin
  10. ${OBJCOPY} -O binary -j .overlay_aac $1.elf aac.bin
  11. ${OBJCOPY} -O binary -j .overlay_aptx $1.elf aptx.bin
  12. ${OBJCOPY} -O binary -j .common $1.elf common.bin
  13. bank_files=
  14. for i in $(seq 0 20)
  15. do
  16. ${OBJCOPY} -O binary -j .overlay_bank$i $1.elf bank$i.bin
  17. if [ ! -s bank$i.bin ]
  18. then
  19. break
  20. fi
  21. bank_files=$bank_files"bank$i.bin 0x0 "
  22. done
  23. echo $bank_files
  24. lz4_packet -dict text.bin -input common.bin 0 $bank_files -o bank.bin
  25. ${OBJDUMP} -section-headers -address-mask=0x1ffffff $1.elf
  26. ${OBJSIZEDUMP} -lite -skip-zero -enable-dbg-info $1.elf | sort -k 1 > symbol_tbl.txt
  27. cat text.bin data.bin data_code.bin aec.bin aac.bin bank.bin aptx.bin > app.bin
  28. /opt/utils/strip-ini -i isd_config.ini -o isd_config.ini
  29. /* files="app.bin ${CPU}loader.* uboot* ota*.bin p11_code.bin isd_config.ini isd_download.exe fw_add.exe ufw_maker.exe" */
  30. files="app.bin ${CPU}loader.* uboot* ota*.bin p11_code.bin isd_config.ini"
  31. NICKNAME="${CPU}_sdk"
  32. host-client -project ${NICKNAME}$2 -f ${files} $1.elf
  33. #else
  34. rem @echo off
  35. @echo *********************************************************************
  36. @echo AC632N SDK
  37. @echo *********************************************************************
  38. @echo %date%
  39. cd /d %~dp0
  40. set OBJDUMP=C:\JL\pi32\bin\llvm-objdump.exe
  41. set OBJCOPY=C:\JL\pi32\bin\llvm-objcopy.exe
  42. set INELF=sdk.elf
  43. set LZ4_PACKET=lz4_packet.exe
  44. ::@echo on
  45. if exist sdk.elf (
  46. %OBJDUMP% -D -address-mask=0x1ffffff -print-dbg %INELF% > sdk.lst
  47. %OBJCOPY% -O binary -j .text %INELF% text.bin
  48. %OBJCOPY% -O binary -j .data %INELF% data.bin
  49. %OBJCOPY% -O binary -j .data_code %INELF% data_code.bin
  50. %OBJCOPY% -O binary -j .overlay_aec %INELF% aec.bin
  51. %OBJCOPY% -O binary -j .overlay_aac %INELF% aac.bin
  52. %OBJCOPY% -O binary -j .overlay_aptx %INELF% aptx.bin
  53. %OBJCOPY% -O binary -j .common %INELF% common.bin
  54. bankfiles=
  55. for /L %%i in (0,1,20) do (
  56. %OBJCOPY% -O binary -j .overlay_bank%%i %INELF% bank%%i.bin
  57. set bankfiles=!bankfiles! bank%%i.bin 0x0
  58. )
  59. echo %bank_files
  60. %LZ4_PACKET% -dict text.bin -input common.bin 0 %bankfiles% -o bank.bin
  61. %OBJDUMP% -section-headers -address-mask=0x1ffffff %INELF%
  62. %OBJSIZEDUMP% -lite -skip-zero -enable-dbg-info %INELF% > symbol_tbl.txt
  63. copy /b text.bin+data.bin+data_code.bin+aec.bin+aac.bin+bank.bin+aptx.bin app.bin
  64. del bank*.bin common.bin text.bin data.bin bank.bin aac.bin aec.bin aptx.bin
  65. )
  66. #ifdef CONFIG_WATCH_CASE_ENABLE
  67. call download/watch/download.bat
  68. #elif defined(CONFIG_SOUNDBOX_CASE_ENABLE)
  69. call download/soundbox/download.bat
  70. #elif defined(CONFIG_EARPHONE_CASE_ENABLE)
  71. call download/earphone/download.bat
  72. #elif defined(CONFIG_HID_CASE_ENABLE) ||defined(CONFIG_SPP_AND_LE_CASE_ENABLE)||defined(CONFIG_MESH_CASE_ENABLE)||defined(CONFIG_DONGLE_CASE_ENABLE) //数传
  73. call download/data_trans/download.bat
  74. #else
  75. //to do other case
  76. #endif //endif app_case
  77. #endif