Mini2440

= Hardware=




 * Dimension: 100 x 100 mm
 * CPU: 400 MHz Samsung S3C2440A ARM920T (max freq. 533 MHz)
 * RAM: 64 MB SDRAM, 32 bit Bus
 * Flash: 64 MB / 128 MB / 256 MB / 1GB NAND Flash and 2 MB NOR Flash with BIOS
 * EEPROM: 256 Byte (I2C)
 * Ext. Memory: SD-Card socket
 * Serial Ports: 1x DB9 connector (RS232), total: 3x serial port connectors
 * USB: 1x USB-A Host 1.1, 1x USB-B Device 1.1
 * Audio Output: 3.5 mm stereo jack
 * Audio Input: Connector + Condenser microphone
 * Ethernet: RJ-45 10/100M (DM9000)
 * RTC: Real Time Clock with battery
 * Beeper: PWM buzzer
 * Camera: 20 pin (2.0 mm) Camera interface
 * LCD Interface: 41 pin (1.0 mm) connector for FriendlyARM Displays and VGA Board
 * Touch Panel: 4 wire resistive
 * User Inputs: 6x push buttons and 1x A/D pot
 * User Outputs: 4x LEDs
 * Expansion: 40 pin System Bus, 34 pin GPIO, 10 pin Buttons (2.0 mm)
 * Debug: 10 pin JTAG (2.0 mm)
 * Power: regulated 5V (DC-Plug: 1.35mm inner x 3.5mm outer diameter)
 * Power Consumption: Mini2440: 0.3 A, Mini2440 + 3.5" LCD: 0.6 A, Mini2440 + 7" LCD: 1 A

= Barebox =

Barebox uses the same build (Kbuild) and configuration (Kconfig) tools as the Linux kernel.

1) First you need to clone the tree

git clone git://git.pengutronix.de/git/barebox.git

Most probably you want to use a released Barebox version, by running 'git checkout '. Check which versions are available with 'git tag -l' and use the latest one.

2) Then you need to configure it:

make mini2440_defconfig

3) Compile it

make

4) Now you need to flash the nand for this you can use OpenOCD

= OpenOCD =

now you need so start OpenOCD. For this you need to specify the interface (First) and then the board

for this I just a Jlink

openocd -f interface/jlink.cfg -f target/samsung_s3c2440.cfg -c "adapter_khz 12000"

Flashing barebox And then the following steps:
 * connect a terminal application to the mini2440's serial connector
 * connect the mini2440 to a working network
 * switch S2 to boot from NOR to boot into 'supervivi'
 * switch on your mini2440
 * run the OpenOCD daemon configured with the file shown above
 * connect to the OpenOCD daemon via 'telnet'.
 * run the following commands to download a barebox into your target

> halt > load_image \ 0x31000000 bin > resume 0x31000000

Now a barebox is starting from an already initialized CPU and SDRAM (done by 'supervivi').

Change to your terminal console and configure the network first. Adapt the following settings to your network:

eth0.ipaddr=192.168.1.240 eth0.netmask=255.255.255.0 eth0.gateway=192.168.23.2 eth0.serverip=192.168.1.7

A 'ping' to your TFTP server should bring a "...is alive" message now.

We are ready now to program a barebox into the NAND flash:

erase /dev/nand0.barebox.bb tftp barebox.bin /dev/nand0.barebox.bb