CC2538 256K Flash 如何做 Serial Boot Loader
首先你要确保你不加SBL的程序能够在256KB的芯片上运行起来,你可以用固件的icf文件去替换原先的文件。1104.CC2538N23_ZStack.zip
然后你再模仿512K的做法,把SBL加上去。
感谢VV的回复! 我当然不可能在我的程序还没能在 256K 芯片上运行起来就尝试加 SBL,CC2538N23_ZStack.icf 是用于 CC2538 256K 芯片一般运行的,事实上我已经有类似的.icf文件了。但是加 SBL 用的 .icf 跟不加 SBL 用的 .icf 是不一样的,在 ZStack Home 里就有 CC2538.icf 和 CC2538-sb.icf 用于512K芯片一般运行和加 SBL 运行,我比较过这两个文件是不一样的,而我现在缺少的就是 256K 芯片的 CC2538-sb.icf。 如我提问时所说的,我有尝试过将 512K 芯片的 CC2538-sb.icf 修改地址,将0x0027xxxx改为0x0023xxxx,然后按照 512K 的做法将SBL 加上去,但是没有成功。所以我不知道我直接改地址的方式是否是正确的,如果方便,能否提供一个能用于 256K SBL 的 .icf?
直接修改256KB的CC2538.icf文件,把SBL的Flash对应的空间在原先的256K ICF文件里面,划分出来。
是否有参考协议栈里面关于SBL的文档。Serial Boot Loader for CC2538.pdf
已经有参考 Serial Boot Loader for CC2538.pdf,但是如我前面提到的 Serial Boot Loader for CC2538.pdf 是以 512K 为基础介绍的,里面的 Memory Map for SBL on CC2538 也是 512K 的,没有 256K 的 Memory Map。如您所说“把SBL的Flash对应的空间在原先的256K ICF文件里面,划分出来。”,事实上我已经有这么做过了,但是我能想到的做法仅仅是把 512K 的 SBL 地址(0x0027B000~0x0027C7FF) 改为 0x0023B000~0x0023C7FF,而这样的结果是我前面提到的无法正常工作。 我不知道仅仅这样改地址对不对,还是说需要做别的修改,但是我已经想不到该怎么做了,Serial Boot Loader for CC2538.pdf 里没有 256K 的 Memory Map,也没有提到 256K 该怎么做。如果方便,能否直接提供一份可以正常工作的 for CC2538 SBL 的 ICF?谢谢!