主题中讨论的其他器件:HALCOGEN
我正在使用由 Halcogen 4.07生成的 EMIF 代码来访问 SDRAM。
我使用以下代码写入存储器位置并从存储器位置回读。 只需使用下面的代码即可正常工作。 我可以读回写入存储器位置的内容。
unsigned short * SDRAM =(unsigned short *) 0x8000000;//请参阅 BLoader 存储器映射以获取 RAM unsigned short 回读[3]中的地址引用; *(SDRAM + 0)=(unsigned short) 0xA5A5; *(SDRAM + 1)=(unsigned short) 0xc5b5; *(SDRAM + 2)=(unsigned short) 0xc5c5; *(readback + 0);*(readback + 0) readback [1]=*(SDRAM + 1); readback [2]=*(SDRAM + 2);
但是、当我将上述代码更改为下面的代码时、我无法从存储器位置回读。 我从存储器位置的回读将为"0xA500"、"0xB500"和"0xC500"。 此外、如果我在调试窗口中使用内存浏览器查看内存位置、我只会在 这两种情况下看到"0xA500"、"0xB500"和"0xC500"。 是否有人知道会发生什么? 我的目的是使用循环来填充每个字节并逐一读回它、以确保我可以完全访问 SDRAM。 任何帮助都将得到满足! 谢谢。
unsigned short * SDRAM =(unsigned short *) 0x8000000;//请参阅 BLoader 存储器映射以获取 RAM unsigned short readback 中的地址引用[3]; unsigned short newTempVar; newTempVar = 0; *(SDRAM + 0)=(unsigned short) 0xA5A5; *(SDRAM + 1)=(unsigned short) 5b5; *(unsigned c5 + 0xb5) readback [0]=*(SDRAM + 0); readback [1]=*(SDRAM + 1); readback [2]=*(SDRAM + 2);

