[hhweb/elinux/ngw100/dva-anleitung/ngw100-dva.txt] H. Högl, , Dezember 2013 1. NGW100 anstecken a. Netzteil b. Serielle Schnittstelle über USB-RS232 Adapter c. Netzwerkkabel zwischen NGW100 (neben der USB Buchse) und PC 2. Terminalprogramm auf PC starten. Der RS232 Adapter hat in diesem Beispiel den Gerätepfad /dev/ttyUSB. sudo picocom -b 115200 /dev/ttyUSB0 3. Den Reset Knopf auf dem NGW100 drücken und nur einen Sekundenbruchteil später auf die Leertaste des PC drücken. Nun sollte man den U-Boot Prompt sehen: U-Boot 2008.10 (Apr 16 2009 - 10:33:49) U-Boot code: 00000000 -> 00010f98 data: 000178d8 -> 0004e2e8 malloc: Using memory from 0x11f71000 to 0x11fb1000 DMA: Using memory from 0x11f6d000 to 0x11f71000 Flash: 8 MB at address 0x00000000 DRAM Configuration: Bank #0: 10000000 32 MB In: serial Out: serial Err: serial Net: macb0, macb1 Press SPACE to abort autoboot in 1 seconds U-Boot> Die U-Boot Version wird ganz am Anfang ausgeben. 4. Das U-Boot "environment" ausgeben: U-Boot> printenv baudrate=115200 ethaddr=00:04:25:1C:86:9A bootdelay=1 ethact=macb0 eth1addr=00:04:25:1C:86:9B serverip=192.168.1.8 tftpip=192.168.1.8 ipaddr=192.168.1.4 bootargs=root=/dev/nfs nfsroot=192.168.1.8:/nfs/ ip=192.168.1.4:192.168.1.255::255.255.255.0::eth0:off console=ttyS0 bootcmd=nfs 0x10400000 192.168.1.8:/nfs/boot/uImage; bootm stdin=serial stdout=serial stderr=serial Environment size: 370/65532 bytes 5. Jetzt auf dem U-Boot Prompt "ls" eingeben. Damit wird ausgegeben welche Dateien im NOR-Flash Baustein gespeichert sind: U-Boot> ls Scanning JFFS2 FS: ....... done. drwxr-xr-x 0 Tue Apr 17 13:44:05 2007 bin drwxr-xr-x 0 Wed Dec 13 09:29:25 2006 config drwxr-xr-x 0 Tue Apr 24 11:27:48 2007 dev drwxr-xr-x 0 Fri Apr 27 12:54:43 2007 etc drwxr-xr-x 0 Wed Dec 13 09:29:25 2006 home drwxr-xr-x 0 Wed Apr 18 06:11:56 2007 lib lrwxrwxrwx 11 Tue Apr 17 12:53:00 2007 linuxrc -> bin/busybox drwxr-xr-x 0 Wed Dec 13 09:29:25 2006 media drwxr-xr-x 0 Wed Dec 13 09:29:25 2006 mnt drwxr-xr-x 0 Wed Dec 13 09:29:25 2006 proc drwxr-xr-x 0 Thu Apr 26 09:22:46 2007 sbin drwxr-xr-x 0 Wed Dec 13 09:29:25 2006 sys drwxrwxrwt 0 Wed Dec 13 09:29:25 2006 tmp -rw-r--r-- 912671 Fri Apr 27 11:46:36 2007 uImage drwxr-xr-x 0 Fri Apr 27 12:53:47 2007 usr drwxr-xr-x 0 Tue Jan 30 13:53:14 2007 var drwxr-xr-x 0 Tue Jan 30 09:34:59 2007 www -rw-r--r-- 113 Thu Jan 01 00:11:08 2004 .ash_history 6. Falls "ls" die im vorherigen Schritt angegebenen Dateien findet, kann man Linux auf dem NGW100 aus dem NOR-Flash Speicher starten: U-Boot> setenv bootargs console=ttyS0 root=/dev/mtdblock1 rootfstype=jffs2 U-Boot> fsload 0x10400000 /uImage Ausgabe: ### JFFS2 loading '/uImage' to 0x10400000 ### JFFS2 load complete: 912671 bytes loaded to 0x10400000 U-Boot> bootm 0x10400000 Ausgabe: siehe Datei ``_ Am Schluss des Bootvorganges sollte man den Linux root Prompt sehen: ~ # Auf diesem Prompt kann man viele der bekannten Linux Kommandos ausführen, z.B. "ifconfig". Bei meinem Board sehe ich z.B. dass eth0 die IP Nummer 10.11.12.1 hat. 7. Booten von MMC/SD Karte Getestet habe ich mit U-Boot 2008.10 eine 64 MByte **Multimedia** Karte. Bei der Karte wurde vorher mit fdisk eine bootfaehige Partition angelegt (/dev/sdb1), danach mit mkfs.ext2 ein ext2 Filesystem initialisiert. Das Root Filesystem ist ngw100-atmel-3.0.tar.gz (ca. 10 MByte gross). Es ist zu pruefen, ob U-Boot 2008.10 auch groessere MMC/SD Karten, z.B. mit 1 GByte oder mehr ansprechen kann. Es sieht so aus, als ob man 1 GByte SD Karten nicht damit verwenden kann. U-Boot> setenv bootargs console=ttyS0 root=/dev/mmcblk0p1 rootfstype=ext2 rootwait U-Boot> mmcinit mmc: command 55 failed (status: 0x00100025) Manufacturer ID: 01 OEM/Application ID: 0000 Product name: IFX064 Product Revision: 2.1 Product Serial Number: 404564512 Manufacturing Date: 01/07 CSD data: 480e012a 0ff981e9 f6da01e1 8a4000c1 CSD structure version: 1.1 MMC System Spec version: 2 Card command classes: 0ff Read block length: 512 Supports partial reads Write block length: 512 Does not support partial writes Supports group WP: 2 Card capacity: 64225280 bytes File format: 0/0 Write protection: mmc: Using 6144 cycles data timeout (DTOR=0x46) .U-Boot> ext2ls mmc 0:1 / ........ 1024 . .... 1024 .. .... 1024 opt .... 1024 var .... 1024 root .... 14 .applied_patches_list .... 1024 dev .... 1505221 uImage .... 1024 lib .... 1024 usr .... 1024 sbin .... 1024 tmp .... 1024 etc .... 1024 mnt .... 1024 home .... 2048 bin .... 1024 www .... 1024 proc .... 1024 sys .... 1024 boot .... 1024 config U-Boot> ext2load mmc 0:1 0x10400000 /boot/uImage (viele Punkte werden ausgegeben) ........................................................................................................................................................................................................... 1505221 bytes read U-Boot> bootm ... der Kernel bootet, siehe ngw100-bootmsg2.txt Am Ende des Bootvorganges Welcome to Buildroot ngw.example.net login: root Einloggen mit root/roota. Die rote "heartbeat" LED schlaegt wie ein Herz. -------- Einschub: MMC Karte beschreiben -------- ACHTUNG: Der Schalter an der Karte muss auf Schreiben+Lesen stehen! sudo fdisk /dev/sdX, ... Primaere Partion anlegen (Linux), Partition bootfaehig machen, danach mit mkfs.ext2 formatieren. Danach muss es eine Partition /dev/sdX1 geben, X steht z.B. fuer 'b'. ------------------------------------------------- U-Boot Versionen ---------------- * sehr alt: U-Boot 2008.10 (Apr 16 2009 - 10:33:49) * aktuell: U-Boot 2010.09 (Apr 13 2011 - 13:52:39) Links ------ - Hier sind die neu (Dezember 2013) zusammengestellten wesentlichen Dateien, die man zum Entwickeln mit NGW100 (AVR32) braucht (zum Login verwendet man rtlabor/rtlabor): https://elk.informatik.fh-augsburg.de/pub/rtlabor/ti-versuche/ngw100/ - Material zur Veranstaltung Embedded Linux mit NGW100 (aus der Zeit 2008-2011) https://elk.informatik.fh-augsburg.de/pub/rtlabor/elinux/ngw100/ ..Siehe auch TempGit/elinux/ngw100