|
|
我的APP代码是根据硬汉的混合运行方式,分别存储在MCU内部的ITCM, 内部Flash,以及外部QSPI Flash都有,代码规模也很大,编译后占用Flash 740K, 编译生成的Hex文件有2M多。
现在想基于bootloader进行在线升级,由于对bootloader几乎一无所知,看了论坛几个专题也没看太懂,里面好像涉及的细节太多,有几个疑问想请教各位大佬:
1,想通过SD卡+FATFS+USB,把SD卡模拟成U盘,然后把要升级的APP固件从电脑端拷贝到到SD卡中,直接从SD卡读取这个APP升级,不知道是否可行
2,我看到网上很多例程要么都是把APP全部放到内部flash, 要么就是全部放到外部QSPI中,没有看到分散放置的。
我的代码在keil MDK中是分散放置在各个存储区的,有的放在ITCM,有的放在内部flash,有的放在外部QSPI,这就涉及到多个地址,这种情况下在bootloder如何跳转?
3,以上提到,我的APP固件在MDK中是分散放置的,也就是对每个.c文件都进行了memory分配,所有的文件都有不同的memory区域(ITCM, 内部FLASH,或外部QSPI),那么MDK生成的hex文件中是否包含了这些memory地址分配呢?
我在bootloder中配置时是否还需要对这些文件进行地址分配
以上的问题不知道有没有说清楚,望各位大佬赐教
|
|