请教版主,bootload关于flash操作命令的问题,谢谢
我在看tftp源码中关于flash部分时,有一些疑惑,请斑竹帮忙解释一下了,谢谢!!!!其中在39VF160.C中的SectorErase函数中,有一下代码:
sector += ROM_BASE;
CMD_ADDR0 = 0xaaaa;
CMD_ADDR1 = 0x5555;
CMD_ADDR0 = 0x8080;
CMD_ADDR0 = 0xaaaa;
CMD_ADDR1 = 0x5555;
其中ROM_BASE = 0x1000000|0x4000000 // 80MB
CMD_ADDR0 = *((volatile U16 *)(0x5555*2+ROM_BASE))
CMD_ADDR1 = *((volatile U16 *)(0x2aaa*2+ROM_BASE))
我查看了一下flash手册,看到了扇区擦除的命令序列如下:
Sector-Erase:
5555H AAH
2AAAH 55H
5555H 80H
5555H AAH
2AAAH 55H
SAX4 30H
问题如下:
1. 为什么程序中的CMD_ADDR0的地址中为0x5555*2呢?
2. 操作数据为什么是AAAA而不是手册中的AA?
3. 还有ROM_BASE的地址 0x1000000|0x4000000是怎么得来得? 这几个问题我也没仔细研究过,有谁知道的给回复一下吧?
页:
[1]