Reprogramming the Bootloader¶
Reflashing U-Boot¶
If you need to reflash the u-boot image to your board, you can follow the instructions below. WARNING: failure to perform this step correctly will "brick" your board, and you'll need to use an emulator or a serial based loader to recover functionality (or return it to Critical Link for servicing).
Note: To produce a u-boot-ubl.bin file, follow the steps outlined in Second Stage Das U-Boot Port.
U-Boot > tftp 0xc0700000 myserver:/path/to/u-boot-ubl.bin; U-Boot > sf probe 0; U-Boot > sf erase 0x10000 0x80000; U-Boot > sf write 0xc0700000 0x10000 ${filesize}
When you reset, if you get any messages about invalid configurations, you will need to rerun the configuration routines (e.g., "config set" followed by "config save" or "factoryconfig set" followed by "factoryconfig save"). Contact Critical Link for assistance in this situation.
Reprogramming a Dead/Bricked 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:- Industrial I/O board or host board with capability to pull ext-boot pin option low.
- PC running Windows XP/Vista/7/10 with a serial port (Note: Utility can be run from Linux using mono)
Procedure:
- Extract the latest files in this zip file (Dead Board Programming Files) to a directory on your PC.
- The readme.txt file within details the files included and MD5sums for verification
- Alternatively, follow the steps outlined in First Stage User Boot Loader and Second Stage Das U-Boot Port to generate the necessary UBL_SPI_MEM.ais and u-boot.bin files.
- Connect the PC serial port to the console port of the MityDSP-L138 host board.
- Start a command line on the PC with Start-->Run "cmd"
- Change directories to the location of the files extracted from the zip file
- 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.
Linux:mono sfh_OMAP-L138.exe -flash -v -p /dev/ttyUSB0 UBL_SPI_MEM.ais u-boot.bin
- 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] MMC 0 Configuration MMC 0 Enable : 1 Write Protect Pin bank : 4 Write Protect Pin bank offset : 1 Card Detect Pin bank : 4 Card Detect Pin bank offset : 0 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 )
To restore the u-Boot default environment, execute the following commands from u-Boot:
sf probe 0 sf erase 0x90000 0x10000
uBoot Date and Programming Files Download Link |
Jan 03 2018 - 11:30:43 |
Mar 31 2011 - 19:39:18 |
Go to top