工具/软件:TI-RTOS
您好!
现在、我遇到了另一个问题。
如上一个线程中所建议的那样、我已经将 M4上的 PCIe 配置空间从0x2000_0000重新映射到0xA000_0000。 现在、如果我使用内存浏览器、我可以在地址0xA400_4000处看到远程设备和供应商 ID。 现在、我尝试使用 PCIe LLD 读取这些寄存器。 我使用了以下代码:
pcieRegisters_t myRegs ={0}; pcieVndDevIdReg_t myRemoteCfgDevAndVendorID ={0}; myRegs.vndDevId =&myRemoteCfgDevPrintVendorID; if (RetVal = Pciev1_readRegs (handle、PCIe_location_remote、myepdendorID)=&myRemoteCfrom_remote_remote_remote_remote_eIdPrintVendorID);if (RetVal =(RetVx1) 和 myPCIe_readRegs)读操作失败!"PCIe_readDireLog RetVal=%d\n"、RetVal); } 否则 { Log_print2 (Diags_info、"本地供应商 ID:%x、设备 ID:%x\n"、myRemoteCfgDevAndVendorID.vndId、myRemoteCfgDevAndVendorID.devId); }
我的第一个问题是、我始终为两个 ID 获取0xFFFF。
第二个问题是、当我尝试在地址0xA400_4000处强制读取时、M4崩溃、并在 Linux 控制台中输出以下内容:
[45.094907] OMAP-L3_NOC 44000000.OCP:L3应用程序错误:目标5 mod:1 (不可清除) [45.094920] OMAP-L3_NOC 44000000.OCP:L3调试错误:目标5 mod:1 (不可清除)
为什么我可以在内存浏览器中读取它、但无法读取代码中的值?
此致、
戴维
