微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > CC2538 256K Flash 如何做 Serial Boot Loader

CC2538 256K Flash 如何做 Serial Boot Loader

时间:10-02 整理:3721RD 点击:
从TI网站下载的Z-Stack Home 1.2.2协议栈,里面有一个介绍 SBL的文档“Serial Boot Loader for CC2538.pdf”,但是这份文档是以512K Flash为基础介绍的。 我按这份文档介绍在512k Flash 的 Demo 板上试验是能成功的,可是我们现在项目中用的 CC2538 是256K Flash 的,但是我现在完全找不到跟256K Flash 相关的介绍,Options的设置以及CC2538-sb.icf都是以512K Flash来的。 我曾尝试过将所有0x0027xxxx的地址改为0x0023xxxx,但是这样编译出来的Sample.bin和Boot.bin烧录到板子上板子根本工作不起来。我也不知道是 Options 设置不对还是 .icf 文件改的不对,还是说256K Flash根本不能 SBL,哪位知道的大神麻烦告诉我,CC2538 256K Flash到底能不能做 SBL,如果可以,要怎么做呢?谢谢!

首先你要确保你不加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?谢谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top