Texas Instruments TMS320DM357 DVEVM v2.05 Water System User Manual


 
Updating/Restoring the Bootloaders
Additional Procedures A-9
A.5 Updating/Restoring the Bootloaders
The DM357 EVM board contains 2 GB of NAND flash memory. During
the boot process 64 MB of NAND is used. After booting, 2 GB are used
for the file system.
When the EVM board is reset, the ROM bootloader (RBL) executes,
initializing the board and then loading a small program called UBL (User
Bootloader) from NAND flash memory into internal memory for
execution. UBL in turn loads the U-Boot bootloader program from NAND
flash memory. The U-Boot bootloader is responsible for loading and
starting the Linux kernel.
Therefore, there are two bootloader images that need to be stored in the
EVM's NAND flash memory: UBL and U-Boot. This section describes
how to flash UBL and U-Boot in case these images are corrupted or need
to be updated.
If the U-Boot image is intact in the EVM flash memory, you can use it to
update itself. If working U-Boot (or UBL) images are not present in flash,
you will need to restore these images using Code Composer Studio
(CCStudio) and an emulator. The subsections that follow explain both of
these procedures.
You can find UBL, U-Boot, and the NAND programmer pre-built binaries
in your DVSDK installation. The location for these is typically the
/home/<useracct>/dvsdk_#_#/PSP_#_#_#_#/bin/dm357 directory.
Alternatively, the source code for the Bootloader components can be
found in the /home/<useracct>/dvsdk_#_#/PSP_#_#_#_#/board_utilities
directory.
For further information about upgrading and flashing, see the TI DaVinci
Technology Developers Wiki at http://wiki.davincidsp.com.
A.5.1 Updating U-Boot Using U-Boot
If the U-Boot image is intact in the EVM flash memory, you can use it to
update itself by following these steps:
1) After aborting the automatic boot sequence, assign an IP address to
the EVM board using one of these methods:
If you are on a standalone network or using a network cross
cable to your workstation, you can assign a static IP address to
the EVM as follows:
EVM # setenv ipaddr <static IP address>