Micro2440
--Theborg0815 19:46, 3. Jul. 2010 (UTC) Micro2440 von FriendlyARM
Das Micro2440 ist im Prinzip wie das Mini2440 nur dass es keine 64/128MB Flash Variante gibt. Aufgebaut ist es als Stamp-Modul, welches meistens mit einem SDK-Board, der Peripherie und wahlweise einem 3,5" / 7" TFT oder einen LCD2VGA Adapter kombiniert wird.
Technische Daten (Stamp Modul)
Dimension: 63 x 52 mm CPU: 400 MHz Samsung S3C2440A ARM920T (Max freq. 533 MHz) RAM: 64 MB SDRAM, 32 bit 100 MHz Bus Flash: 64 MB / 128 MB / 256 MB / 1GB NAND Flash and 2 MB NOR Flash with BIOS User Outputs: 4x LEDs Expansion Headers (2.0mm) Debug: 10 pin JTAG (2.0mm) OS-Support: Android, Linux 2.6, Windows CE 5/6
Technische Daten (SDK-Board)
Dimension: 180 x 130 mm EEPROM: 1024 Byte 24C08 (I2C) Ext. Memory: SD-Card socket Serial Ports: 3x DB9 connector (RS232) USB: 4x USB-A Host, 1x USB-B Device Audio Output: 3.5 mm stereo jack Audio Input: 3.5mm jack (mono) Ethernet: RJ-45 10/100M (DM9000) RTC: Real Time Clock with battery Beeper: PWM buzzer Camera: 20 pin Camera interface LCD: Connector for FriendlyARM Displays (3,5" and 7") and VGA Board Touch Panel: 4 pin User Inputs: 6x push buttons and 1x A/D pot Expansion header (2.0mm) Power: 5V connector, power switch and LED
Software
U-Boot
U-Boot aus den Quellen bauen
Leider kann der vivi-Bootlader nicht viel. Vivi unterstützt nur yaffs2 Kernel Images, daher ist es sinnvoll diesen durch den U-Boot-Bootloader auszutauschen. Ich benutze U-Boot aus dem OPENMOKO Projekt für das Micro2440 mit 256MB.
Der compilierte U-Boot-Bootloader ist zu finden unter: Datei:UBoot-256MB.bin.
Für den Anfang sollte abgewogen werden, ob der vivi-Bootloader reicht. Im Fehlerfall kann dieser per JTAG wieder eingespielt werden.
Voraussetzungen dafür ist ein Cross-Compiler z.B. der von Codesourcery.
Im ersten Schritt muss das Build-Verzeichnis angelegt werden und das git-Repository heruntergeladen werden.. Das geschieht mit den Befehlen:
mkdir uboot ; cd uboot
git clone git://repo.or.cz/u-boot-openmoko/mini2440.git
Danach müssen die Source-Dateien für das micro2440 eingestellt und compiliert werden:
cd mini2440
export CROSS_COMPILE=arm-none-linux-gnueabi-
make mini2440_config
make all
U-Boot Flash’en
Den Bootswitch S2 auf NOR stellen, sobald vivi erscheint "q" (in der vivi Konsole) drücken.
Damit U-Boot ab der Adresse 0x32000000 programmiert wird, muss der folgende Befehl eingeben werden:
load ram 0x32000000 <uboot bin file grösse in bytes> u-boot
Nun wartet Vivi auf die Datei. In der Shell (PC) wird das Hochladen mit dem folgenden Befehl initiiert. Die Dateiübertragung erfolgt über USB.
sudo ./s3c2410_boot_usb u-boot.bin
Als nächstes soll das U-Boot gestartet werden. Dazu muss an die Speicherstelle gesprungen werden, an der das U-Boot programmiert wurde. Dies wird mit dem folgendem Befehl erreicht:
go 0x32000000
Waren alle vorherigen Schritte erfolgreich, sollte nun die U-Boot Konsole angezeigt werden.(MINI2440#). Anschließend wird nun der NAND-Flash vorbereitet
Zuerst muss das NAND-Flash gelöscht werden, dies wird mit dem folgendem Befehl erreicht:
nand scrub
Danach wird die Bad-Block Tabelle erstellt, dies kann etwas Zeit in Anspruch nehmen:
nand createbbt
Damit U-Boot in das Flash geschrieben wird, muss folgender Befehl ausgeführt werden.
nand write.e 0x32000000 0x0 <uBoot bin grösse in hex>
Für das Partitionieren des Flashs dient der Befehl:
dynpart
Environment Speicher einrichten:
dynenv set u-boot_env
Enviroment Parameter sichern:
saveenv
Nachdem alle Schritte durchgeführt wurden, muss nur noch das Bord ausgeschaltet werden und S2 wieder auf NAND gestellt werden. Nach dem Einschalten sollte euch nun das U-Boot begrüßen.
Kernel/Filesystem
Kernel aus den Quellen compilieren
Jetzt steht man vor der Wahl welchen Kernel man nimmt. Egal ob EMDebian, Gentoo oder Android, man braucht ihn so oder so. Die fertigen Kernel von FriendlyARM können nur VFAT und JFFS2 daher eignen sich diese nur bedingt für ein System z.b. auf SD/USBStick oder Ext. Platte. Daher ist es sinnvoll sich selbst einen Kernel zu bauen, was nicht schwer ist.
Als erstes besorgen wir uns die Kernel-Quellen und entpacken sie:
Gentoo/emDebian
mkdir micro2440
cd micro2440
git clone git://repo.or.cz/linux-2.6/mini2440.git linux-2.6.32-rc8
Android
mkdir android
cd android
git clone git://gitorious.org/android-mini2440/kernel-opencsbc.git
Als nächstes laden wir die Default Config und erstellen die .config für das Micro2440: (Fertiges Beispiel: Datei:Config.txt)
cd linux-2.6.32-rc8
CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm make mini2440_defconfig
Wenn man noch etwas ändern möchte (z.b. ext3-Treiber) startet man "menuconfig":
CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm make menuconfig
Den Kernel anschließend compilieren:
CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm make
Später kann man noch die Module auf die SD-Karte kopieren:
CROSS_COMPILE=arm-softfloat-linux-gnueabi- ARCH=arm INSTALL_MOD_PATH=/mnt make modules_install
Als letztes muss das Kernel Image für U-Boot vorbereitet werden. Aus dem zImage (gzip komprimiertes Kernel-Image) wird ein uImage für U-Boot so erstellt:
cd .../arch/arm/boot
mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -d zImage uImage
Filesystem erstellen
Als erstes brauchen wir ein RootFS dieses brauchen wir um später die Partition damit zu füllen.
emDebian
mkdir armel-rootfs
debootstrap --verbose --arch armel --foreign lenny armel-rootfs http://ftp.de.debian.org/debian
Anmerkung: "lenny" ist veraltet und muss durch "stable" ersetzt werden. Also:
debootstrap --verbose --arch armel --foreign stable armel-rootfs http://ftp.de.debian.org/debian
cd armel-rootfs
tar cfjv ../armel-rootfs.tar.bz2 *
Alternativ kann man sich ein schon vorbereitetes root-fs von hier herunterladen.
Gentoo
http://distfiles.gentoo.org/releases/arm/autobuilds/current-stage3-armv4tl/
Android
mkdir android
cd android
git clone git://gitorious.org/android-mini2440/android-mini2440.git
cd android-mini2440
tar cfjv ../android-rootfs.tar.bz2 *
Speichermedien vorbereiten
SD-Karte und USB Medien
Als nächstes bereiten wir ein Speichermedium vor, wir brauchen 3 Partitionen, 2x EXT2 und einmal Swap das Beispiel gilt für eine 2GB SD-Karte.
Das machen wir am besten mit fdisk in der Konsole, man kann auch gparted(Grafisch) nutzen aber komischerweise mountet dann bei mir das RootFS nicht ebenso wenn das RootFS ext3 ist, so wie ich raus gefunden habe geht das nur mit SDHC Karten also SD-Karten mit Speicher der >2GB ist.
fdisk /dev/<Bezeichnung der SD-Karte>
Der Rest ist recht einfach, einfach folgendes eingeben: dp1 np1 <enter> +20MB <enter> np2 <enter> +1800MB <enter> np3 <enter> <enter>
Danach mit p schauen ob alle 3 Partitionen erstellt wurden und mit w Speichern und fdisk beenden.
Jetzt müssen wir noch die Partitionen Formatieren(für ext3 muss noch -j in der zweiten Zeile angegeben werden):
mke2fs /dev/<Bezeichnung der SD-Karte>1
mke2fs /dev/<Bezeichnung der SD-Karte>2
mkswap /dev/<Bezeichnung der SD-Karte>3
BootFS/RootFS einrichten
Dieses ist bei allen Distributionen gleich als erstes kopieren wir den Kernel auf das Speichermedium.
mount /dev/<Bezeichnung der SD-Karte>1 /mnt
cp ../linux-2.6.32-rc8/arch/arm/boot/uImage /mnt
sync
umount /dev/<Bezeichnung der SD-Karte>1
Jetzt muss noch das RootFS erstellt werden:
mount /dev/<Bezeichnung der SD-Karte>2 /mnt
tar xvzfop /path/to/downloaded/<RootFSfile> -C /mnt
sync
umount /dev/<Bezeichnung der SD-Karte>2
uBoot ENVs einrichten
So jetzt sind wir fast fertig nur das Wichtigste fehlt noch, wir müssen dem Bootlader noch sagen wo er den Kernel findet und dem Kernel wo er das RootFS findet.
Dazu drücken wir eine Taste um denn Autoboot zu unterbrechen und stellen folgendes ein:
setenv bootcmd 'mmcinit ; ext2load mmc 0:1 0x31000000 uImage ; bootm 0x31000000'
setenv bootargs noinitrd mini2440=1tb rootfstype=ext2 root=/dev/mmcblk0p2 rw rootwait
saveenv
Bei Android muss noch ein "init=linuxrc" in die zweite Zeile eingefügt werden.
So das war es wen ihr alles durchgearbeitet habt könnt ihr die SD-Karte in den Slot stecken und denn Reset drücken danach sollte das Bord booten.
uBoot ENVs Beschreibung
ENV | BOOT Parameter | Beschreibung |
---|---|---|
bootargs | mini2440=<0..9><t> | Type des Displays |
0 = 3,5" Display N35 | ||
1 = 7" Display | ||
2 = VGA-Board | ||
3 = 3,5" Display T35 | ||
4 = 5,6" Display Innolux | ||
t = Touchscreen | ||
b = Backlight | ||
bootargs | rootfstype= | Dateisystem mit RootFS (z.b. ext2 oder ext3) |
bootargs | root= | Bezeichnung/Drive des RootFS (z.b. /dev/sda1) |
bootargs | rw | Mount Parameter rw = Read/Write, ro = Readonly |
bootargs | rootwait | Warte aufs Dateisystem bevor der Startvorgang fortgesetzt wird |
bootargs | init= | Startet das angegebene Programm nach dem der Kernelstart abgeschlossen ist. |
bootargs | noinitrd | Init Start script nicht ausführen. |
Tips/Tricks/Files
emDebian/Gentoo
Firstboot (Root Password)
Beim ersten Start ist kein RootPW gesetzt b.z.w. es ist nicht bekannt, daher beim starten einfach init=/bin/bash in die Bootzeile von UBoot einfügen, danach kann mit passwd das Passwort gesetzt werden danach einfach das wieder entfernen und man kann sich normal einloggen.
/etc/fstab
Beispiel der /etc/fstab: Datei:Fstab.txt
/etc/X11/xorg.conf
Beispiel xorg.conf fürs 7" Display: Datei:Xorg.conf.txt
Touchscreen kalibrieren
Folgende Zeile zur /etc/X11/xorg.conf bei [Section "InputDevice"]
hinzufügen.
Option "Calibrate" "1"
Und dann noch folgendes machen:
apt-get install xserver-xorg-input-evtouch
cp /usr/share/xf86-input-evtouch/empty_cursor.xbm /
cd /usr/lib/xf86-input-evtouch
sh calibrate.sh
Mit folgenden Einträgen in die /etc/X11/xorg.conf bei [Section "InputDevice"] kann man jetzt erst mal die kreuze ausrichten (Siehe Bild.)
Option "x0" "0"
Option "y0" "0"
Option "x1" "0"
Option "y1" "0"
Option "x2" "0"
Option "y2" "0"
Option "x3" "0"
Option "y3" "0"
Option "x4" "0"
Option "y4" "0"
Option "x5" "0"
Option "y5" "0"
Option "x6" "0"
Option "y6" "0"
Option "x7" "0"
Option "y7" "0"
Option "x8" "0"
Option "y8" "0"
Als nächstes muss man noch die Min/Max werte ermitteln dazu Links unten und oben rechts die Min/Max werte in die xorg.conf übertragen.
Option "MinX" "153"
Option "MinY" "78"
Option "MaxX" "873"
Option "MaxY" "937"
Beim 7" Display muss man jetzt nur noch der SW sagen das der Touchscreen Falschrum verbaut ist dieses geht mit folgenden Eintrag in die xorg.conf.
Option "SwapY" "2"
Option "SwapX" "2"
Jetzt noch den Eintrag [Option "Calibrate" "1"] wieder aus der xorg.conf raus schmeißen dann sollte alles funktionieren.
Für eine genauere Justierung kann man den xinput calibrator benutzen.
Konsole auf dem TFT und Seriell ausgeben
echo ttySAC0 >> /etc/securetty
printf "T0:123:respawn:/sbin/getty 115200 ttySAC0\n" >> /etc/inittab
Virtuelle Maus
Wer lieber mit einer Maus arbeitet und ein iPad/iPhone besitzt kann RemotePad benutzen, einfach aus dem Appstore laden (kostenlos). Den Quellcode für die Anwendung gibt es unter http://www.tenjin.org/RemotePad/, dieser lässt sich recht einfach auf dem Board oder in einem Buildroot compilieren.
Bildschirmtastatur
Als Bildschirmtastatur kann man xvkbd verwenden, bei Xfce z.b. einfach einen Link dazu in dem Autostart Ordner erstellen damit es beim Start von xfce geladen wird.
apt-get install xvkbd
ln /usr/bin/xvkbd - s ~/.config/autostart
Android
Sonstiges
SD-Karte/USB-LW Backupen/Restore
Backup
dd if=/dev/<Geräte Bezeichung> of=sd2gb.img
oder nur das rootfs
mount /dev/sd... /mnt
tar cfjv rootfs-backup.tar.bz2 /mnt/*
umount /dev/sd...
Restore
dd if=sd2gb.img of=/dev/<Geräte Bezeichung>
oder
mount /dev/sd... /mnt
tar xvzfop <RootFSfile> -C /mnt
sync
umount /dev/sd...
Restore 2GB Backup -> 4/8/16...GB SD-Karte
dd if=sd2gb.img of=/dev/<Geräte Bezeichung>
Und danach mit gparted die swap Partition Löschen danach die RootFS Partition vergrößern und eine neue swap erstellen.
Achtung !!! Dieses kann bei Gentoo Probleme geben da beim Vergrößern von ext2/3/4 die Inodes nicht angepasst werden können, wird es auf Grund der vielen Dateien von Gentoo Probleme geben
Hardware
Connector / GPIO Belegung
SDK-Board
RS232/TTL(CON1-3)
PIN | CON1 | CON2 | CON3 | RS232(1) | RS232(2) | RS232(3) |
---|---|---|---|---|---|---|
1 | TXD0 | TXD1 | TXD2 | |||
2 | RXD0 | RXD1 | RXD2 | RSTXD0 | RSTXD1 | RSTXD2 |
3 | VDD5V | VDD5V | VDD5V | RSRXD0 | RSRXD1 | RSRXD2 |
4 | GND | GND | GND | |||
5 | GND | GND | GND | |||
7 | RSCTS0 | |||||
8 | RSRTS0 |
Achtung !!! CON1-3 sind wohl nur zum Messen gedacht will man diese direkt benutzen muss der jeweilige MAX2323CPE ausgelötet werden.
CON8/Taster
PIN | CON8 | Taster | GPIO |
---|---|---|---|
1 | EINT8 | K1 | GPG0/? |
2 | EINT11 | K2 | GPG3/nSS1 |
3 | EINT13 | K3 | GPG5/SPIMISO1 |
4 | EINT14 | K4 | GPG6/SPIMOSI1 |
5 | EINT15 | K5 | GPG7/SPICLK1 |
6 | EINT19 | K6 | GPG11/TCLK1 |
7 | VDD33V | 3,3V | |
8 | GND | GND |
CON6
PIN | CON6 | GPIO | PIN | CON6 | GPIO |
---|---|---|---|---|---|
1 | VDD5V | 5V | 2 | VDD33V | 3,3V |
3 | GND | GND | 4 | nRESET | Reset |
5 | AIN0 | AD0 | 6 | AIN1 | AD1 |
7 | AIN2 | AD2 | 8 | ? | ? |
9 | EINT0 | GPF0 | 10 | EINT1 | GPF1 |
11 | EINT2 | GPF2 | 12 | EINT3 | GPF3 |
13 | EINT4 | GPF4 | 14 | EINT5 | GPF5 |
15 | EINT6 | GPF6 | 16 | EINT8 | GPG0 |
17 | EINT17 | GPG7/nRST1 | 18 | EINT18 | GPE10/nCTS1 |
19 | I2CSCL | I2CSCL/GPE14 | 20 | I2CSDA | I2CSDA/GPE15 |
CON4/CMOS Camera
PIN | CON4 | GPIO | PIN | CON4 | GPIO |
---|---|---|---|---|---|
1 | I2CSDA | GPE15 | 2 | I2CSCL | GPE14 |
3 | EINT20 | GPG12 | 4 | CAMRST | GPJ12 |
5 | CAMCLK | GPJ11 | 6 | CAM_HRES | GPJ10 |
7 | CAM_VSYNC | GPJ9 | 8 | CAM_PCLK | GPJ8 |
9 | CAMDATA7 | GPJ7 | 10 | CAMDATA6 | GPJ6 |
11 | CAMDATA5 | GPJ5 | 12 | CAMDATA4 | GPJ4 |
13 | CAMDATA3 | GPJ3 | 14 | CAMDATA2 | GPJ2 |
15 | CAMDATA1 | GPJ1 | 16 | CAMDATA0 | GPJ0 |
17 | VDD33V | 3,3V | 18 | VDD_CAM | VDD_CAM |
19 | VDD18V | 1,8V | 20 | GND | GND |
CON9/10 Touchscreen
PIN | CON9 | CON10 | GPIO |
---|---|---|---|
1 | TSXM | TSXM | ? |
2 | TSYM | TSYM | ? |
3 | TSXP | TSXP | ? |
4 | TSYP | TSYP | ? |
CON5
PIN | CON5 | GPIO | PIN | CON5 | GPIO |
---|---|---|---|---|---|
1 | EINT17 | GPG9/nRST1 | 2 | EINT18 | nCTS1 |
3 | nGCS1 | 4 | EINT8 | GPG0 | |
5 | nGSC2 | 6 | LnWBE1 | ||
7 | nGSC3 | 8 | LnWE | ||
9 | LnOE | 10 | nRESET | ||
11 | nWAIT | 12 | nXDACK0 | ||
13 | LADDR0 | 14 | nXDRWQ0 | ||
15 | LADDR1 | 16 | LADDR2 | ||
17 | LADDR3 | 18 | LADDR4 | ||
19 | LADDR5 | 20 | LADDR6 | ||
21 | LADDR7 | 22 | LADDR8 | ||
23 | LADDR9 | 24 | LADDR10 | ||
25 | LADDR11 | 26 | LADDR12 | ||
27 | LADDR13 | 28 | LADDR14 | ||
29 | LADDR15 | 30 | LADDR16 | ||
31 | LADDR17 | 32 | LADDR18 | ||
33 | LADDR19 | 34 | LADDR20 | ||
35 | LADDR21 | 36 | LADDR22 | ||
37 | LADDR23 | 38 | LADDR24 | ||
39 | LDATA0 | 40 | DATA1 | ||
41 | LDATA2 | 42 | DATA3 | ||
43 | LDATA4 | 44 | DATA5 | ||
45 | LDATA6 | 46 | DATA7 | ||
47 | LDATA8 | 48 | DATA9 | ||
49 | LDATA10 | 50 | DATA11 | ||
51 | LDATA12 | 52 | DATA13 | ||
53 | LDATA14 | 54 | DATA15 | ||
55 | VDD5V | 5V | 56 | GND | GND |
LCD0/LCD1
PIN | LCD1 | LCD0 | PIN | LCD1 | LCD0 |
---|---|---|---|---|---|
1 | VDD5V | VDDLED5V | 2 | VDD5V | VDDLED5V |
3 | VD0 | ADJ | 4 | VD1 | GND |
5 | VD2 | GND | 6 | VD3 | VDD33V |
7 | VD4 | VDD33V | 8 | VD5 | MODE(DE/HV) |
9 | VD6 | VM/DE | 10 | VD7 | VFRAME |
11 | GND | VLINE | 12 | VD8 | GND |
13 | VD9 | VD7/B5 | 14 | VD10 | VD6/BD |
15 | VD11 | VD5/B3 | 16 | VD12 | GND |
17 | VD13 | VD4/B2 | 18 | VD14 | VD3/B1 |
19 | VD15 | VD2/B0 | 20 | GND | GND |
21 | VD16 | VD15/G5 | 22 | VD17 | VD14/G4 |
23 | VD18 | VD13/G3 | 24 | VD19 | GND |
25 | VD20 | VD12/G2 | 26 | VD21 | VD11/G1 |
27 | VD22 | VD10/G0 | 28 | VD23 | GND |
29 | GND | VD23/R5 | 30 | LCD_PWR | VD22/R4 |
31 | GPB1 | VD21/R3 | 32 | nRESET | GND |
33 | VM | VD20/R2 | 34 | VFRAME | VD19/R1 |
35 | VLINE | VD18/R0 | 36 | VCLK | GND |
37 | TSXM | VCLK | 38 | TSXP | GND |
39 | TSYM | L/R | 40 | TSYP | U/D |
41 | ? |
Stamp-Modul
JTAG
PIN | GPIO | PIN | GPIO |
---|---|---|---|
1 | VDD33V | 2 | VDD33V |
3 | nTRST | 4 | nRESET |
5 | TDI | 6 | TDO |
7 | TMS | 8 | GND |
9 | TCK | 10 | GND |
PA.1 / PB.1 / PC.1
PA.1 | PB.1 | PC.1 | ||||
---|---|---|---|---|---|---|
PIN | CON | GPIO | CON | GPIO | CON | GPIO |
1 | VDD5V | 5,0V | TSYM | ? | EINT7 | GPF7 |
2 | GND | GND | TSYP | ? | EINT9 | GPG1 |
3 | EINT19 | GPG11 | TSXM | ? | LnGCS1 | |
4 | EINT18 | GPG10/nCTS1 | TSYM | ? | LnGCS3 | |
5 | EINT17 | GPG9/nRST1 | VD22 | GPD14 | LnGCS2 | |
6 | EINT16 | GPG8 | VD23 | GPD15 | LnWBE1 | |
7 | EINT15 | GPG7/SPICLK1 | VD20 | GPD12 | LnGCS4 | |
8 | EINT14 | GPG6/SPIMOSI1 | VD21 | GPD13 | LnWE | |
9 | EINT13 | GPG5/SPIMISO1 | VD18 | GPD10 | LnOE | |
10 | EINT11 | GPG3/nSS1 | VD19 | GPD11 | nRESET | |
11 | EINT8 | GPG0 | VD16 | GPD8 | nWAIT | |
12 | EINT6 | GPF6 | VD17 | GPD9 | nXDACK0 | |
13 | EINT5 | GPF5 | VD14 | GPD6 | LADDR0 | |
14 | EINT4 | GPF4 | VD15 | GPD7 | nXDREQ0 | |
15 | EINT3 | GPF3 | VD12 | GPD4 | LADDR1 | |
16 | EINT2 | GPF2 | VD13 | GPD5 | LADDR2 | |
17 | EINT1 | GPF1 | VD10 | GPD2 | LADDR3 | |
18 | EINT0 | GPF0 | VD11 | GPD3 | LADDR4 | |
19 | WP_SD | GPH8 | VD8 | GPD0 | LADDR5 | |
20 | SDCLK | GPE5 | VD9 | GPD1 | LADDR6 | |
21 | SDCMD | GPE6 | VD6 | GPC14 | LADDR7 | |
22 | SDDATA2 | GPE9 | VD7 | GPC15 | LADDR8 | |
23 | SDDATA3 | GPE10 | VD4 | GPC12 | LADDR9 | |
24 | SDDATA0 | GPE7 | VD5 | GPC13 | LADDR10 | |
25 | SDDATA1 | GPE8 | VD2 | GPC10 | LADDR11 | |
26 | LCDVF2 | OM0 | VD3 | GPC11 | LADDR12 | |
27 | LCDVF0 | GPC5 | VD0 | GPC8 | LADDR13 | |
28 | M_nRESET | ? | VD1 | GPC9 | LADDR14 | |
29 | DN1 | DN1/PDN0 | LCD_PWR | GPG4 | LADDR15 | |
30 | DP1 | DP1/PDP0 | VM | GPC4 | LADDR16 | |
31 | DN0 | DN0 | VFRAME | GPC3 | LADDR17 | |
32 | DP0 | DP0 | VLINE | GPC2 | LADDR18 | |
33 | AIN2 | AIN2 | VCLK | GPC1 | LADDR19 | |
34 | VDDRTC | 1,8V | LEND | GPC0 | LADDR20 | |
35 | AIN0 | AIN0 | CAMDATA7 | GPJ7 | LADDR21 | |
36 | AIN1 | AIN1 | CAMDATA6 | GPJ6 | LADDR22 | |
37 | L3MODE | GPB2 | CAMDATA5 | GPJ5 | LADDR23 | |
38 | L3DATA | GPB3 | CAMDATA4 | GPJ4 | LADDR24 | |
39 | L3CLOCK | GPB4 | CAMDATA3 | GPJ3 | LDATA0 | |
40 | I2SLRCK | GPE0 | CAMDATA2 | GPJ2 | LDATA1 | |
41 | I2SSCLK | GPE1 | CAMDATA1 | GPJ1 | LDATA2 | |
42 | CDCLK | GPE2 | CAMDATA0 | GPJ0 | LDATA3 | |
43 | I2SSDI | GPE3 | CAMCLK | GPJ11 | LDATA4 | |
44 | I2SSDO | GPE4 | CAM_PCLK | GPJ8 | LDATA5 | |
45 | GPB0 | GPB0 | CAM_VSYNC | GPJ9 | LDATA6 | |
46 | GPB1 | GPB1 | CAM_HREF | GPJ10 | LDATA7 | |
47 | TXD2 | GPH6 | EINT20 | GPG12 | LDATA8 | |
48 | RXD2 | GPH7 | CAMRST | GPJ12 | LDATA9 | |
49 | TXD1 | GPH4 | VDD5V | 5,0V | LDATA10 | |
50 | RXD1 | GPH5 | GND | GND | LDATA11 | |
51 | TXD0 | GPH2 | LDATA12 | |||
52 | RXD0 | GPH3 | LDATA13 | |||
53 | nCTS0 | GPH0 | LDATA14 | |||
54 | nRTS0 | GPH1 | LDATA15 | |||
55 | I2CSDA | GPE15 | VDD5V | |||
56 | I2CSCL | GPE14 | GND |
Peripherie Beschaltung
SDK-Bord
Stamp-Modul
Links/Downloads
Software
s3c2410 USB DL Tool für Linux Crosscompiler von CodeSourcery
Hardware
I2C TCN75 Sensorauswertung mit Dastellung über das rrdtool. Einige Basteleien (Tempsensor, RGB Treiber, MEMS ... Programm Beispiele für WinCE und QT
Datenblätter
Anleitung(Chinesisch) Dimension Stamp-Modul Micro2440 + SDK-Schaltplan 7" LCD Schaltplan 3,5" LCD Schaltplan
Händler
Bezugsquelle Watterott