Mini2440

From eLinux.org
Revision as of 08:32, 28 October 2011 by Plagnioj (Talk | contribs) (Created page with "= 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 an...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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