关于S32DS SJA1110 SDK创建一个外部调试
SJA1110 SDK默认具有外部调试的能力。
? Existing examples: Debug_FLASH
? New Project: Release
如果从官方例程在导入工程,Debug_FLASH就可以外部flash调试,如果是新建工程,则可以要使用Debug_FLASH和Release。
当加载上面两个条件之一时,调试器将把flash image 的内容编程到external flash(外部闪存)中。复位后,应用程序将被复制到 ITCM 并执行。
Flash image 是在post build阶段,通过调用makefile.targets 生成的。具体S32DS配置如下:
Project Properties -> C/C++ Build -> Behavior -> Build: user_all
Flash image 具体的生成过程如下:
1、S32DS所有项目默认包括fw_header(nvm_metadata_header),其中包含BootRom使用的参数
2、fw_header由链接器放置在文本末尾的专用部分(.nvmImageHeaderSection)。
3、从.elf中生成.bin (在makefile.targets中属于步骤generateBin)
4、后处理.bin将.nvmImageHeaderSection部分移到image的开头(在makefile.targets中属于步骤updataBin)
5、从.bin中生成.elf并将地址更改为外部闪存地址(在makefile.targets中属于步骤binToElf)
6、现在这个.elf就可以加载到外部flash中