Hey all,
I'm having a bit of trouble writing to certain addresses using uboot. I've tried:
- Doing a tftp followed by a cp.b. After the cp.b, everything is still 0 bytes
- Doing a manual mm.l and inputting values manually. The values seem to stay around temporarily but booting a kernel or resetting the device wipes them.
- Doing a mw.b 0x9f024000 0xff 0x8000. If I extend the write to one more byte, everything becomes 0x00 again.
- I've also tried doing an erase which doesn't seem to clear the data:
Dragonfly> erase 0x9f020000 +0x10000
Erase Flash from 0x9f020000 to 0x9f02ffff in Bank # 1
First 0x2 last 0x2 sector size 0x10000 2
Erased 1 sectors
Maybe there is something I'm missing?
Dragonfly> printenv
bootargs=console=ttyS0,115200 root=31:03 rootfstype=squashfs init=/sbin/init mtdparts=ath-nor0:128k(u-boot),192k(config),768k(kernel),7040k(rootfs),64k(art)
bootcmd=bootm 0x9f050000
bootdelay=1
baudrate=115200
ethaddr=<removed>
ipaddr=192.168.1.1
serverip=192.168.1.10
dir=
lu=tftp 0x80060000 ${dir}u-boot.bin&&erase 0x9f000000 +$filesize&&cp.b $fileaddr 0x9f000000 $filesize
lf=tftp 0x80060000 ${dir}ap152${bc}-squashfs&&erase 0x9f120000 +$filesize&&cp.b $fileaddr 0x9f120000 $filesize
lk=tftp 0x80060000 ${dir}vmlinux${bc}.lzma.uImage&&erase 0x9f020000 +$filesize&&cp.b $fileaddr 0x9f020000 $filesize
stdin=serial
stdout=serial
stderr=serial
ethact=eth0
Environment size: 676/65532 bytes
The 0x00 gaps seem to be around 0x4000 bytes in size such as 0x9f024000-0x9f027fff, 0x9f02c000-0x9f02ffff, etc. Some of them are in the kernel sector so i can't flash a kernel.