TI中文支持网
TI专业的中文技术问题搜集分享网站

C6655 spi boot的问题

在论坛下了个"Keystone 1 SPI NOR 启动步骤以及注意事项"及例程,在我的板子上使用的是cs1,在烧写flash后,spiboot模式启动,spi时钟正常, 但是观察波形,片选在选择2ms后就拉高了,但是程序好像没有运行起来,下面是spi.map的内容

section {
boot_mode = 50
param_index = 0
options = 1
core_freq_mhz = 1000
exe_file = "simple.i2c.ccs"
next_dev_addr_ext = 0x0
sw_pll_prediv = 1
sw_pll_mult = 10
sw_pll_postdiv = 1
sw_pll_flags = 1
addr_width = 24
n_pins = 5
csel = 1
mode = 1
c2t_delay = 1
bus_freq_mhz = 2
bus_freq_khz = 0
}

顺便问一下,在文档里看到“连接JTAG 读取DEVSTAT 确定boot mode 设置是否正确”,怎么连接?直接在ccs里debug吗?

Allen35065:

对,调试的时候最好能连上JTAG,观察PC指针和其它状态寄存器来确定目前运行的状态。

你自己的板卡是否和EVM设计一样?可以先在EVM上验证步骤没问题再到自己的板卡上测试。

bo lan3:

回复 Allen35065:

不明白,从flash启动后,再一次通过debug的方式连接芯片,这个时候看到的pc指针跟dsp自己boot后的状态不一样吧,我这样试过,spiboot后发现程序没工作,也不知道怎么回事,程序是在小端模式下写的,为了能连接,直接将程序改成大端,debug,观察到pc指针值0x0c007334,这个值能说明之前dsp boot完成了?因为大小端不一样 ,程序运行不起来,停在edma上。

Allen35065:

回复 bo lan3:

连接的时候不要使用gel脚本,不是在异常情况下是可以看到pc指针的;

从你的pc指针位置来看boot应该是已经完成了,你可以在代码里加几个标志来判断,比如进入main的时候写一个固定的地址。

bo lan3:

回复 Allen35065:

之前犯了个错误,没有做debug configeration的选择,所以debug后以为已经boot成功了,一直没找到程序怎么不通的问题,更改debug configeration后,连接查看debug指针处于boot rom,查看devstat,devstat的值为0x11d8c,Parameter Table index的拨码没拨到位,更改后重新上电,bootcomplete pin 状态为高,此时我想再连接的时候,发现怎么都连不上了,

C66xx_0: Error connecting to the target: (Error -1143 @ 0x0) Device core was hung. The debugger has forced the device to a ready state and recovered debug control, but your application's state is now corrupt. You should have limited access to memory and registers, but you may need to reset the device to debug further. (Emulation package 5.1.232.0) 

而只要改回no boot 就可以连接

Allen35065:

回复 bo lan3:

你烧进去的image可能有问题,导致代码会跑飞引起JTAG连不上,先试试用简单的程序烧写,比如用EVM和置顶帖的程序,然后再切换到你自己的程序上。

注意cmd文件的内存定义一定要使用全局地址。

bo lan3:

回复 bo lan3:

已解决,镜像生成也没问题,只是看文档理解错了,生成的小端程序,装换成大端后以为dsp需要工作在大端,这里错了,小端转大端只是转的代码,dsp还是应该工作在小端模式下

赞(0)
未经允许不得转载:TI中文支持网 » C6655 spi boot的问题
分享到: 更多 (0)