前一个帖子的情况:
自制板,程序(进过在线调试验证运行没有问题)已经按照direct boot教程烧写进nor flash(显示successful)
首先devstat寄存器数值为940D,是spi boot的模式
boot magic寄存器数值为0
各个核的boot addr均为20b00001
用示波器观察spi时钟,频率确实是500khz,但是只有很少的几组时钟,观察spi数据线miso也只有很短一段数据(基本没有)。请问专家这是什么原因导致我的boot失败?
目前:
检测过dspclkout,有稳定输出,
跟踪了pc指针,停留在0x20B084D8
Shine:
请先尝试烧写一下C6678_directROM_boot_examples里的程序,看SPI口能否读取程序?如果例程可以的话,那就要检查是不是转换的文件出问题了。
Zhuoyang ZOU:
回复 Shine:
试过了,现象和自己的镜像一样
Shine:
回复 Zhuoyang ZOU:
devstat寄存器数值为940D,这里Mode设置成了1, Boot parameter Table 里的mode也要设成1,例程里的mode是0,需要改成1试试。Table 2-13 SPI Device Configuration Field Descriptions (Part 1 of 2) www.ti.com/…/tms320c6674.pdf
Zhuoyang ZOU:
回复 Shine:
我改成mode 0,寄存器现在是840d,例程依然上相同现象。然后dsp对spi flash的片选信号很奇怪,一直处于拉高状态。
Zhuoyang ZOU:
回复 Shine:
我再次跟踪了一下spi的上电时钟与数据波形,能够看到dsp发送03h(read flash)指令,接着跟着地址000000(24bit地址),接着发送地址块000000中的第一条参数00 50 00 00也能和dat对上。但是之后就没有第二次读数了,请问为什么会出现这样的问题?是core 0挂了吗?
Shine:
回复 Zhuoyang ZOU:
devstat寄存器数值为940D和Boot parameter Table 里的mode要一致。mode是0还是1要根据您板子的SPI时序来确定。请对照数据手册上的Table 2-13 SPI Device Configuration Field Descriptions (Part 1 of 2)