您好,使用CCS3.3访问5416,memory视窗仅能出现0x0~0xFFFF,之后的地址无法访问,此时如果我想观察外存SDRAM中的数据,假设SDRAM访问地址为0x48000,XPC也等于4,通过代码访问也是无效数(0xFF),请问这样操作是否正确,如果不正确有没有参考方法。参考TMS320VC5416的外存地址访问方法。(暂时不考虑硬件问题,就从软件访问上,存不存在什么纰漏)
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.
您好,使用CCS3.3访问5416,memory视窗仅能出现0x0~0xFFFF,之后的地址无法访问,此时如果我想观察外存SDRAM中的数据,假设SDRAM访问地址为0x48000,XPC也等于4,通过代码访问也是无效数(0xFF),请问这样操作是否正确,如果不正确有没有参考方法。参考TMS320VC5416的外存地址访问方法。(暂时不考虑硬件问题,就从软件访问上,存不存在什么纰漏)
我看手册上说访问超过0xFFFF地址时,会自动生成外部存储访问信号,在进行这个操作以前,相关配置如PMST寄存器,还需要什么操作吗?
只要访问的是外部memory,都会自动生成访问信号。访问0x48000这块program space需要XPC=4
您可以尝试手动在ccs memory里往0x48000写数据,看是否能写入。如果不行的话,运行一下读写代码,用示波器量一下读写时序,看是否和外接SDRAM的读写时序匹配。
如果能通过代码正确读写,但CCS显示不出来,可以使用下面方法之一。
1. 看一下gel文件里的 GEL_MapAdd 有没有把0x48000这块memory设置成可读写。
2. CCS->Option->Memory Map...把0x48000这块memory设置成 "RAM"。
在阅读gel文件(来自于ccs3.3安装环境中的C5416.gel)中
其中确实没有0x48000对应的存储,但是我在使用CCS3.3环境过程中,memory视窗仅能出现地址0x0~0xFFFF中的数据,在加载cc\gel\C5416.gel文件后,尝试使用memory视窗去观察0x18000,仍然只能观测到0xFFFF,这点本身就很奇怪。
我按照您说的方法2打开Memory Map,打算添加0x48000这块地址,但是发现其实RAM已经添加了,但是不清楚是什么原因导致的,仅识别为0x80-0xFFFF,我是用的代码来自CCS3.3安装环境中提供的...\examples\dsk5416\csl\mcbsp\mcbsp1示例代码
您再帮忙看看这个问题是因为哪方面因素造成的?如果在没加装外存的条件下,去访问超过0xFFFF的地址应该也是可以的。您可以认为我没接外存,但是应该会预留超过0xFFFF的地址才对。