BeagleBone is a relatively cheap ($89), very capable ARMv7 dev kit from the same people who make the BeagleBoard.
The BeagleBone features:
- TI Sitara AM3359 720-MHz superscalar ARM Cortex™-A8
- 2x 200MHz ARM7 programmable real-time coprocessors
- PowerVR SGX 530 GPU & LCD expansion header
- 256-MB DDR2 RAM
- 1x USB 2.0 host port
- 1x USB 2.0 device port
- On-chip 10/100 Ethernet, not off of USB
- MicroSD slot
- On-board USB-to-serial/JTAG over shared USB device port
- Add-on "capes" for expansion like Arduino shields
- 4x User Controllable LEDs
- Industry standard 3.3V I/Os on the expansion headers with easy-to-use 0.1" spacing
- Multiple I/O bus: GPMC (nand), MMC, SPI, I2C, CAN
- 6 serial ports (1 over usb, 5 more on headers)
- 66 GPIO pins
- 8 PWM outputs
- 7 A/D converters
- Board size: 3.4” × 2.1”
- BeagleBone rev-A4 owners: Your device may have crippling issues with 100mbps ethernet.
- Read here for a simple fix: http://circuitco.com/support/index.php?title=BeagleBone#Known_Issues
SD Card Creation
- At a minimum, you need to create the first partition on an SD card to store the bootloader files and kernel uImage. For the root filesystem you can choose to use either a USB drive or the second partition on the SD card. This example will partition an SD card. Replace instances of /dev/sdX with the device that the card registers as on your computer.
- Start fdisk to partition the SD card:
- At the fdisk prompt, delete old partitions and create a new one:
- Type o. This will clear out any partitions on the drive.
- Type p to list partitions. There should be no partitions left.
- Now type n, then p for primary, 1 for the first partition on the drive, enter to accept the default first sector, then +64M to set the size to 64MB.
- Type t to change the partition type, then e to set it to W95 FAT16 (LBA).
- Type a, then 1 to set the bootable flag on the first partition.
- Now type n, then p for primary, 2 for the second partition on the drive, and enter twice to select the default first and last sectors.
- Write the partition table and exit by typing w.
- Create the FAT16 filesystem:mkfs.vfat -F 16 /dev/sdX1
- Create the ext4 filesystem:mkfs.ext4 /dev/sdX2
- Download the BeagleBone bootloader tarball and extract the files onto the first partition of the SD card. These files contain the bootloaders needed to load the kernel. The file MLO needs to be the first file put onto the FAT partition, and extracting the tarball as-is should do this for you. If you have problems getting to U-Boot, re-format and place the files manually.
wget http://archlinuxarm.org/os/omap/BeagleBone-bootloader.tar.gz mkdir boot mount /dev/sdX1 boot tar -xvf BeagleBone-bootloader.tar.gz -C boot umount boot
- Download the root filesystem tarball and extract it (as root, not via sudo) to the ext3 partition on either the SD card or the USB drive. It is important to do this as root, as special files need to be created as part of the filesystem that can only be created by root.
wget http://archlinuxarm.org/os/ArchLinuxARM-am33x-latest.tar.gz mkdir root mount /dev/sdX2 root tar -xf ArchLinuxARM-am33x-latest.tar.gz -C root umount root
- The bootloader tarball you downloaded while making your SD card contains a default U-boot configuration in the uEnv.txt file. If you need to change the configuration for any reason, just edit that file.
- The default uEnv.txt configuration file loads the kernel zImage and dtb from the second ext4 partition on the SD card, and tells the kernel to look for the root filesystem on the second partition.
TI AM3358 720Mhz