703N 更换8M flash教程
通过网上教程,顺利把703N刷入openwrt 4M固件。
703N标配为4M+32M,为了能够更好玩openwrt,需要升级为8M+64M,更换64M的RAM很顺利,吹下32M然后换上64M即可,RAM型号为hy5du121622。,换8M flash还真花了我不少时间。8M flash型号为25q64,
先把4M flash从板上焊下,然后用SPI flash 烧录器把固件备份到电脑,命名为703N_4M.bin,把此固件通过SPI flash烧录器写入8M的Flash中,再把这个Flash焊在板上。
上电,一切OK,但是无线就是不能起来,开始认为无线配置出了问题,修改了N次配置都不行。后来更新了各种各样的固件,无线仍无法启用,最后甚至还怀疑硬件出了问题。不过后来把4M flash重新焊在板上,无线可以起来了,硬件问题被排除。
网上有网友说有可能是mac地址丢失,需要修改MAC地址,修改以后还是无法使用。后来才从一位网友得知,使用 4M和8M flash时,要求art存储地址不一样,如果使用4M的flash art存在地址0x3f0000,而8M的flash art存在地址0x7f0000.
怎么才能把art从0x3f0000挪到0x7f0000呢?
1. 可以使用uboot进行烧录,这种方法没有去试验
2. 使用SPI flash烧录器把art写入8M flash。
由于手中有SPI flash烧录器,因此采用了第二种方法
使用winhex打开所备份的703N_4M.bin, 然后新建一个703N_8M.bin文件,先把703N_4M.bin拷贝到703N_8M.bin 的0x000000地址中,长度为4M,再从703N_4M.bin的地址0x3f0000拷贝长度为64K文件到703N_8M.bin的0x7f0000地址中,这样生成的文件就在相应的位置有art了。
最后把703N_8M.bin写入8M flash,再把这个flash焊在板上即可。
分析:
1. 更新固件不会更新art和uboot
2. 固件不会有4M或者8M之分,但如果固件大小超过了4M,必须使用8M的flash。
3. uboot能够自动识别4M或是8M flash。但要求:
当使用4M flash时, art 存在地址为0x3f0000,长度为64K连续空间中
使用 8M flash,art存在0x7f0000,长度为64K连续空间中。
4. 不管是4M还是8M flash boot的起始地址相同
5. Flash中的空间分配,
/root$ cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00010000 "u-boot"
mtd1: 000da32c 00010000 "kernel"
mtd2: 006f5cd4 00010000 "rootfs"
mtd3: 004b0000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 007d0000 00010000 "firmware"