SPI nor flash boot在钱前辈的帮助下已经搞定,但所用办法与TI员工和TI给的工具说明所说有点出入,请解答,谢谢!
1:说是nor flash可以XIP片内跑,要想搬到RAM里跑的话,需要在烧到flash的程序前加一段搬运程序,搬到RAM中才能在RAM里跑。但实际我成功的经验:用在线仿真器用的程序(cmd中只分配在RAM中即L2,且无搬运程序),转换后直接烧到Flah中,上电,用仿真器能看到指针在RAM中跑,且运行正确,此处为最大疑惑,不需要搬运程序了?
2:TI工具给的写NOR Flash的工具,需要改0x51为0x00,还要改最后生成的.dat为app.bin,第一个不确定改为0x00的原因,第二个改为app.bin反而不好使(折腾了好几天),工具转换的.dat反而能用,不知道为什么?
3:NOR flash肯定可以片内跑,如果想只在片内跑的话,cmd该怎么写?我试了cmd分配在flash好像不行,但不确定操作对不对。
感谢帮忙解答!!
Andy Yin1:
1. Keystone 1 DSP只支持EMIF Norflash XIP,对应SPI nor flash boot,会由RBL完成SPI初始化并将程序搬到RMA执行;
2. 你是在EVM板上测试还是自己设计的板子测试?你说的修改是参考的哪个例子,我们的验证都是基于EVM。
3. 只有EMIF Norflash可以支持XIP。
hh hh:
回复 Andy Yin1:
1.看到论坛上很多人(记得好像也有咱们TI的)都说:SPI NORFLASH需要搬运到L2中运行,被误导了
比如:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/7411.aspx
2.用的就是咱们的开发板,我买了3块EVM6678L,还是LE,忘了,例程是LED那个,跟LED工程没关系。说的是在安装目录下,写nor flash的工具的文件夹里的.txt写的详细步骤,需要将.dat 改成.bin??然后load到DDR中
3.通过你的回复,清楚多了,另外问一下自己的板子,NOR FLASH跟开发板不同,是否什么都不改,可以直接用?多谢!!
hh hh:
回复 Andy Yin1:
1.主要是被误导了
比如:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/7411.aspx
2.是咱们的开发板,我买了3块EVM6678L,还是LE忘了,是LED的例子,但是跟例子没关系,我说的是自带的写nor flash工具的文件夹里的.txt,步骤写的很详细,说是要讲.dat改后缀名为.bin???然后load到DDR中,再运行。
3.现在明白了,但还想问一下,自己的板子,NOR flash型号不一样,什么都不改也能直接用?RBL能通用?谢谢!!
TI中文支持网