周工好:<br /><br /> 正在学习ARM.用的是贵司的EASYARM2200开发板。在实验“3.16 外部存储器接口实验1”时有一些疑问,希望能解惑!<br />1。关于SST39VF160的起始地址怎么计算的?<br />2。执行FALSH编程操作时,如<br /> ip=GetAddr(0x5555);<br /> *ip=0xaaaa;<br /> 实际上写的数据是0xaa,为什么要写成0xaaaa?有什么讲究么?<br />3。关于这句:(就是在wordprogram()这个程序段中)<br /> ip=(volatile uint16 *)(FLASH_ADDR|(Addr&0x1FFFFF));<br /> 不理解这句话的含义。我改成*ip=GetAddr(Addr),觉得更好理解,后来我看了你们有一个勘误表也是这么改的,但有一个问题:我执行wordprogtam(0x02,0x55aa),本意是把数据写入0x81000002 地址,但是从存储窗口中观测到实际上是写入到了0x81000004地址,而用ip=(volatile uint16 *)(FLASH_ADDR|(Addr&0x1FFFFF))却是正确的。整糊涂了<br /><br />谢谢! |
|