最近开始弄6455HPI的启动模式,可是手头资料有限,自己理解的是,主机操作DSP的HPIC寄存器,然后向DSP的0x800000中写入程序代码,之后主机在操作HPIC,DSP就会从0x800000的位置启动程序,不知道理解的对不对。
DSP代码需要有哪些配置?需不需要bootloader,或者先在程序中对HPI、EMIF、DMA等进行配置,还是说都是由主机进行配置?
求解呀
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
最近开始弄6455HPI的启动模式,可是手头资料有限,自己理解的是,主机操作DSP的HPIC寄存器,然后向DSP的0x800000中写入程序代码,之后主机在操作HPIC,DSP就会从0x800000的位置启动程序,不知道理解的对不对。
DSP代码需要有哪些配置?需不需要bootloader,或者先在程序中对HPI、EMIF、DMA等进行配置,还是说都是由主机进行配置?
求解呀
基本上是这样的,整个boot过程完全由主机控制,HPI boot是硬件boot, 不需要bootlader代码,具体流程C6455的HPI boot流程见datasheet文档Host boot (BOOTMODE[3:0] = 0001b and BOOTMODE[3:0] = 0111b)章节。
http://www.ti.com/lit/ds/symlink/tms320c6455.pdf
您好,现在有一个问题不是很理解,看datasheet,看到有三个寄存器,HPIA、HPIC、HPID,而选择寄存器是由HCNTL0、HCNTL1、HHWIL控制的。那么当我想配置HPIC时应该怎样做,HPIC的地址是0x2880030?是先配置HCNTL0和HCNTL1为0和0,然后在HOST中向内存地址0x2880030中写入配置信息吗?还是说直接向HOST的0x2880030直接写入数据,HCNTL0与HCNTL1就直接配置正确,而不用单独操作HCNTL0与HCNTL1.
hpi boot 的 流程 可以在 Using the TMS320C6748/C6746/C6742 Bootloader.pdf 这种类似的文档中的 hpiboot中 找到。我想C6000 系列应该 都差不多。
hpi boot的 加载文件 就是 ccs工程 .out文件 用 dspboot.exe 转换成的 bin文件。
用 hpi 实现对 DSP 内部寄存器 控制 时,对 HPIC访问 不需要 知道其地址。
对DSP内部寄存器的访问 hpi首先 是对HPIA 进行访问,写入 希望操作的DSP内部地址,具体是 字地址 还是 字节地址 与HPIC中的设置有关。
然后才是对HPID的访问。
具体的时序关系 可以参考 Technical Reference Manual 中的HPI章节,具体的电气特性参数 可以参考 芯片手册中的 hpi章节
您好,很感谢你的回复,我的QQ是1184246627;我是用FPGA通过hpi加载引导DSP的,但不晓得从哪下手,是先把主机程序转换成十六进制后在用FPGA下载到DSP的0地址吗?
qq187357168,有问题可以上qq来说,论坛上 回复可能不是很及时,抱歉