Keystone 1 SPI NOR 启动步骤以及注意事项

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Keystone 1 SPI NOR 启动步骤以及注意事项

1.DSP启动的Rom Bootloader(RBL)只接受Boot table文件格式,编译生成的elf或

者coff(.out)文件需要转换成boot table格式才能使用,转换工具为hex6x,所在

目录一般为C:\ti\ccsv6\tools\compiler\c6000_7.x.xx\bin

rmd文件是hex6x的输入,格式一般为

一般只需更改输入out和输出的btbl文件的名字和路径,支持绝对路径和相对路

径,length需根据用户使用的memory的大小进行相应的调整,只要长度大于用户

使用的空间即可。起始地址0x0C000000无需更改为用户地址,不影响结果。

多核启动代码应分别使用hex6x生成对应的btbl文件格式,然后使用mergebtbl进

行合并。

2.

源代码可以在C:\ti\mcsdk_2_01_02_06\tools\boot_loader\ibl\src\util\btoccs里找到。

3.使用b2ccs工具将第2步生成的i2c文件转换成CCS可识别的ccs文件

4.使用Romparse工具将第3步生成的ccs文件和spi启动的参数合并生成s,

romparse的源代码C:\ti\mcsdk_2_01_02_06\tools\boot_loader\ibl\src\util\romparse,此处注意按照自己的SPI NOR的模式修改spi.map文件,比如片选信号。

在s里修改如下图对应位置的51为00

5.使用byteswapccs工具将s 转换成大端,RBL只工作在大端模式下,因此,

如果需运行在小端模式下,编译生成的小端格式的文件需进行转换。如果编译时使用了大端模式配置并将运行在大端的DSP下,可以直接将s更名成第6步需要的文件名。

6.使用SPI NOR writer在CCS下将文件写入NOR flash,SPI NOR writer的文件在

mcsdk_2_01_02_06\tools\writer\nor\evmc6670l目录下,需要注意该烧写器代码仅对应EVM板,用户自己使用的NOR flash参数和DSP的参数可能与EVM不一致,需要修改重新编译才能使用,不同的EVM板对应的platform源文件在

C:\ti\pdk_C66xx_1_1_2_6\packages\ti\platform\evmc6657l\platform_lib\src目录下。

根据NOR writer的说明文档进行操作即可,注意writer需要的bin文件格式无需通过转换得来,第5步的文件改名放在对应位置即可。

7.烧写完成以后,将boot模式置于SPI NOR flash启动,如不成功,可考虑按下述方

式检查

a.确定DSP是否正常启动,测量SYSCLKOUT管脚是否稳定输出时钟信号,连

接JTAG读取DEVSTAT确定boot mode设置是否正确;

b.连上JTAG后可检查PC指针的值看是否仍停留在RBL(0x20B0000)还是已

经进行用户代码

c.测量SPI线上时钟是否稳定;

d.使用JTAG读取SPI ROM内容并与写入的数据比较检查是否正确;

e.如果修改了spi.map的时钟,修改回低速率时钟再做测试。

f.多核启动每个核的cmd文件务必使用全局地址0x1x8xxxxx而不是本地地址

0x008xxxxx,因为ROM的读取和写入都由core 0完成,使用本地地址无法

找到对应的写入地址。

g.DDR3必须初始化之后才可使用,如果使用DDR的内存作为boot段需考虑

使用二次Boot,二次boot可以参考

C:\ti\mcsdk_2_01_02_06\tools\boot_loader\examples\srio\srioboot_ddrinit的

代码。

h.如仍有问题,请到deyisupport多核论坛提出,请将上述步骤中测试的结果

都描述清楚,有助于快速定位问题。

文中实例可在附件SPI_Bootloader.7z查看。

相关文档
最新文档