以MSP430F5438A为例,它的Flash大小为512KB,分为Bank A ~ D,共四个区块。
现在有V1~V4共4个版本的代码,想要分别存放到Bank A ~ D。
MSP430是统一编址的,Flash的地址空间为0x00005c00 ~ 0x00045bff。
所以Bank A ~ D对应的地址空间分别为:
0x00005c00 ~ 0x00015bff
0x00015c00 ~ 0x00025bff
0x00025c00 ~ 0x00035bff
0x00035c00 ~ 0x00045bff
我们知道,CCS在编译代码时,默认将程序空间从Bank A即0x00005c00 地址开始存放。
对于V1~V4的四个版本的代码,V1可以通过编译直接放到默认的Bank A区间。
但是V2~V4三个版本,要如何处理,才能将程序空间分别置于Bank B ~ D区间呢?
这样的情况你最好是编写一个BOOT程序,判断版本号,然后由BOOT程序跳到各个地址。
编译的时候可以改 CMD文件来更改FLASH地址
感谢楼上的回复!
能详细说明一下如何“编译的时候可以改 CMD文件来更改FLASH地址”吗? 本帖最后由 darkduck 于 2014-12-1 11:27 编辑