Micro2440

Wechseln zu: Navigation, Suche

--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)[Bearbeiten]

Micro2440.jpg
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)[Bearbeiten]

Micro2440-SDK.jpg
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[Bearbeiten]

U-Boot[Bearbeiten]

U-Boot aus den Quellen bauen[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Kernel aus den Quellen compilieren[Bearbeiten]

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[Bearbeiten]

 
 mkdir micro2440
 cd micro2440
 git clone git://repo.or.cz/linux-2.6/mini2440.git linux-2.6.32-rc8

Android[Bearbeiten]

 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[Bearbeiten]

Als erstes brauchen wir ein RootFS dieses brauchen wir um später die Partition damit zu füllen.

emDebian[Bearbeiten]

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[Bearbeiten]

http://distfiles.gentoo.org/releases/arm/autobuilds/current-stage3-armv4tl/

Android[Bearbeiten]

 
 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[Bearbeiten]

SD-Karte und USB Medien[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

emDebian/Gentoo[Bearbeiten]

Firstboot (Root Password)[Bearbeiten]

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[Bearbeiten]

Beispiel der /etc/fstab: Datei:Fstab.txt

/etc/X11/xorg.conf[Bearbeiten]

Beispiel xorg.conf fürs 7" Display: Datei:Xorg.conf.txt

Touchscreen kalibrieren[Bearbeiten]

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.)

Touch.jpg
        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[Bearbeiten]

echo ttySAC0 >> /etc/securetty 
printf "T0:123:respawn:/sbin/getty 115200 ttySAC0\n" >> /etc/inittab

Virtuelle Maus[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Sonstiges[Bearbeiten]

SD-Karte/USB-LW Backupen/Restore[Bearbeiten]

Backup[Bearbeiten]
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[Bearbeiten]
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[Bearbeiten]
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[Bearbeiten]

Microsdkbesch.png

Connector / GPIO Belegung[Bearbeiten]

SDK-Board[Bearbeiten]

RS232/TTL(CON1-3)[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

PIN CON9 CON10 GPIO
1 TSXM TSXM  ?
2 TSYM TSYM  ?
3 TSXP TSXP  ?
4 TSYP TSYP  ?

CON5[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

Microstampbesch.png

JTAG[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

SDK-Bord[Bearbeiten]

Stamp-Modul[Bearbeiten]

Links/Downloads[Bearbeiten]

Software[Bearbeiten]

s3c2410 USB DL Tool für Linux
Crosscompiler von CodeSourcery

Hardware[Bearbeiten]

I2C TCN75 Sensorauswertung mit Dastellung über das rrdtool.
Einige Basteleien (Tempsensor, RGB Treiber, MEMS ...
Programm Beispiele für WinCE und QT

Datenblätter[Bearbeiten]

Anleitung(Chinesisch)
Dimension Stamp-Modul
Micro2440 + SDK-Schaltplan
7" LCD Schaltplan
3,5" LCD Schaltplan

Händler[Bearbeiten]

Bezugsquelle Watterott