Difference between revisions of "i.MX51 SODIMM PC Loading bootloader"
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | [[Category:i.MX51 SODIMM PC - Development | + | [[Category:i.MX51 SODIMM PC - Development Kit]] |
[[Category:i.MX51 SODIMM PC Recovery]] | [[Category:i.MX51 SODIMM PC Recovery]] | ||
<!-- --> | <!-- --> | ||
<div style="float:right">__TOC__</div> | <div style="float:right">__TOC__</div> | ||
− | This page shows the steps how to initiate On-Chip Debugging and load bootloader into i.MX51 SODIMM PC - Development | + | This page shows the steps how to initiate On-Chip Debugging and load bootloader into i.MX51 SODIMM PC - Development Kit. |
== JTAG Debugger and Programmer Installation == | == JTAG Debugger and Programmer Installation == | ||
* Connect JTAG Cable to USB port on a computer. JTAG device should be automatically recognized and prepared for usage. | * Connect JTAG Cable to USB port on a computer. JTAG device should be automatically recognized and prepared for usage. | ||
− | * Download [http://downloads.voipac.com/files/i.MX51_SODIMM_PC- | + | * Download [http://downloads.voipac.com/files/i.MX51_SODIMM_PC-Development_Kit/tools/jtag/binaries/openocd-0.6.0-vmx0.zip OpenOCD v0.6.0 software] |
* Unzip the files | * Unzip the files | ||
− | [[image: | + | [[image:JTAG_cable_with_serial_line.jpg|400px]] |
== Running Open On-Chip Debugger == | == Running Open On-Chip Debugger == | ||
Line 16: | Line 16: | ||
openocd.exe -f wmx51w.cfg | openocd.exe -f wmx51w.cfg | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[image:i.MX51_SODIMM_PC-Development_Kit-JTAG_debugging. | + | [[image:i.MX51_SODIMM_PC-Development_Kit-JTAG_debugging.png|580px]]<br /><br /> |
Debugging session is opened and running:<br /> | Debugging session is opened and running:<br /> | ||
− | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_running. | + | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_running.png|580px]]<br /> |
== Connecting to Open On-Chip Debugger session == | == Connecting to Open On-Chip Debugger session == | ||
Line 27: | Line 27: | ||
telnet localhost 4444 | telnet localhost 4444 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[image:i.MX25_SODIMM_Base_Board-Telnet. | + | [[image:i.MX25_SODIMM_Base_Board-Telnet.png|400px]]<br /><br /> |
Telnet session is active and ready for use:<br /> | Telnet session is active and ready for use:<br /> | ||
− | [[image:i.MX25_SODIMM_Base_Board-Telnet_ready. | + | [[image:i.MX25_SODIMM_Base_Board-Telnet_ready.png|580px]]<br /> |
=== Using terminal emulator === | === Using terminal emulator === | ||
To open Telnet service using TeraTerm program, click on File/New Connection, select TCP/IP option and type '''4444''' into TCP port# field. The IP address to connect to is '''localhost''' (127.0.0.1):<br /> | To open Telnet service using TeraTerm program, click on File/New Connection, select TCP/IP option and type '''4444''' into TCP port# field. The IP address to connect to is '''localhost''' (127.0.0.1):<br /> | ||
− | [[image:i.MX25_SODIMM_Base_Board-Telnet_session. | + | [[image:i.MX25_SODIMM_Base_Board-Telnet_session.png|400px]]<br /><br /> |
TeraTerm session is running and ready for use:<br /> | TeraTerm session is running and ready for use:<br /> | ||
− | [[image:i.MX25_SODIMM_Base_Board-Telnet_ready_TeraTerm. | + | [[image:i.MX25_SODIMM_Base_Board-Telnet_ready_TeraTerm.png|580px]]<br /> |
== Establishing serial connection == | == Establishing serial connection == | ||
− | Open TeraTerm program, click on File/New Connection, choose Serial and select the port which was assigned to the serial console | + | Open TeraTerm program, click on File/New Connection, choose Serial and select the port which was assigned to the serial console:<br /> |
− | [[image:i.MX25_SODIMM_Base_Board-Serial_connection. | + | [[image:i.MX25_SODIMM_Base_Board-Serial_connection.png|400px]]<br /><br /> |
A successful connection is created only if the following serial port settings are applied (115200, 8n1):<br /> | A successful connection is created only if the following serial port settings are applied (115200, 8n1):<br /> | ||
− | [[image:i.MX25_SODIMM_Base_Board-Serial_console_settings. | + | [[image:i.MX25_SODIMM_Base_Board-Serial_console_settings.png|580px]]<br /><br /> |
== Boot mode options == | == Boot mode options == | ||
H902 jumper (BOOTMODE) allows to choose different bootloader sources: | H902 jumper (BOOTMODE) allows to choose different bootloader sources: | ||
− | * ''' | + | * '''Direct Boot''' is enabled when a link is placed between pins 1 and 2 |
− | * ''' | + | * '''Serial boot''' (Internal boot) is selected when pins 2 and 3 are shortened. |
{|style="text-align:center;" | {|style="text-align:center;" | ||
− | |[[image:i. | + | |[[image:i.MX51_SODIMM_PC-Development_Kit-Direct_boot.jpg|296px]] |
− | |[[image:i. | + | |[[image:i.MX51_SODIMM_PC-Development_Kit-Serial_boot.jpg|296px]] |
|- | |- | ||
|Direct Boot | |Direct Boot | ||
|Serial Boot | |Serial Boot | ||
|} | |} | ||
− | + | <br /> | |
'''''Important:''''' In a standard module configuration serial (internal) boot mode is active by default. This setting has a higher priority than boot mode jumper selection. No boot mode changes are needed during firmware loading. | '''''Important:''''' In a standard module configuration serial (internal) boot mode is active by default. This setting has a higher priority than boot mode jumper selection. No boot mode changes are needed during firmware loading. | ||
Line 66: | Line 66: | ||
reset_halt | reset_halt | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_reset_halt. | + | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_reset_halt.png|580px]]<br /><br /> |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
step | step | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_step. | + | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_step.png|580px]]<br /><br /> |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
resume | resume | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_resume. | + | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_resume.png|580px]]<br /><br /> |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
vmx51_init | vmx51_init | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_init. | + | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_init.png|580px]]<br /><br /> |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
boot | boot | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_boot. | + | [[image:i.MX51_SODIMM_PC-Development_Kit-OpenOCD_boot.png|580px]]<br /><br /> |
Barebox was loaded into the i.MX51 SODIMM PC Module SRAM and executed:<br /> | Barebox was loaded into the i.MX51 SODIMM PC Module SRAM and executed:<br /> | ||
− | [[image:i.MX51_SODIMM_PC-Development_Kit-Bootloader_loaded. | + | [[image:i.MX51_SODIMM_PC-Development_Kit-Bootloader_loaded.png|580px]]<br /><br /> |
− | Module's MAC address | + | Module's MAC address was entered (it can be found on the sticker placed on the module):<br /> |
− | [[image:i.MX51_SODIMM_PC-Development_Kit-MAC_address. | + | [[image:i.MX51_SODIMM_PC-Development_Kit-MAC_address.png|580px]]<br /><br /> |
− | As | + | As this fresh Barebox is stored in SRAM only at this point, switching the module off causes the bootloader to be erased. To store the new Barebox and use it automatically after power on, image flashing is required. Follow [[i.MX51_SODIMM_PC_Pro_Flashing_images|this section]] to do so. |
Latest revision as of 18:22, 23 April 2022
This page shows the steps how to initiate On-Chip Debugging and load bootloader into i.MX51 SODIMM PC - Development Kit.
JTAG Debugger and Programmer Installation
- Connect JTAG Cable to USB port on a computer. JTAG device should be automatically recognized and prepared for usage.
- Download OpenOCD v0.6.0 software
- Unzip the files
Running Open On-Chip Debugger
Locate the folder where the software was unpacked. Run OpenOCD utility in command line (by using Total Commander or Windows Command Prompt):
openocd.exe -f wmx51w.cfg
Debugging session is opened and running:
Connecting to Open On-Chip Debugger session
Using Windows Telnet Client
Click on Start/Run (or press Windows key + R), and open the Telnet session using 4444 port:
telnet localhost 4444
Telnet session is active and ready for use:
Using terminal emulator
To open Telnet service using TeraTerm program, click on File/New Connection, select TCP/IP option and type 4444 into TCP port# field. The IP address to connect to is localhost (127.0.0.1):
TeraTerm session is running and ready for use:
Establishing serial connection
Open TeraTerm program, click on File/New Connection, choose Serial and select the port which was assigned to the serial console:
A successful connection is created only if the following serial port settings are applied (115200, 8n1):
Boot mode options
H902 jumper (BOOTMODE) allows to choose different bootloader sources:
- Direct Boot is enabled when a link is placed between pins 1 and 2
- Serial boot (Internal boot) is selected when pins 2 and 3 are shortened.
Direct Boot | Serial Boot |
Important: In a standard module configuration serial (internal) boot mode is active by default. This setting has a higher priority than boot mode jumper selection. No boot mode changes are needed during firmware loading.
Loading bootloader
The following commands need to be placed inside Localhost Telnet session and executed one by one. Console logs are included for comparison:
reset_halt
step
resume
vmx51_init
boot
Barebox was loaded into the i.MX51 SODIMM PC Module SRAM and executed:
Module's MAC address was entered (it can be found on the sticker placed on the module):
As this fresh Barebox is stored in SRAM only at this point, switching the module off causes the bootloader to be erased. To store the new Barebox and use it automatically after power on, image flashing is required. Follow this section to do so.