在IAR下通过Jlink将程序直接下载到Flash指定地址
用IAR直接下载.out文件到Flash中:
.out文件在工程文件夹的exe文件夹下,体积比较大,能比.hex或.bin大十倍以上。
在DFU配置的工程下(左上角下拉菜单可选DFU 还是FLASH),菜单栏Project->Download->Download file… 可以下载.out文件到芯片中。
具体下到哪,在工程上点右键->linker->edit,这里可以设置中断向量表(VectorTable)和程序存放地址(Memory Regions)。IAP程序(相当于bootloader)中断向量表设在0x08000000程序起始地址设为0x08000044(多出来的0x44用来放大小为0x40的向量表);普通用户程序(被引导的)分别设为:0x08003000,0x08003000。
本人亲测,先将自己的程序下到0x08003000开始的区域,再将William给的DFU.out下到IAP区(0x08000000),重启两次后可以正确引导运行,而且原来进DFU模式的按钮生效。
另外,貌似用Download and Debug 按钮下载时只有设置成0x08000000才能调试。