4.2. SDK工程编译下载说明
在 CodeBlocks 界面中点击
build
或者rebuild
进行编译 。Tip
Makefile方式编译: 首先进入
tools
目录下, 双击make_prompt
并输入make demo_DevKitBoard
。编译成功后,固件会自动下载到开发板上,下载成功后会显示如下界面。
******************************************* AC791N SDK ******************************************* 2021/12/27 周一 sdk sdk.elf: file format ELF32-pi32v2 Sections: Idx Name Size Address Type 0 00000000 0000000000000000 1 .text 00013d60 0000000002000120 TEXT DATA 2 .data 00000000 0000000004000000 DATA 3 .bss 00000000 0000000004000000 BSS 4 .ram0_data 00008570 0000000001c00000 TEXT DATA 5 .ram0_bss 00003c84 0000000001c08570 BSS 6 .boot_info 00000028 0000000001c7fd50 DATA 7 .cache_ram_data 00000010 0000000001f28000 DATA 8 .cache_ram_bss 00000000 0000000001f28010 DATA 9 .debug_str 0000bff2 0000000000000000 10 .debug_loc 00015d6b 0000000000000000 11 .debug_abbrev 00000cca 0000000000000000 12 .debug_info 0002e1a0 0000000000000000 13 .debug_ranges 00002548 0000000000000000 14 .debug_macinfo 00000001 0000000000000000 15 .debug_pubnames 00006e5b 0000000000000000 16 .debug_pubtypes 0000326f 0000000000000000 17 .debug_frame 00003f8c 0000000000000000 18 .debug_line 00020118 0000000000000000 19 .debug_aranges 00000040 0000000000000000 20 .shstrtab 00000100 0000000000000000 21 .symtab 00045880 0000000000000000 22 .strtab 00003ebd 0000000000000000 text.bin data.bin ram0_data.bin cache_ram_data.bin 已复制 1 个文件。 SPI nor flash online. Online flash id: ef4017 Online flash size: 8M Erase Falsh Size is 4096 --------------------FLASH INFO-------------------- | PID : AC79_STORY | | VID : 0.01 | | FLASH_BIN_SIZE : 0x160000 | | FLASH_NEED_SIZE : 0x3ff000 | | FLASH_REAL_SIZE : 0x800000 | | VM_REAL_SIZE : 0x8000 | | VM_START_ADDR : 0x3ef000 | | VM_END_ADDR : 0x3f7000 | | BTIF_RESERVED_START : 0x3f7000 | | BTIF_RESERVED_END : 0x3f8000 | | PROFILE_RESERVED_START : 0x3f8000 | | PROFILE_RESERVED_END : 0x3f9000 | | AISP_RESERVED_START : 0x3f9000 | | AISP_RESERVED_END : 0x3fa000 | | EXIF_RESERVED_START : 0x3fa000 | | EXIF_RESERVED_END : 0x3fb000 | | fixed.mp3_RESERVED_START : 0x3fb000 | | fixed.mp3_RESERVED_END : 0x3ff000 | | CODE_BOUNDARY_LINE : 0x1fa000 | | LAVE_SIZE : 0x9a000 | | ENTRY_ADDR : 0x2000120 | | ERASE MODE : NONE | -------------------------------------------------- ISDdownload 正在擦除VM的FLASH[0x3ef000-0x3f7000] ..... . . . . .. [ 成功 ] 正在擦除CODE2的FLASH[0x1fa000-0x1fb000] ....[ 成功 ] 开始下载 ...... no license 下载完毕. 设备重启中...
Caution
- 烧录过程中可能遇到的问题:
如果进入升级模式后电脑端不出现盘符或者报 USB 总线问题,可能是板子的 USB 线/座子焊接不良, 或者用户使用的 USB 连接线问题,甚至是和电脑的兼容性问题, 用户根据情况逐步排查
如果编译完成后出现提示如下,用户需要确保
tools
目录下的isd_config_rule.c
文件填写的 FLASH_SIZE 与实际板子使用的 flash 大小一致。如果还是报错,考虑如下两方面解决: ①用户需要减少资源文件大小,如提示音等资源文件; ② 在app_config.h
中设置宏#define CONFIG_DOUBLE_BANK_ENABLE 0
。SPI nor flash online. Online flash id: ef4016 Online flash size: 4M Erase Falsh Size is 4096 错误:CODE0太大,CODE0大小为675840,分界线为499712,请调整代码或资源文件或VM大小
如果编译完成提示如下,但是串口没有出现打印(确保 SDK 配置串口打印引脚和波特率正常情况下),那么需要在 tools/ 目录下的 isd_config_rule.c 文件填写对应的 SDRAM 容量 SDRAM_SIZE 和 ENABLE_SDRAM=1; 如果没有 SDRAM 则 ENABLE_SDRAM=0
ISDdownload 正在擦除VM的FLASH[0x3ef000-0x3f7000] ..... . . . . .. [ 成功 ] 正在擦除CODE2的FLASH[0x1fa000-0x1fb000] ....[ 成功 ] 开始下载 ...... no license 下载完毕. 设备重启中...
Important
- 关于下载目录的几个说明(这个是非必要步骤):
以AC791N为例,默认下载目录:master/cpu/wl82/tools
CodeBlocks 界面中点击
build
或者rebuild
不是下载代码的唯一途径, 也可以通过直接双击下载目录中的download.bat进行下载进行flash区域擦除、增加需要下载的资源文件(必须放在-res之后)、案子开发时加代理key文件,可以通过修改下载目录中的
download.c
进行配置,以擦除整个flash、增加aaa.bin
、加xxx.key
为例,请参考如下download.c
中的配置(devkitboard
工程默认开启了宏CONFIG_SFC_ENABLE
):
#if !defined CONFIG_SFC_ENABLE
REM @@@@@@@无效参数
set run_addr=0x2000
set load_addr=0x4000
set mask_addr=0x100000
uboot_lz4.exe app.bin app.lz4 %run_addr% %load_addr% rom.image %mask_addr%
REM @@@@@@@@@@@@@@@
isd_download.exe isd_config.ini -tonorflash -dev wl82 -boot 0x1c02000 -div1 -wait 300 -uboot uboot.boot -app app.lz4 cfg_tool.bin -res %AUDIO_RES% %UI_RES% %CFG_FILE% -reboot 500 %KEY_FILE% -update_files normal
#else
isd_download.exe isd_config.ini -tonorflash -dev wl82 -boot 0x1c02000 -div1 -wait 300 -uboot uboot.boot -app app.bin cfg_tool.bin -res %AUDIO_RES% %UI_RES% %CFG_FILE% aaa.bin -reboot 500 %KEY_FILE% -update_files normal -key xxx.key
#endif
@REM 常用命令说明
@rem -format vm // 擦除VM 区域
@rem -format all // 擦除所有
@rem -reboot 500 // reset chip, valid in JTAG debug
@rem -key xxx.key //加key文件
固件下载成功之后,拔插usb下载线,重新上电或者按一下开发板顶板上电reset键, 串口有打印显示,恭喜你!!你已经成功了,成功踏上杰理SDK方案开发新征程。
Important
以
demo_DevKitBoard
工程为例,开发板串口的TX
默认为PB3
,RX
默认接地。其他示例工程的串口配置需要参考其板级配置文件board.c
。demo_DevKitBoard
工程串口的打印信息参考如下:
[00:00:00.100]========= system reset reason: SOFT =========
[00:00:00.100]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[00:00:00.100] WL82(AC791N) CHIP_ID: 0x6f00 setup_arch Feb 22 2022 16:56:18
[00:00:00.100]sys_clk = 320000000,sdram_clk = 192000000,hsb_clk = 160000000,lsb_clk = 53333333, sfc_clk = 80000000
[00:00:00.100]CODE+CONST SIZE = 1026368
[00:00:00.100]SDRAM_SIZE = 8388608, DATA_SIZE = 9776,BSS_SIZE = 320164,REMAIN_SIZE = 8058668
[00:00:00.100]RAM_SIZE = 523600,DATA_SIZE = 45544,BSS_SIZE = 33424,REMAIN_SIZE = 444632
[00:00:00.100]CACHE_RAM_SIZE = 0,DATA_SIZE = 0, BSS_SIZE = 0,REMAIN_SIZE = 0
[00:00:00.100]HEAP_SIZE = 8058592
[00:00:00.100]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~