Sunday, March 6, 2011

Instruction For Setting and Booting TI's OMAP3 Device Family up(ARM Architecture)

I thought that it can be useful if I mention very short about how to boot and set up OMAP3 device family. I use a low-cost, fan-less single-board computer with a TI OMAP3530 processor (ARM Cortex-A8 superscalar core ~600MHz paired with a TMS320C64x+ DSP ~430MHz and an Imagination SGX 2D/3D graphics processor). For more detail, click here: OMAP3530 features

Here is a picture of my ARM-based board rev C4:

Rev 4 has 720MHz capable OMAP3 processor and Improved USB Host PHY power rails. For booting this board, you should use MMC/SD memory and usb cable connected to computer to get console and set configurations on the board. In my previous bolg pages, I mentioned that how you can set up minicom in order to communicate with board.
These are the short instructions for preparing your board:
  1. Making partitions for your SD card. You can use fdisk or the easier way that I used is Gparted. use yum install gparted to install the software and put your SD card in the SD card slot in your computer and make 2 partitions. 100 MB for first partition would be fine and allocate the rest of space for second partition.
  2. Format your partitions with ext2 or ext3 using mkfs command. 
  3. If your MMC/SD card formatting is correct and you put MLO, u-boot.bin and uImage on the card (first partition) you should get a u-boot prompt after booting beagle board. for more details about MLO,u-boot.bin and uImage, click on the link above. 
You have 2 options: 1) Automatic boot after 10 seconds, or 2) Manually boot. I use manually boot for now since you can customize the boot setting, environment variables, and args and it is more flexible.

For manually boot, these are instructions to get logging prompt:

  1. mmc init   -------------> to get access to your SD card
  2. fatload mmc 0 80200000 uImage  ---------> to load your generic kernel to memory with address of 80200000 in hexadecimal.
  3. setenv bootargs console=ttyS2,115200n8 noinitrd root=b302 rootfstype=ext2 eq rootdelay=1 nohz=off  ---------> these are the boot args for kernel which is passed to kernel during the boot. The root=b302 is the address of my second partition on the SD card which contains the rootfs (in this case, Fedora 13 ARM beta). You should download the rootfs, decompress, and put it in your second partition. As you see, I do not use initrd for now since I am just trying to boot the board right now and I will use initramfs later.
  4. bootm 0x80200000 ------------> the last command that you should use is bootm. It runs the uImage, which is in the memory, and you will see the logging prompt.
I hope that these short form instructions for booting Fedora-ARM based board would be useful. Please put your comments and questions.

Khosro Taraghi 

No comments:

Post a Comment