板子上有eMMC,里面有linux OS,为了防止OS影响到DSP端的裸机代码,我把BOOT模式配置为非eMMC引导,然后CCS那边进DSP代码的调试模式,选择target的时候先选择连接A15_0,成功复位DSP_1,然后加载DSP_1的代码,代码也很加单,就是测试IO口,看看LED能否正常闪烁。观察寄存器的时候发现相应IO口的状态是发生变化了的,单步运行,也能观察到寄存器窗口上IO口状态在跟着改变,但实际上板子上的LED没有变化,偶尔进调试模式能正常点亮LED,但大部分时候不行,只是在寄存器窗口上看到状态变化。
然后仔细看了下5728的技术参考手册,在第14章 互连 那里看到一些信息,对芯片内部外设,有个访问发起者和访问目标的配置问题,所以就产生了一个疑问,上面我提到的问题,是不是必须要配置L3 MAIN interconnect 和L4 interconnect才能让DSP端正常访问外设,是不是在芯片上电,未初始化前,所有外设都只有A15才有完全的访问权限,未初始化就让芯片上除A15外的其它主设备访问外设都会带来问题?
Nancy Wang:
Processor SDK RTOS 中有LED闪烁的代码,该代码适用于A15/DSP/M4。
software-dl.ti.com/…/index_device_drv.html
编译出来调试看一下有没有问题。