TI论坛
直播中

刘莉

7年用户 204经验值
私信 关注
[问答]

关于HPI读写问题

项目中希望使用FPGA 对 DSP 进行HPI BOOT,(DSP 型号为c6748),所以使用了HPI接口,在调试过程中遇到了读写内部地址空间异常的情况。
由于DSP上电顺序为 核心 –> 接口,所以在上电时 无法检测 BOOT PIN状态,所以在上电后,HPI并没有工作(HRDY==1),需要进行上电后对DSP 进行复位,在BOOT PIN 处于 HPI BOOT模式的连接下,复位仅对核心进行复位,这是便可以正确检测到BOOTPIN的状态。
然后对HPIC的操作 均正常,写HPIC 后 清除 HINT 后,对内部地址空间的读写操作均不符合 DATASHEET中的时序,
具体 是 HPID的读写 均符合时序,HPIA的写 并没有在 相应位置 出现 HRDY==1的电平被检测到。
这个可能是由于什么问题造成的?
FPGA端 给出的 各个信号间时序 均严格按照 DATASHEET中的参数进行 约束。
具体测试时序见附件

回帖(4)

刘莉

2018-8-2 07:14:14
整了一周发现 问题的原因了,貌似 跟 HPI BOOT的 相关顺序描述有出入啊
3.2 Host Port Interface (HPI) Boot
HPI boot happens from the HPI0 peripheral in 16-bit mode. The sequence to boot from HPI is listed
below:
• Bootloader interrupts the host by setting the HINT bit, in the HPIC register, to inform that it is ready and
that the host can start loading the application image to device memory.
• Host acknowledges this interrupt by clearing the HINT bit.
• Host loads the application image to device memory and writes application entry point to location
0x11800000 in device memory.
• Host reads back the final word it wrote to device memory to make sure all HPI writes have completed
successfully.
• Host interrupts bootloader by setting DSPINT bit in HPIC register to inform that loading of application
image is complete.
• Bootloader acknowledges host by clearing DSPINT bit.
• Bootloader reads application entry point (written by host) from address 0x11800000 and branches to it.
按照上面的顺序 清除HINT  会导致 无法写HPIA,我不知道是不是我单独出现这种情况,请相关人员进行 验证。
而在进行DSP_RST之后就可以对内部地址空间进行访问
举报

周润艺

2018-8-2 07:31:45
您好,我现在也在学HPI,但是运行自己写的程序老是出错,也不知道是板子的问题还是程序的问题,所以想看一下您的程序可以吗?
举报

周润艺

2018-8-2 07:38:42
你好,我遇到和你一样的问题,但我的hrdy一直低,这是怎么回事啊?
举报

刘莉

2018-8-2 07:56:33
引用: se6238751 发表于 2018-8-2 07:31
您好,我现在也在学HPI,但是运行自己写的程序老是出错,也不知道是板子的问题还是程序的问题,所以想看一下您的程序可以吗?

抱歉,最近 没有怎么上论坛,所以今天才看到你的问题 ,你可以说下 邮箱,我发给你
举报

更多回帖

发帖
×
20
完善资料,
赚取积分