Atmel NGW100 javítása, firmware upgrade
A panelen 3 fájlrendszer van elrejtve.
- U-boot bootloader: Ez felelős a rendszer beindításáért. Segítségével indíthatjuk sd kártyáról is rendszert.
- Root fájlrendszer ( / )
- A beágyazott Linux /usr partíciója.
Javításra, frissítésre több lehetőség is van.
- JTAG kábellel
- TFTP-n keresztül
- SD kártyáról
- Meglévő rendszerről (abban az esetben, ha be tudjuk indítani)
Ha a bootloader működik, akkor a legbiztosabb megoldás az SD kártyáról történő rendszerindítás, majd onnan frissítés.
Bootloadert elérjük, ha a RESET gomb megnyomása után 1 másodpercen belül megnyomjuk a space billentyűt.
U-Boot>
U-Boot> askenv bootcmd
Please enter 'bootcmd':mmcinit; ext2load mmc 0:1 0x10400000 /boot/uImage; bootm
U-Boot> askenv bootargs
Please enter 'bootargs':console=ttyS0 root=/dev/mmcblk0p1 fbmem=600k rootwait
U-Boot> boot
A fenti parancsokat beírva az SD kártyán lévő /boot/uImage kernellel bebootol. Ez a trükk akkor is működik, ha behalt a deszkán lévő kernel.
Letöröljük a NAND flashek tartalmát:
~# flash_eraseall /dev/mtd3
~# flash_eraseall /dev/mtd1
Majd rátöltjük a root & usr image fájlokat:
~# dd if=/ngw_jffs2_root.img of=/dev/mtd1 bs=1024
~# dd if=/ngw_jffs2_usr.img of=/dev/mtd3 bs=1056
Ha valami oknál fogva elállítódott volna az U-boot beállítása és nem a belső nand flashről akarna bootolni, a következő parancsokkal lehet rendesen beállítani:
U-Boot> setenv bootcmd 'fsload boot/uImage;bootm'
U-Boot> saveenv
U-Boot> boot
Ha azt szeretnénk, hogy alapértelmezetten az sd kártyáról bootoljon, akkor a következő parancsok kellenek:
U-boot> askenv bootcmd
Please enter 'bootcmd': mmcinit; ext2load mmc 0:1 0x10300000 /uImage; bootm 0x10300000
U-boot> set bootargs 'console=ttyS0 root=/dev/mmcblk0p1 rootwait'
U-boot> saveenv
Hasznos linkek a témában: