最佳答案
关于您提到的hpm6364的FEMC同时使用外接SDRAM和SRAM的问题,我会逐一回答您的问题。
1. 在想读SRAM时,是否直接读取0x48000000+1k内范围地址就可以了?
答:是的,您可以直接读取0x48000000+1k内范围地址来访问SRAM。您的SRAM地址配置为0x48000000UL,大小为1KB(1024字节),所以您可以访问的地址范围是0x48000000到0x48003FFF。
2. 现在读SRAM时经常出现非法指令和非法访问等问题。这样子配置是否正确?
答:根据您的描述,您已经配置了IO口为FEMC接口使用,并且设置了相应的地址范围。但是,您在读取SRAM时遇到了非法指令和非法访问的问题。这可能是由于以下几个原因导致的:
a) 配置错误:请检查您的FEMC配置是否正确,包括时序、地址映射等。确保您已经正确配置了SDRAM和SRAM的参数。
b) 代码问题:请检查您的代码,确保您在读取SRAM时使用了正确的地址和访问方式。例如,确保您没有误将SDRAM的地址用于SRAM的访问。
c) 硬件问题:如果配置和代码都没有问题,那么可能是硬件方面的问题。请检查您的FPGA和SRAM硬件连接是否正确,以及是否有损坏的部件。
建议您首先检查配置和代码,如果问题仍然存在,可以尝试排查硬件方面的问题。希望这些信息能帮助您解决问题。
关于您提到的hpm6364的FEMC同时使用外接SDRAM和SRAM的问题,我会逐一回答您的问题。
1. 在想读SRAM时,是否直接读取0x48000000+1k内范围地址就可以了?
答:是的,您可以直接读取0x48000000+1k内范围地址来访问SRAM。您的SRAM地址配置为0x48000000UL,大小为1KB(1024字节),所以您可以访问的地址范围是0x48000000到0x48003FFF。
2. 现在读SRAM时经常出现非法指令和非法访问等问题。这样子配置是否正确?
答:根据您的描述,您已经配置了IO口为FEMC接口使用,并且设置了相应的地址范围。但是,您在读取SRAM时遇到了非法指令和非法访问的问题。这可能是由于以下几个原因导致的:
a) 配置错误:请检查您的FEMC配置是否正确,包括时序、地址映射等。确保您已经正确配置了SDRAM和SRAM的参数。
b) 代码问题:请检查您的代码,确保您在读取SRAM时使用了正确的地址和访问方式。例如,确保您没有误将SDRAM的地址用于SRAM的访问。
c) 硬件问题:如果配置和代码都没有问题,那么可能是硬件方面的问题。请检查您的FPGA和SRAM硬件连接是否正确,以及是否有损坏的部件。
建议您首先检查配置和代码,如果问题仍然存在,可以尝试排查硬件方面的问题。希望这些信息能帮助您解决问题。
2
举报
-
赵文浩:
感谢您的回答。追问,我使用指针对相应地址读取和写入,在读取语句打断点时,用示波器能抓到NCE有波形,而不打断点,连续读写操作时,NCE没有波形。不知道是否和pmp和pma配置有关。有关系的话我应该如何配置呢
-
赵文浩:
感谢回答。追问,我现在使用指针来读取和写入数据,在读取操作上打断点时,示波器能抓到NCE上有波形。不打断点让它连续运行时,NCE又没有波形。请问是否和pmp配置有关系。