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