Arietta G25: Unterschied zwischen den Versionen

Aus FabLab Region Nürnberg
(→‎Blink: Einfache Blinky Anwendung)
(Kategorie)
 
(21 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox Ding
{{Infobox Gerät
|Foto = ARIETTA-G25.jpg
|Foto = ARIETTA-G25.jpg
|Status = gruen
|Hersteller = [http://www.acmesystems.it/ ACME Systems]  
|Schöpfer = [http://www.acmesystems.it/ ACME Systems]  
|Typ = Arietta G25
|Status = gelb
|KlasseE = gruen
|KlasseK = gruen
}}
}}


Das '''Arietta G25''' Board ist ein SoC ARM9@400MHz. Es ist aufgrund seiner Größe (25x53mm) und Preises von 20€ bzw. 30€ interessant.  
Das '''Arietta G25''' Board ist ein SoC ARM9@400MHz. Es ist aufgrund seiner Größe (25x53mm) und Preises von 20€ bzw. 30€ interessant.
 
Momentan ist das Lab selbst nicht im Besitz eines dieser Geräte. Einige Mitglieder z.B. [[Benutzer:juewei|Jürgen]], [[Benutzer:Mose|Mose]], [[Benutzer:Klaus|Klaus]] und [[Benutzer:Schimmi|Schimmi]] besitzen eines, welches ggf. auf Anfrage genutzt werden könnte. Deshalb ist der Gerätestatus aktuell "eingeschränkt nutzbar".


== Linksammlung ==
== Linksammlung ==
Zeile 14: Zeile 19:
* [http://www.acmesystems.it/power_consuption Stromaufnahme]
* [http://www.acmesystems.it/power_consuption Stromaufnahme]
* [https://github.com/jnweiger/ws2812_sprites/tree/master/arietta Jürgen's LED Spielplatz]
* [https://github.com/jnweiger/ws2812_sprites/tree/master/arietta Jürgen's LED Spielplatz]
== SD-Card Image ==
Im Unterschied zum Board wie z.B. dem RaspberryPi gibt es für Arietta kein fertiges SD-Image, welches mit Programmen wie DD oder Win32DiskImager einfach auf die Karte geschrieben werden kann. Von ACME gibt es lediglich diese [http://www.acmesystems.it/binary_repository Anleitung], welche aber mit einem Windows System nicht durchführbar ist. Aus diesem Grund haben wir ein fertiges Image erstellt, welches einfach auf die SD-Karte geschrieben werden kann und anschließend bootfähig ist.
[https://db.tt/nhUWnRJO Release-ACME-Systems_140830.zip]
== HowTos ==
* [[Arietta_G25/howto-kernel|Kernel kompilieren]]
* [[Arietta_G25/Image_erstellen|SD-Card Image erstellen]]
* [[Arietta_G25/GPIO_Kernel_IDs|GPIO auf der Shell]]
* [[Arietta_G25/WiFi|WLAN Modul konfigurieren]]
* [[Arietta_G25/Blinky|Blink Beispiel mit Python]]
* [[Arietta_G25/Feste_MAC_auf_usb0|Feste MAC auf usb0]]


== Debug Port Interface ==  
== Debug Port Interface ==  
Zeile 33: Zeile 53:
|}
|}


=== Software ===
=== Einstellung Terminalemulator ===


115200 Baud 8N1 nofc
115200 Baud 8N1 no-flowcontroll


== HowTos ==
=== Bootvorgang ===


http://wiki.fablab-nuernberg.de/w/Ding:Arietta_G25/howto-kernel
Mit einem USB-Serial-TTL-Adapter kann man am Debug Port (DP) ein Terminal anschließen und den Bootvorgang beobachten. Nach erfolgreichem Bootvorgang dient der DP als Serielle Konsole /dev/ttyS0.


=== GPIO Kernel IDs ===
==== Fehler beim SD-Card-Zugriff ====


Kernel IDs
'''Bootversuch ohne/fehlerhafter microSD-Card bringt lediglich folgende Meldung'''


{| class="wikitable"
  RomBOOT
|-
! PINNAME !! Offset !! Pin-Nr !! KERNELID
|-
| PA0 || 0 || 0 || 0
|-
| PA1 || 1 || 1 || 1
|-
|colspan=4| ...
|-
| PB0 || 32 || 0 || 32
|-
| PB1 || 32 || 1 || 33
|-
|colspan=4| ...
|-
| PC0 || 64 || 0 || 64
|-
| PC1 || 64 || 1 || 65
|-
|colspan=4| ...
|-
| PD0 || 96 || 0 || 96
|-
| PD1 || 96 || 1 || 97
|-
|colspan=4| ...
|}


<nowiki>
'''Bootversuch mit microSD-Card, aber fehlendem Kernel: (d.h. der Chip hat einen "minimal loader" im ROM)'''
root@arietta:~# echo <KERNELID> > /sys/class/gpio/export


root@arietta:~# ls -al /sys/class/gpio/pio<PINNAME>/
  RomBOOT
total 0
 
drwxr-xr-x 3 root root    0 Jan  1 02:52 .
 
drwxr-xr-x 4 root root    0 Jan  1 02:46 ..
  AT91Bootstrap 3.6.2-00093-g42874ee (Tue Jun 17 15:52:22 CEST 2014)
-rw-r--r-- 1 root root 4096 Jan  1 02:52 active_low
 
lrwxrwxrwx 1 root root    0 Jan  1 02:52 device -> ../../../fffff400.gpio
  1-Wire: Loading 1-Wire information ...
-rw-r--r-- 1 root root 4096 Jan  1 02:52 direction
  1-Wire: ROM Searching ... Done, 0x0 1-Wire chips found
-rw-r--r-- 1 root root 4096 Jan  1 02:52 edge
 
drwxr-xr-x 2 root root    0 Jan  1 02:52 power
  WARNING: 1-Wire: No 1-Wire chip found
lrwxrwxrwx 1 root root    0 Jan  1 02:46 subsystem -> ../../../../../../../class/gpio
 
-rw-r--r-- 1 root root 4096 Jan  1 02:46 uevent
  1-Wire: Using defalt value SYS_GPBR2: 0x0, SYS_GPBR3: 0x7fff
-rw-r--r-- 1 root root 4096 Jan  1 02:52 value
 
  SD/MMC: Image: Read file zImage to 0x22000000
  SD: Card Capacity: High or Extended
  SD: Specification Version 3.0X
  *** FATFS: f_open, filename: [zImage]: error
  SD/MMC: Failed to load image


root@arietta:/sys/class/gpio# echo <KERNELID> > unexport
==== Beispiel eines geglückten Boots ====
 
<div class="mw-collapsible-content">
root@arietta:/sys/class/gpio# ls -al /sys/class/gpio/pio<PINNAME>/
   RomBOOT
ls: cannot access pio<PINNAME>/: No such file or directory
    
</nowiki>
    
 
   AT91Bootstrap 3.6.2-00093-g42874ee (Tue Jun 17 15:52:22 CEST 2014)
 
    
 
   1-Wire: Loading 1-Wire information ...
=== WiFi ===
   1-Wire: ROM Searching ... Done, 0x0 1-Wire chips found
 
    
<nowiki>
   WARNING: 1-Wire: No 1-Wire chip found
root@arietta:~# lsusb
    
Bus 001 Device 002: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
   1-Wire: Using defalt value SYS_GPBR2: 0x0, SYS_GPBR3: 0x7fff
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 
root@arietta:~# iwconfig
lo        no wireless extensions.
usb0      no wireless extensions.
sit0      no wireless extensions.
wlan0    IEEE 802.11bgn  ESSID:off/any
          Mode:Managed  Access Point: Not-Associated  Tx-Power=0 dBm 
          Retry short limit:7  RTS thr:off  Fragment thr:off
          Encryption key:off
          Power Management:off
 
root@arietta:~# vi /etc/network/interfaces
auto lo
iface lo inet loopback
   pre-up modprobe g_ether
   auto usb0
   iface usb0 inet static
   address 192.168.10.10
   netmask 255.255.255.0
   #gateway 192.168.10.20
 
auto wlan0
iface wlan0 inet dhcp
   wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
~
~
~
 
root@arietta:~# vi /etc/wpa_supplicant/wpa_supplicant.conf
network={
  ssid="YOURSSID"
  psk="YOURPSK"
  proto=RSN
  key_mgmt=WPA-PSK
  pairwise=CCMP
  auth_alg=OPEN
}
~
~
~
</nowiki>
 
=== Blink ===
 
Voraussetzung:
Der Arietta G25 muss bootfähig und über ein Terminal erreichbar sein.
 
Die blinkende LED wollen wir an Port PA23 anschließen.  
Vorwiederstand nicht vergessen, ca. 1 kOhm.
 
Anschlusschema:
 
J4 40 polige Pinleiste   
     
   Pin 3 -----+
   PA23      |
            |
            +-+
            | |  R
            | |  1 kOhm
            +-+
            |
            |
            ---
            \ /   LED
          -----
            |
            |
   Pin 9 -----+
  Gnd
    
    
 
  SD/MMC: Image: Read file zImage to 0x22000000
Wir wollen den Blinker mit Python machen.
  SD: Card Capacity: High or Extended
Hierfür benötigen wir die ablib.py welcher bei dem aktuellen Image (Stand: Okt 2014) leider veraltet und daher nicht verwendbar ist.
  SD: Specification Version 3.0X
 
  SD/MMC: dt blob: Read file acme-arietta.dtb to 0x21000000
Aktuelle ablib installieren, siehe folgenden Link:
  SD: Card Capacity: High or Extended
http://www.kiwil-dev.fr/2014/06/arietta-g25-blink.html
  SD: Specification Version 3.0X
 
Oder manuell:
1.
Wir müssen vom Arietta G25 in das Internet kommen.
2.
Wir müssen root sein.
3.
root@arietta:~$  git clone git://github.com/tanzilli/ablib.git
4.
root@arietta:~$  cd ablib
5.
root@arietta:~$  python setup.py install
 
Falls der Arietta G25 nicht mit dem Internet verbunden ist,
müssen die notwendigen Dateien anders in das Filessystem kopiert werden.
 
z.B. die micro SD-Card in einen Linux rechner mounten und nach /home/user/ablib kopieren.
Danach SD-Card umounten, in den arietta einsetzen und diesen booten.
 
Nun einloggen und als root folgendes ausführen:  
root@arietta:~$  python setup.py install
 
Nun wird ein einfaches Script geschrieben:
 
######### blinky.py ################
    
    
   #!/usr/bin/python
   Booting zImage ......
  #
   zImage magic: 0x16f2818 is found
  # Quelle: http://www.kiwil-dev.fr/2014/06/arietta-g25-blink.html
   #
    
    
   from ablib import Pin
   Using device tree in place at 0x21000000
  from time import sleep
    
    
   print "Blinking led"
   Starting linux kernel ..., machid: 0xffffffff
  print "Type ctrl-C to exit"
    
    
   led = Pin('J4.7','OUTPUT')
   Uncompressing Linux... done, booting the kernel.
  Booting Linux on physical CPU 0x0
  Linux version 3.16.1+ (tanzilli@macbook) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) ) #3 Sat Aug 30 14:39:44 CEST 2014
  CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
  CPU: VIVT data cache, VIVT instruction cache
  Machine model: Acme Systems Arietta G25
  Memory policy: Data cache writeback
  AT91: Detected soc type: at91sam9x5
  AT91: Detected soc subtype: at91sam9g25
  AT91: sram at 0x300000 of 0x8000 mapped at 0xfef70000
  Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
  Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
  Kernel command line: mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2
  PID hash table entries: 512 (order: -1, 2048 bytes)
  Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
  Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
  Memory: 124512K/131072K available (3596K kernel code, 180K rwdata, 1184K rodata, 151K init, 142K bss, 6560K reserved)
  Virtual kernel memory layout:
      vector  : 0xffff0000 - 0xffff1000  (  4 kB)
      fixmap  : 0xffc00000 - 0xffe00000  (2048 kB)
      vmalloc : 0xc8800000 - 0xff000000  ( 872 MB)
      lowmem  : 0xc0000000 - 0xc8000000  ( 128 MB)
      modules : 0xbf000000 - 0xc0000000  (  16 MB)
        .text : 0xc0008000 - 0xc04b3760  (4782 kB)
        .init : 0xc04b4000 - 0xc04d9f54  ( 152 kB)
        .data : 0xc04da000 - 0xc05070b0  ( 181 kB)
        .bss : 0xc05070b0 - 0xc052ac00  ( 143 kB)
  NR_IRQS:16 nr_irqs:16 16
  sched_clock: 32 bits at 128 Hz, resolution 7812500ns, wraps every 16777216000000000ns
  Console: colour dummy device 80x30
  Calibrating delay loop... 198.76 BogoMIPS (lpj=775168)
  pid_max: default: 32768 minimum: 301
  Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
  Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
  CPU: Testing write buffer coherency: ok
  Setting up static identity map for 0x20367be8 - 0x20367c40
  devtmpfs: initialized
  pinctrl core: initialized pinctrl subsystem
  NET: Registered protocol family 16
  DMA: preallocated 256 KiB pool for atomic coherent allocations
  AT91: Power Management
  AT91: Starting after user reset
  gpio-at91 fffff400.gpio: at address fefff400
  gpio-at91 fffff600.gpio: at address fefff600
  gpio-at91 fffff800.gpio: at address fefff800
  gpio-at91 fffffa00.gpio: at address fefffa00
  pinctrl-at91 ahb:apb:pinctrl@fffff400: initialized AT91 pinctrl driver
  at_hdmac ffffec00.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
  at_hdmac ffffee00.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
  SCSI subsystem initialized
  usbcore: registered new interface driver usbfs
  usbcore: registered new interface driver hub
  usbcore: registered new device driver usb
  Linux video capture interface: v2.00
  cfg80211: Calling CRDA to update world regulatory domain
  Switched to clocksource tcb_clksrc
  NET: Registered protocol family 2
  TCP established hash table entries: 1024 (order: 0, 4096 bytes)
  TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
  TCP: Hash tables configured (established 1024 bind 1024)
  TCP: reno registered
  UDP hash table entries: 256 (order: 0, 4096 bytes)
  UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
  NET: Registered protocol family 1
  futex hash table entries: 256 (order: -1, 3072 bytes)
  msgmni has been set to 243
  Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
  io scheduler noop registered (default)
  io scheduler deadline registered
  io scheduler cfq registered
  fffff200.serial: ttyS0 at MMIO 0xfffff200 (irq = 16, base_baud = 8333333) is a ATMEL_SERIAL
  console [ttyS0] enabled
  brd: module loaded
  loop: module loaded
  ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
  ehci-atmel: EHCI Atmel driver
  atmel-ehci 700000.ehci: EHCI Host Controller
  atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1
  atmel-ehci 700000.ehci: irq 25, io mem 0x00700000
  atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00
  usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
  usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
  usb usb1: Product: EHCI Host Controller
  usb usb1: Manufacturer: Linux 3.16.1+ ehci_hcd
  usb usb1: SerialNumber: 700000.ehci
  hub 1-0:1.0: USB hub found
  hub 1-0:1.0: 3 ports detected
  usbcore: registered new interface driver usbserial
  usbcore: registered new interface driver usbserial_generic
  usbserial: USB Serial support registered for generic
  usbcore: registered new interface driver ftdi_sio
  usbserial: USB Serial support registered for FTDI USB Serial Device
  usbcore: registered new interface driver pl2303
  usbserial: USB Serial support registered for pl2303
  mousedev: PS/2 mouse device common for all mice
  rtc (null): invalid alarm value: 1900-1-1 0:0:0
  at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0
  at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver.
  i2c /dev entries driver
  uvcvideo: Unable to create debugfs directory
  usbcore: registered new interface driver uvcvideo
  USB Video Class driver (1.1.1)
  Driver for 1-wire Dallas network protocol.
  ledtrig-cpu: registered to indicate activity on CPUs
  usbcore: registered new interface driver usbhid
  usbhid: USB HID core driver
  TCP: cubic registered
  NET: Registered protocol family 10
  sit: IPv6 over IPv4 tunneling driver
  NET: Registered protocol family 17
  Key type dns_resolver registered
  at91_rtc fffffeb0.rtc: setting system clock to 2007-01-01 00:00:12 UTC (1167609612)
  atmel_mci f0008000.mmc: version: 0x504
  atmel_mci f0008000.mmc: using dma0chan0 for DMA transfers
  atmel_mci f0008000.mmc: No vmmc regulator found
  atmel_mci f0008000.mmc: No vqmmc regulator found
  atmel_mci f0008000.mmc: Atmel MCI controller at 0xf0008000 irq 22, 1 slots
  Waiting 2 sec before mounting root device...
  mmc0: host does not support reading read-only switch. assuming write-enable.
  mmc0: new high speed SDHC card at address 59b4
  mmcblk0: mmc0:59b4 NCard 7.51 GiB
  mmcblk0: p1 p2 p3 p4
  EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
  EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
  EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
  VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
  devtmpfs: mounted
  Freeing unused kernel memory: 148K (c04b4000 - c04d9000)
  INIT: version 2.88 booting
  [info] Using makefile-style concurrent boot in runlevel S.
  [....] Starting the hotplug events dispatcher: udevdudevd[532]: starting version 175
  . ok
  [....] Synthesizing the initial hotplug events...ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
  ohci-atmel: OHCI Atmel driver
  at91_ohci 600000.ohci: OHCI Host Controller
  at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2
  at91_ohci 600000.ohci: irq 25, io mem 0x00600000
  usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
  usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
  usb usb2: Product: OHCI Host Controller
  usb usb2: Manufacturer: Linux 3.16.1+ ohci_hcd
  usb usb2: SerialNumber: at91
  atmel_usba_udc 500000.gadget: MMIO registers at 0xf803c000 mapped at c8886000
  atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at c8900000
  hub 2-0:1.0: USB hub found
  hub 2-0:1.0: 3 ports detected
  random: nonblocking pool is initialized
  done.
  [ ok ] Waiting for /dev to be fully populated...done.
  [ ok ] Activating swap...done.
  EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
  [....] Checking root file system...fsck from util-linux 2.20.1
  rootfs: clean, 21502/51296 files, 133750/204800 blocks
  done.
  EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
  [ ok ] Cleaning up temporary files... /tmp.
  [ ok ] Activating lvm and md swap...done.
  [....] Checking file systems...fsck from util-linux 2.20.1
  data: clean, 11/51296 files, 7526/204800 blocks
  done.
  [....] Mounting local filesystems...EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
  done.
  [ ok ] Activating swapfile swap...done.
  [ ok ] Cleaning up temporary files....
  [ ok ] Setting kernel variables ...done.
  [....] Configuring network interfaces...using random self ethernet address
  using random host ethernet address
  usb0: HOST MAC 01:23:45:67:89:ab
  usb0: MAC cd:ef:01:23:45:67
  using random self ethernet address
  using random host ethernet address
  g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
  g_ether gadget: g_ether ready
  IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
  done.
  [ ok ] Cleaning up temporary files....
  INIT: Entering runlevel: 2
  [info] Using makefile-style concurrent boot in runlevel 2.
  [ ok ] Starting system message bus: dbus.
  [....] Starting web server: lighttpd2007-01-01 01:00:50: (log.c.166) server started
  . ok
  [ ok ] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon.
  [ ok ] Starting OpenBSD Secure Shell server: sshd.
    
    
   while True:
   Debian GNU/Linux (Acme Systems Arietta) arietta ttyS0
    sleep(0.5)
    led.on()
    sleep(0.5)
    led.off()
    
    
########## script ende #################
  arietta login:
 
</div>
Nun das Script ausführbar machen:
 
root@arietta:~$  chmod u+x blinky.py
 
Und nun das Script ausführen, geht nur als root:


root@arietta:~$  ./blinky.py
== Offene Punkte ==


* [[Diskussion:Arietta_G25#Probleme_mit_.22virtuellem.22_Ethernet_.C3.BCber_den_USB-Port_usb0|Probleme mit "virtuellem" Ethernet über den USB-Port usb0 ]]


Das war's
[[Kategorie:Mikrocontroller]]

Aktuelle Version vom 8. Mai 2015, 21:42 Uhr

Foto
ARIETTA-G25.jpg
Basisdaten
Hersteller ACME Systems
Typ Arietta G25
Zustand eingeschränkt nutzbar
Klassifizierung KlasseE-gruen.svg KlasseK-gruen.svg


Das Arietta G25 Board ist ein SoC ARM9@400MHz. Es ist aufgrund seiner Größe (25x53mm) und Preises von 20€ bzw. 30€ interessant.

Momentan ist das Lab selbst nicht im Besitz eines dieser Geräte. Einige Mitglieder z.B. Jürgen, Mose, Klaus und Schimmi besitzen eines, welches ggf. auf Anfrage genutzt werden könnte. Deshalb ist der Gerätestatus aktuell "eingeschränkt nutzbar".

Linksammlung

SD-Card Image

Im Unterschied zum Board wie z.B. dem RaspberryPi gibt es für Arietta kein fertiges SD-Image, welches mit Programmen wie DD oder Win32DiskImager einfach auf die Karte geschrieben werden kann. Von ACME gibt es lediglich diese Anleitung, welche aber mit einem Windows System nicht durchführbar ist. Aus diesem Grund haben wir ein fertiges Image erstellt, welches einfach auf die SD-Karte geschrieben werden kann und anschließend bootfähig ist.

Release-ACME-Systems_140830.zip

HowTos

Debug Port Interface

Pinbelegung

Farbkodierung entsprechend FTDI-Standardbelegung

1 2 3 4 5 6
Vcc 3V3 EN5V (in) TxD (out) RxD (in) WKUP (in) GND

Einstellung Terminalemulator

115200 Baud 8N1 no-flowcontroll

Bootvorgang

Mit einem USB-Serial-TTL-Adapter kann man am Debug Port (DP) ein Terminal anschließen und den Bootvorgang beobachten. Nach erfolgreichem Bootvorgang dient der DP als Serielle Konsole /dev/ttyS0.

Fehler beim SD-Card-Zugriff

Bootversuch ohne/fehlerhafter microSD-Card bringt lediglich folgende Meldung

 RomBOOT

Bootversuch mit microSD-Card, aber fehlendem Kernel: (d.h. der Chip hat einen "minimal loader" im ROM)

 RomBOOT
 
 
 AT91Bootstrap 3.6.2-00093-g42874ee (Tue Jun 17 15:52:22 CEST 2014)
 
 1-Wire: Loading 1-Wire information ...
 1-Wire: ROM Searching ... Done, 0x0 1-Wire chips found
 
 WARNING: 1-Wire: No 1-Wire chip found
  
 1-Wire: Using defalt value SYS_GPBR2: 0x0, SYS_GPBR3: 0x7fff
 
 SD/MMC: Image: Read file zImage to 0x22000000
 SD: Card Capacity: High or Extended
 SD: Specification Version 3.0X
 *** FATFS: f_open, filename: [zImage]: error
 SD/MMC: Failed to load image

Beispiel eines geglückten Boots

 RomBOOT
 
 
 AT91Bootstrap 3.6.2-00093-g42874ee (Tue Jun 17 15:52:22 CEST 2014)
 
 1-Wire: Loading 1-Wire information ...
 1-Wire: ROM Searching ... Done, 0x0 1-Wire chips found
 
 WARNING: 1-Wire: No 1-Wire chip found
 
 1-Wire: Using defalt value SYS_GPBR2: 0x0, SYS_GPBR3: 0x7fff
 
 SD/MMC: Image: Read file zImage to 0x22000000
 SD: Card Capacity: High or Extended
 SD: Specification Version 3.0X
 SD/MMC: dt blob: Read file acme-arietta.dtb to 0x21000000
 SD: Card Capacity: High or Extended
 SD: Specification Version 3.0X
 
 Booting zImage ......
 zImage magic: 0x16f2818 is found
 
 Using device tree in place at 0x21000000
 
 Starting linux kernel ..., machid: 0xffffffff
 
 Uncompressing Linux... done, booting the kernel.
 Booting Linux on physical CPU 0x0
 Linux version 3.16.1+ (tanzilli@macbook) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) ) #3 Sat Aug 30 14:39:44 CEST 2014
 CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
 CPU: VIVT data cache, VIVT instruction cache
 Machine model: Acme Systems Arietta G25
 Memory policy: Data cache writeback
 AT91: Detected soc type: at91sam9x5
 AT91: Detected soc subtype: at91sam9g25
 AT91: sram at 0x300000 of 0x8000 mapped at 0xfef70000
 Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
 Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
 Kernel command line: mem=128M console=ttyS0,115200 root=/dev/mmcblk0p2 rootdelay=2
 PID hash table entries: 512 (order: -1, 2048 bytes)
 Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
 Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
 Memory: 124512K/131072K available (3596K kernel code, 180K rwdata, 1184K rodata, 151K init, 142K bss, 6560K reserved)
 Virtual kernel memory layout:
     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
     fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
     vmalloc : 0xc8800000 - 0xff000000   ( 872 MB)
     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
     modules : 0xbf000000 - 0xc0000000   (  16 MB)
       .text : 0xc0008000 - 0xc04b3760   (4782 kB)
       .init : 0xc04b4000 - 0xc04d9f54   ( 152 kB)
       .data : 0xc04da000 - 0xc05070b0   ( 181 kB)
        .bss : 0xc05070b0 - 0xc052ac00   ( 143 kB)
 NR_IRQS:16 nr_irqs:16 16
 sched_clock: 32 bits at 128 Hz, resolution 7812500ns, wraps every 16777216000000000ns
 Console: colour dummy device 80x30
 Calibrating delay loop... 198.76 BogoMIPS (lpj=775168)
 pid_max: default: 32768 minimum: 301
 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
 Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
 CPU: Testing write buffer coherency: ok
 Setting up static identity map for 0x20367be8 - 0x20367c40
 devtmpfs: initialized
 pinctrl core: initialized pinctrl subsystem
 NET: Registered protocol family 16
 DMA: preallocated 256 KiB pool for atomic coherent allocations
 AT91: Power Management
 AT91: Starting after user reset
 gpio-at91 fffff400.gpio: at address fefff400
 gpio-at91 fffff600.gpio: at address fefff600
 gpio-at91 fffff800.gpio: at address fefff800
 gpio-at91 fffffa00.gpio: at address fefffa00
 pinctrl-at91 ahb:apb:pinctrl@fffff400: initialized AT91 pinctrl driver
 at_hdmac ffffec00.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
 at_hdmac ffffee00.dma-controller: Atmel AHB DMA Controller ( cpy slave ), 8 channels
 SCSI subsystem initialized
 usbcore: registered new interface driver usbfs
 usbcore: registered new interface driver hub
 usbcore: registered new device driver usb
 Linux video capture interface: v2.00
 cfg80211: Calling CRDA to update world regulatory domain
 Switched to clocksource tcb_clksrc
 NET: Registered protocol family 2
 TCP established hash table entries: 1024 (order: 0, 4096 bytes)
 TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
 TCP: Hash tables configured (established 1024 bind 1024)
 TCP: reno registered
 UDP hash table entries: 256 (order: 0, 4096 bytes)
 UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
 NET: Registered protocol family 1
 futex hash table entries: 256 (order: -1, 3072 bytes)
 msgmni has been set to 243
 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
 io scheduler noop registered (default)
 io scheduler deadline registered
 io scheduler cfq registered
 fffff200.serial: ttyS0 at MMIO 0xfffff200 (irq = 16, base_baud = 8333333) is a ATMEL_SERIAL
 console [ttyS0] enabled
 brd: module loaded
 loop: module loaded
 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
 ehci-atmel: EHCI Atmel driver
 atmel-ehci 700000.ehci: EHCI Host Controller
 atmel-ehci 700000.ehci: new USB bus registered, assigned bus number 1
 atmel-ehci 700000.ehci: irq 25, io mem 0x00700000
 atmel-ehci 700000.ehci: USB 2.0 started, EHCI 1.00
 usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
 usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
 usb usb1: Product: EHCI Host Controller
 usb usb1: Manufacturer: Linux 3.16.1+ ehci_hcd
 usb usb1: SerialNumber: 700000.ehci
 hub 1-0:1.0: USB hub found
 hub 1-0:1.0: 3 ports detected
 usbcore: registered new interface driver usbserial
 usbcore: registered new interface driver usbserial_generic
 usbserial: USB Serial support registered for generic
 usbcore: registered new interface driver ftdi_sio
 usbserial: USB Serial support registered for FTDI USB Serial Device
 usbcore: registered new interface driver pl2303
 usbserial: USB Serial support registered for pl2303
 mousedev: PS/2 mouse device common for all mice
 rtc (null): invalid alarm value: 1900-1-1 0:0:0
 at91_rtc fffffeb0.rtc: rtc core: registered fffffeb0.rtc as rtc0
 at91_rtc fffffeb0.rtc: AT91 Real Time Clock driver.
 i2c /dev entries driver
 uvcvideo: Unable to create debugfs directory
 usbcore: registered new interface driver uvcvideo
 USB Video Class driver (1.1.1)
 Driver for 1-wire Dallas network protocol.
 ledtrig-cpu: registered to indicate activity on CPUs
 usbcore: registered new interface driver usbhid
 usbhid: USB HID core driver
 TCP: cubic registered
 NET: Registered protocol family 10
 sit: IPv6 over IPv4 tunneling driver
 NET: Registered protocol family 17
 Key type dns_resolver registered
 at91_rtc fffffeb0.rtc: setting system clock to 2007-01-01 00:00:12 UTC (1167609612)
 atmel_mci f0008000.mmc: version: 0x504
 atmel_mci f0008000.mmc: using dma0chan0 for DMA transfers
 atmel_mci f0008000.mmc: No vmmc regulator found
 atmel_mci f0008000.mmc: No vqmmc regulator found
 atmel_mci f0008000.mmc: Atmel MCI controller at 0xf0008000 irq 22, 1 slots
 Waiting 2 sec before mounting root device...
 mmc0: host does not support reading read-only switch. assuming write-enable.
 mmc0: new high speed SDHC card at address 59b4
 mmcblk0: mmc0:59b4 NCard 7.51 GiB
  mmcblk0: p1 p2 p3 p4
 EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
 EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
 EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
 VFS: Mounted root (ext4 filesystem) readonly on device 179:2.
 devtmpfs: mounted
 Freeing unused kernel memory: 148K (c04b4000 - c04d9000)
 INIT: version 2.88 booting
 [info] Using makefile-style concurrent boot in runlevel S.
 [....] Starting the hotplug events dispatcher: udevdudevd[532]: starting version 175
 . ok
 [....] Synthesizing the initial hotplug events...ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
 ohci-atmel: OHCI Atmel driver
 at91_ohci 600000.ohci: OHCI Host Controller
 at91_ohci 600000.ohci: new USB bus registered, assigned bus number 2
 at91_ohci 600000.ohci: irq 25, io mem 0x00600000
 usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
 usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
 usb usb2: Product: OHCI Host Controller
 usb usb2: Manufacturer: Linux 3.16.1+ ohci_hcd
 usb usb2: SerialNumber: at91
 atmel_usba_udc 500000.gadget: MMIO registers at 0xf803c000 mapped at c8886000
 atmel_usba_udc 500000.gadget: FIFO at 0x00500000 mapped at c8900000
 hub 2-0:1.0: USB hub found
 hub 2-0:1.0: 3 ports detected
 random: nonblocking pool is initialized
 done.
 [ ok ] Waiting for /dev to be fully populated...done.
 [ ok ] Activating swap...done.
 EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
 [....] Checking root file system...fsck from util-linux 2.20.1
 rootfs: clean, 21502/51296 files, 133750/204800 blocks
 done.
 EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
 [ ok ] Cleaning up temporary files... /tmp.
 [ ok ] Activating lvm and md swap...done.
 [....] Checking file systems...fsck from util-linux 2.20.1
 data: clean, 11/51296 files, 7526/204800 blocks
 done.
 [....] Mounting local filesystems...EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
 done.
 [ ok ] Activating swapfile swap...done.
 [ ok ] Cleaning up temporary files....
 [ ok ] Setting kernel variables ...done.
 [....] Configuring network interfaces...using random self ethernet address
 using random host ethernet address
 usb0: HOST MAC 01:23:45:67:89:ab
 usb0: MAC cd:ef:01:23:45:67
 using random self ethernet address
 using random host ethernet address
 g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
 g_ether gadget: g_ether ready
 IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
 done.
 [ ok ] Cleaning up temporary files....
 INIT: Entering runlevel: 2
 [info] Using makefile-style concurrent boot in runlevel 2.
 [ ok ] Starting system message bus: dbus.
 [....] Starting web server: lighttpd2007-01-01 01:00:50: (log.c.166) server started
 . ok
 [ ok ] Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon.
 [ ok ] Starting OpenBSD Secure Shell server: sshd.
 
 Debian GNU/Linux (Acme Systems Arietta) arietta ttyS0
 
 arietta login:

Offene Punkte