This document describes how to setup the OMAP2420 Software Development Platform boards provided by TI. SRG currently has six of these boards and four of these boards are operational.
The four operational OMAP2420 boards appear to be described by Texas Instruments as the OMAP2420 Software Development Platform (H4). The boards include an OMAP2420 ES2.0 (or higher) GP chip. ES2.0 is the revision of the chip design: Engineering Sample 2.0, and GP indicates that this chip is designed for general purpose use. The chip also comes in an HS variety which includes additional "high security" functions, and an EMU variety which "emulates" the "high security" functions. The two boards we have that are not currently functional appear to include the EMU or HS variety of the chip; we need more information from TI about how to load software on these systems.
TI's promotional material for the OMAP2420 can be found at: http://focus.ti.com/general/docs/wtbu/wtbusplashcontent.tsp?templateId=6123&contentId=4750#h4 (link retrieved 17-Mar-2008)
Some open source software for these boards can be found at: http://focus.ti.com/general/docs/wtbu/wtbusplashcontent.tsp?templateId=6123&contentId=4750#h4 (link retrieved 17-Mar-2008)
This section described how to load the U-Boot boot loader onto the boards. U-Boot has already been installed on the four operational boards; so this step should only need to be repeated if an upgraded version of U-Boot is being installed.
The boot loader is loaded into the NOR flash on the boards; this is done using the CSST tool from Texas Instruments. For he initial bringup of these boards version 1.5 of CSST for OMAP242X was used. The u-boot binaries were obtained from: http://linux.omap.com/pub/bootloader/h4/
|On||Off||On||Off when flashing; On for normal operation|
U-Boot is loaded to flash using a serial connection. Connect a serial cable to the Windows system where you installed the CSST program, and connect the other end to UART port marked "J400 UART" on the SDP main board. Connect the SDP power cable to the connector marked "J307 charger." This connection is immediately adjacent to the "J400 UART" port.
Run CSST and add the "SDP2420(ES2.05 and higher.ES2.02 POP)" target. A tree view called "Target" should appear on the left. Find the "Download" item in this tree. In the download box, make sure the Download tab is selected. Choose the "NOR" device type and add the uboot.bin file in the program box. The address should be 0x04000000. Click the download button. A box saying "Reset Target to proceed" should appear. At this point move, the power switch S302 to the "DC WALL" position. The "Reset Target...." box should disappear and there should be some indication that flashing is taking place. You should also get an indication that flashing is complete.
If the "Reset Target..." box does not disappear, try pressing the "S301 RESET" button.
Flashing the boot loader is done at this point.
Now that the boot loader has been flashed, we need to make sure U-boot has been configured properly. If it is still open close the CSST tool from the previous step, and then open your favorite terminal program on your PC. The serial cable needs to be moved from the "J400 UART" port on the main board to the J9 port on the debug board. Make sure that switch 4 on the SW4 header on the processor daughter card is in the on position, and power cycle the board.
When u-boot starts up it prints a small amount of diagnostic information and then the prompt:
At this prompt, you can type help to get a list of u-boot commands, and help <commandname> gives more information about a particular command.
Please work with TSG to obtain a proper IP address and host name for any new boards being setup. The following u-boot commands can be used to give the board the static IP address 184.108.40.206. This IP address is currently used by the old OMAP1610 board named omap1, so make sure it is disconnected from the network before using these settings.
To save these settings so that they will be reloaded the next time u-boot is started, run the command saveenv at the u-boot prompt.
After u-boot has been configured for network access, you can use the nfs command in u-boot to load a kernel into memory. This command loads the kernel into RAM at 0x80300000 from the NFS server at 220.127.116.11 (which is the IP address of srga.cs.uiuc.edu). The pathname is the complete path to exported kernel image:
If you plan to write this kernel to flash, make note of the kernel's size in hexadecimal as reported by this command.
By default, the Linux kernel of the OMAP2420 H4 board is configured with four NOR flash partitions. This can be verified for looking for text similar to the following when the kernel boots:
This means that the kernel image needs to be placed into the flash in the space between 0x04060000 and 0x0425FFFF. In u-boots view of the flash this equates to flash blocks 3 through 18. (You can run the u-boot command flinfo for more information about the flash blocks.) Before writing to these blocks, we need to disable protection for these blocks and erase the blocks:
Then assuming a kernel image is loaded into RAM at 0x80300000, the following command can be used to copy the kernel into flash. The third number is the size of the kernel in hexadecimal bytes (this number should be reported when you load the kernel using the NFS command above).
As discussed in the previous section, the default configuration for the OMAP2420 H4 board is for the file system to be placed between 0x042600000 and 0x07FFFFFF in the NOR flash. This should correspond to blocks 19 through 255 in u-boot. Just as when we flashed the kernel we need to remove protection for these blocks and then erase the blocks:
We can also use NFS to load the root file system into RAM. This command copies a root file system image from srga.cs.uiuc.edu to RAM address 0x80300000:
Make note of the image size in hexadecimal bytes, and use that as the third parameter when copying the image from RAM to NOR:
U-boot uses its bootargs environment variable to store the command line for the Linux kernel. You can run printenv to examine U-boot's environment variables.
In order to boot using an ext2 file system saved to flash memory configure the bootargs variable with this command:
If you are using a different type of file system, change the rootfstype command line parameter.
To boot over NFS, you can use the following kernel command line parameters:
You will need to updated the nfsroot= and ip= directives as appropriate for your system.
U-boot environment variables are saved by running saveenv at the u-boot prompt.
The bootm command is used to boot a kernel image. It takes the address of the kernel to boot as a parameter. To boot the kernel saved in flash you can run:
Alternatively, you can boot a kernel directly from RAM. Assuming you used NFS or another mechanism to load the kernel into RAM at 0x80300000 use the following command:
You can also have u-boot automatically run a command at boot time by setting the bootcmd environment variable. This command will cause the kernel saved into flash to automatically boot at power up:
Don't forget to use saveenv to save the u-boot settings.
TI page with development tools for the OMAP2420 platform: http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&navigationId=12013&contentId=4581
Marketing information about the OMAP2420:
Software images for OMAP2420 H4 board:
TI Linux Community: