SDK支持使用GCC、KEIL、IAR进行开发,在使用keil编译的时候,是可以编译通过的。但是到了下载的时候就会发现下载失败。官方的文档其实都有讲使用keil开发怎么下载,但是文档比较分散,稍不注意就漏了哪里没看。这里总结一下要注意的地方:
- keil编译是不会像GCC一样自动拷贝、修改flash_download.ini文件的,因此需要根据《Airoha_IoT_SDK_for_RTOS_Memory_Layout_Developers_Guide.pdf》来修改配置文件。
[Info]
config_version=V0.1
platform=MT7687
project=op01_csfb_dsds
storage=NOR
[Section0]
Name=Loader
BeginAddress=0x00000000
EndAddress=0x00008000
Region=FLASH_LOADER
Location=mt7687_bootloader.bin
ScrambleFlag=FALSE
CRCFlag=FALSE
[Section1]
Name=TargetFW
BeginAddress=0x00010000
EndAddress=0x00079000
Region=FLASH_USER
Location=WIFI_RAM_CODE_MT76X7_in_flash.bin
ScrambleFlag=FALSE
CRCFlag=FALSE
[Section2]
Name=HostFW
BeginAddress=0x00079000
EndAddress=0x00138000
Region=FLASH_USER
Location=mt7687_xip.bin
ScrambleFlag=FALSE
CRCFlag=FALSE
示例中共有三个区域,Loader
、TargetFW
和HostFW
,分别对应bootloader、N9 RAM Code、用户应用程序。最主要的是根据自己的flash大小及规划修改各个Section的地址范围,其次是修改各个Section的Location项目,这个下一点说。
- flash_download.ini文件需要和文件中定义的Location文件在同一目录下,上一点也说了,keil不会自动拷贝这个文件到bin文件的生成目录,因此需要手动拷贝过去。不然即使在Location定义了全局的文件路径,mt76x7-flash-tool也不会识别出来。
- keil只输出用户应用程序,bootloader和N9 ram code是不输出的,因此还要在SDK中找到这两个bin文件并拷贝到flash_download.ini的同一路径下。
- 下载的时候先选好串口、波特率,点"Star"按钮,然后复位芯片!!注意,是复位,不是重新上电!!!
网友评论