我用的MCU是MSP430F5438A,现在想实现的功能是,程序运行期间使用串口将新的固件接收过来先放在一个spi的flash中,重启的时候讲spi程序搬运到rom里边。实现远程固件升级。做两个程序,一个是类似BootLoader的,上电后先运行这个,检查是否有新固件在flash中需要搬运的,如果有,搬运过来然后程序跳到用户地址开始执行。
这样的功能不知道TI有没有现成的例子?
如果没有应该怎么做,我要传输的固件文件是不是TXT格式的,用IAR编译出来的TXT格式。
如果是如何设置这个文件在rom的位置,还有BootLoader程序如何调整。
yang zheng4:
另外,我现在编译出来的txt文件280k左右了,如果真的是传输这个文件那我为了做这个功能岂不是还得专门贴一个flash片子上去,用来专门存储新固件。
还有一个问题,txt文件的@后边的数字是不是程序的起始地址,这个再iar里边那里设置呢。
灰小子:
回复 yang zheng4:
5438A只有256kB的闪存空间,你的程序太大了,建议换更大闪存的msp430
yang zheng4:
回复 灰小子:
不是这样的,这个只是编译出来的hex文件这么大,不是说他就占用这么大的rom。
真正的占用空间如下,map文件里边有:
灰小子:
回复 yang zheng4:
ccs下可以参考https://wenku.baidu.com/view/32e61bcd2e3f5727a4e96254.html
iar下参考https://wenku.baidu.com/view/d412630ab52acfc789ebc9e5.html
yang zheng4:
回复 灰小子:
升级文件是txt文件吗。之前我们用stm32的时候下载的是bin文件,现在呢?另外 MSP430F247单片机,而我使用的是MSP430F5438A,flash启动地址上有区别吗
yang zheng4:
回复 灰小子:
另外,5438A的code地址是-P(CODE)CODE=5C00-FF7F,10000-45BFF
那么我boot程序擦除的话如何操作 10000-45BFF的页地址是多少呢
TI中文支持网





