Reprogramming a Dead Board

This procedure will allow you to reprogram the User Boot Loader (UBL) and u-Boot image on a MityDSP-L138/MityARM-1808 module via the serial port AIS bootloader (via UART1, the console port for MityDSP-L138). The AIS bootloader is entered by holding the boot-option button down while resetting (or powering up) a board installed on the Industrial I/O board.

This procedure should only be needed if a user has corrupted the base of the SPI-NOR FLASH containing the factory installed user-boot-loader and boot image.

This procedure should not be used if a user can boot to the u-Boot prompt.

This procedure does not restore kernel/FPGA or root filesystem/NAND data.

Requirements:
  1. industrial I/O board or host board with capability to pull ext-boot pin option low.
  2. PC running Windows XP/Vista with a serial port

Procedure:

  1. extract the files in the attached zip file to a directory on your PC
  2. Connect the PC serial port to the console port of the MityDSP-L138 host board.
  3. Start a command line on the PC with Start-->Run "cmd"
  4. change directories to the location of the files extracted from the zip file
  5. Run the command:
    c:\yourlocation> sfh_OMAP-L138 -flash -v -p COMx UBL_SPI_MEM.ais u-boot.bin
    

    In the command, COMx should be replaced with the proper COM port number (e.g., COM1, COM3, etc.) of the serial port attached to the MityDSP-L138 host board.
  6. While holding the 'boot me' button, apply power or reset the MityDSP-L138 host board. If successful, you should see text on the console similar to:
    (AIS Parse): BOOTME received!
    (AIS Parse): Performing Start-Word Sync...
    (AIS Parse): Performing Ping Opcode Sync...
    (AIS Parse): Processing command 0: 0x58535901.
    (AIS Parse): Performing Opcode Sync...
    (AIS Parse): Loading section...
    (AIS Parse): Loaded 8484-Byte section to address 0x80000000.
    (AIS Parse): Processing command 1: 0x58535901.
    (AIS Parse): Performing Opcode Sync...
    (AIS Parse): Loading section...
    (AIS Parse): Loaded 716-Byte section to address 0x80002124.
    (AIS Parse): Processing command 2: 0x58535906.
    (AIS Parse): Performing Opcode Sync...
    (AIS Parse): Performing jump and close...
    (AIS Parse): AIS complete. Jump to address 0x80000000.
    (AIS Parse): Waiting for DONE...
    (AIS Parse): Boot completed successfully
    

At this point, the user-boot-loader and the u-Boot image should be reprogrammed into the SPI-NOR flash. You should be able to launch your terminal program and reset the host board and see the u-Boot prompt as expected.

If you get a message:

*** Warning - bad CRC, using default environment

in the u-Boot startup, then the u-Boot environment has been reset. You will need to restore any environment settings you had added to your system, and the save the environment using "saveenv".

If you get a message

Error - Checksum on MityDSP-L138 Config Block Checksum Invalid.
You must set the config to FLASH to make permanent

in the u-Boot startup, then the OMAP peripheral configuration block (which selects which emac interface to use, ports to configure, etc.) must be reset and saved. For the industrial I/O board, the default settings should be OK. You can apply the settings be running (and just hitting return for all the prompts):
U-Boot > config set
Ethernet Config : 2  [default]
UART - 0 Configuration ---
Enable UART : 0  [default]
UART - 1 Configuration ---
Enable UART : 1  [default]
Baud : 115200  [default]
HW Flow Control : 0  [default]
Is Console : 1  [default]
UART - 2 Configuration ---
Enable UART : 0  [default]
SPI - 0 Configuration ---
Enable SPI : 0  [default]
SPI - 1 Configuration ---
Enable SPI : 1  [default]
CLK is Output : 1  [default]
Chip Select [0] Enable : 01  [default]
Chip Select [1] Enable : 00  [default]
Chip Select [2] Enable : 00  [default]
Chip Select [3] Enable : 00  [default]
Chip Select [4] Enable : 00  [default]
Chip Select [5] Enable : 00  [default]
Chip Select [6] Enable : 00  [default]
Chip Select [7] Enable : 00  [default]
ENA ENable : 0  [default]
CLK Rate : 30000000  [default]
LCD Configuration  [default]
LCD Enable : 0  [default]
U-Boot > config save
Configuration Saved

Finally, to get the board to boot off of flash:

run flashbootargs

Note: Serial flash programming utilities can be found in the MDK ( see http://support.criticallink.com/redmine/projects/arm9-platforms/files )

Add picture from clipboard (Maximum size: 500 MB)