Difference between revisions of "Calao Atmel AT91 development board"

From eLinux.org
Jump to: navigation, search
(USB-A9G20-LPW-C01)
(Linux)
Line 183: Line 183:
  
 
Note that the kernel you see in this log is a development kernel using the Device tree
 
Note that the kernel you see in this log is a development kernel using the Device tree
 +
 +
nb: sometime the nfs timeout to boot again just type boot enter
  
 
  barebox 2011.10.0-00144-gc9145e1 (Oct 25 2011 - 17:48:18)
 
  barebox 2011.10.0-00144-gc9145e1 (Oct 25 2011 - 17:48:18)

Revision as of 06:04, 27 October 2011

Calao System propose Atmel AT91 ARM development Board with small form factor USB, Tiny, QIL

USB Form Factor

USB-A9G20-LPW-C01

USB-A9G20-LPW-C01-TOP-0-25.jpg

Booard Dimension 36 x 85 mm
Soc ATMEL AT91SAM9G20 @ 400MHz
NAND 256MB NAND Flash (8bits),
SDRAM 64MB SDRAM (32bits @ 133MHz)
Ethernet 1x 10/100
USB Host 2x Ports
USB Device 1x Port USB (front shared with DBGU/JTAG or back)
Debug 1x JTAG & 1x DBGU over USB (FTDI FT2232D) or 1x JTAG & 1x DBGU on board
RTC 1
SD Card 1x Micro-SD (SPI under ethernet port) or 1 via Expansion port
Expansion 1x 50 pins connector (I2C, SPI, USART, SSC, MCI, ISI, TC)

AT19Bootstrap

Barebox

You can use barebox on with the following support

uart
nand
ethernet
usb host
sd card (mci)
spi
generic barebox features (menu, hush, multi-devices, etc...)

1) First you need to clone the tree

The board support is currently in the next branch

git clone git://git.pengutronix.de/git/barebox.git
git checkout -b work origin/next

2) Then you need to configure it

For the 64 MiB board

make usb_a9g20_defconfig

For the 128 MiB board

make usb_a9g20_128mib_defconfig

3) Compile it

make

4) Flash it

now you need to flash it via

SAM-BA
OpenOCD

5) start the board

barebox 2011.10.0-00144-gc9145e1 (Oct 25 2011 - 17:48:18)

Board: Calao USB-A9G20
Clocks: CPU 399 MHz, master 133 MHz, main 12.000 MHz
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xaa (Micron NAND 256MiB 1,8V 8-bit)
Scanning device for bad blocks
Bad eraseblock 591 at 0x049e0000
Bad eraseblock 920 at 0x07300000
Bad eraseblock 1026 at 0x08040000
Bad eraseblock 1388 at 0x0ad80000
Bad eraseblock 1764 at 0x0dc80000
Malloc space: 0x23500000 -> 0x23f00000 (size 10 MB)
Stack space : 0x234f8000 -> 0x23500000 (size 32 kB)
envfs: wrong magic on /dev/env0
no valid environment found on /dev/env0. Using default environment
running /env/bin/init...

Hit any key to stop autoboot:  0
barebox@Calao USB-A9G20:/
#

Linux

You can use the mainline kernel (merge in release 3.1)

1) First you need to clone the tree

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
git checkout -b work  

2) Then you need to configure it

currently no defconfig is merge for the next release you could use at91sam9g20_defconfig but right now you need to use at91sam9g20ek_defconfig and select it via Kconfig "CALAO USB-A9G20"

make at91sam9g20ek_defconfig
make menuconfig

or

make at91sam9g20ek_defconfig
sed -i -e "s:# CONFIG_MACH_USB_A9G20 is not set:CONFIG_MACH_USB_A9G20=y:g" .config

3) Compile it

make uImage

4) Run it

You can run it via nfs or tftp from barebox

for this you need to modify the /env/config

a) on board

via

ed /env/config

b) on pc

by editing

diff --git a/arch/arm/boards/usb-a926x/env/config b/arch/arm/boards/usb-a926x/env/config
index d77f678..660cb3c 100644
--- a/arch/arm/boards/usb-a926x/env/config
+++ b/arch/arm/boards/usb-a926x/env/config
@@ -2,16 +2,16 @@
 
 # use 'dhcp' to do dhcp in barebox and in kernel
 # use 'none' if you want to skip kernel ip autoconfiguration
-ip=dhcp
+#ip=dh
 
 # or set your networking parameters here
-#eth0.ipaddr=a.b.c.d
-#eth0.netmask=a.b.c.d
-#eth0.gateway=a.b.c.d
-#eth0.serverip=a.b.c.d
+eth0.ipaddr=192.168.201.33
+eth0.netmask=255.255.255.0
+eth0.gateway=192.168.201.98
+eth0.serverip=192.168.201.98
 
 # can be either 'nfs', 'tftp', 'nor' or 'nand'
-kernel_loc=tftp
+kernel_loc=nfs
 # can be either 'net', 'nor', 'nand' or 'initrd'
 rootfs_loc=net
 
@@ -29,6 +29,9 @@ kernelimage=uImage
 #kernelimage_type=raw_lzo
 #kernelimage=Image.lzo
 
+nfsroot="${eth0.serverip}:/opt/work/buildroot/build/usb_9g20/target/"
+kernelimage="/opt/work/buildroot/build/usb_9g20/images/uImage-usb-a9g20"
+
 nand_device=atmel_nand
 nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),4M(kernel),120M(rootfs),-(data)"
 rootfs_mtdblock_nand=5

5) start the board

Note that the kernel you see in this log is a development kernel using the Device tree

nb: sometime the nfs timeout to boot again just type boot enter

barebox 2011.10.0-00144-gc9145e1 (Oct 25 2011 - 17:48:18)

Board: Calao USB-A9G20
Clocks: CPU 399 MHz, master 133 MHz, main 12.000 MHz
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xaa (Micron NAND 256MiB 1,8V 8-bit)
Scanning device for bad blocks
Bad eraseblock 591 at 0x049e0000
Bad eraseblock 920 at 0x07300000
Bad eraseblock 1026 at 0x08040000
Bad eraseblock 1388 at 0x0ad80000
Bad eraseblock 1764 at 0x0dc80000
Malloc space: 0x23500000 -> 0x23f00000 (size 10 MB)
Stack space : 0x234f8000 -> 0x23500000 (size 32 kB)
envfs: wrong magic on /dev/env0
no valid environment found on /dev/env0. Using default environment
running /env/bin/init...

Hit any key to stop autoboot:  0
warning: No MAC address set. Using random address D2:E7:9F:56:A2:96
phy0: Link is up - 100/Full
T T 
Filename '/opt/work/buildroot/build/usb_9g20/images/uImage-usb-a9g20'.
       [#################################################################]