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 <version>'. 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 \<path to the 'barebox.bin'\> 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