项目需要使用蓝牙透传升级MCU固件,MCU使用的是 M453,无奈这芯片到目前我紧紧接触了三天。
仿STM32 IAP升级 写了两个代码。 一个为升级程序 (boot) ,另一个程序为测试程序(APP)。
将M453设置为 APROM 的IAP开启,boot程序烧写到APROM中,boot起始为0x0 ,然后启动boot,这一段是成功的。
boot 实现了将 APP代码烧写到 APPROM的0x5000地址开始的地址,然后跳转到0x5000地址运行APP程序断。这个过程失败了。
boot从PC端的超级终端接收 APP的.bin文件,然后烧写到APROM 的0x5000地址的时候,我查看0x5000地址后面的flash发现并没有成功写进去。
问题:
1. 是不是需要将boot代码烧到LDROM内,设置M453的LDROM 的IAP打开,然后运行boot 将APP烧录到APROM才能实现?(APROM内运行代码的时候,不能修改APROM内的值?)。
2. 如果1的情况属实,那么LDROM空间仅仅有4K,我的boot代码有8k,需要怎样才能解决我如今的问题?
|