alexander123 发表于 2005-8-30 14:16:05

请教版主,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是怎么得来得?

limingth 发表于 2005-8-31 10:18:10

这几个问题我也没仔细研究过,有谁知道的给回复一下吧?
页: [1]
查看完整版本: 请教版主,bootload关于flash操作命令的问题,谢谢