小端spi boot已经通了,但是大端起来地址不在0x20b,而是在0x0087.。。。的查看SPI 的寄存器配置,全是0. 请大神指导
Shine:
我们的boot例程都是基于小端的。
RBL默认是大端模式,如果应用程序是小端模式,看一下是否用Bootconvert6x转换成大端格式。
Jack song:
回复 Shine:
感谢Shine,
我小端模式下多核boot已经调通,但是要求跑大端工程。
1.我调试时,按理就不需要在进行小端到大端的转换;
2.大端模式下烧写到nor flash后,把拨码开关SW3-SW60011 0000 0010 1000,此时connect DSP Core0,如果boot不成功应该PC 停在0x20b开头的地址(32位),但是现象时PC 停在 0x0087开头的地址(32位),查看Spi相关的寄存器全是0.请您再给指导,非常感谢!
Shine:
回复 Jack song:
请看一下Device Status Register寄存器的值,看是否SPI boot mode以及LENDIAN是否是大端模式。
Jack song:
回复 Shine:
Shine下午好,
一、 按照你的指导,在配置“大端”模式下拨码开关如下:SW6SW5SW4SW3开关4321432143214321序号0001010000001100开关数值,0对应ON,1对应OFF。
上电后读取Device Status Register 值为:0x0000080A,这个值与拨码开关的数据不匹配。二、对比大端模式,配置小端模式,拨码开关的值为:SW6SW5SW4SW3开关4321432143214321序号0001010000001101开关数值,0对应ON,1对应OFF。
上电后读取Device Status Register 值为:0x0000140D,这个值与拨码开关的数据能够匹配。停在boot阶段的0x20b开头地址。三、在大端模式下,调整拨码开关SW3的234 码位位为任何值,SW4,SW5,SW6 码位的值同上。上电后,读取evice Status Register 值为:0x0000080A,与码位的值不匹配,connec core0 PC 停在0x008012C4.
上述是我测试情况,每次都是掉电上电的结果。请Shine给予指导,非常感谢!
D XL:
关注学习
user4596482:
回复 Shine:
方法基本可行
user6068092:
RBL默认是大端模式,如果应用程序是小端模式,看一下是否用Bootconvert6x转换成大端格式
user6068092:
请看一下Device Status Register寄存器的值,看是否SPI boot mode以及LENDIAN是否是大端模式
user6068093:
大端模式下烧写到nor flash后,把拨码开关SW3-SW6 0011 0000 0010 1000,此时connect DSP Core0,如果boot不成功应该PC 停在0x20b开头的地址(32位),但是现象时PC 停在 0x0087开头的地址(32位),查看Spi相关的寄存器全是0.
user4857449:
回复 Shine:
感谢