Difference between revisions of "i.MX51 SODIMM PC Loading bootloader"

From Voipac Wiki
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:i.MX51 SODIMM PC - Development kit]]
+
[[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 kit.
+
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-Development_kit/tools/jtag/binaries/openocd-0.6.0-vmx0.zip OpenOCD v0.6.0 software]
+
* 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:iMX6_Rex_Development_kit-JTAG.jpg|400px]]
+
[[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.jpg|600px]]<br /><br />
+
[[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.jpg|600px]]<br />
+
[[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.jpg|250px]]<br /><br />
+
[[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.jpg|600px]]<br />
+
[[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.jpg|400px]]<br /><br />
+
[[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.jpg|600px]]<br />
+
[[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 device:<br />
+
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.jpg|400px]]<br /><br />
+
[[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.jpg|600px]]<br /><br />
+
[[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:
* '''Serial boot''' (Internal boot) is enabled when a link is placed between pins 1 and 2
+
* '''Direct Boot''' is enabled when a link is placed between pins 1 and 2
* '''Direct Boot''' is selected when pins 2 and 3 are shortened.
+
* '''Serial boot''' (Internal boot) is selected when pins 2 and 3 are shortened.
  
 
{|style="text-align:center;"
 
{|style="text-align:center;"
|[[image:i.MX25_SODIMM_Base_Board-Serial_boot.jpg|296px]]
+
|[[image:i.MX51_SODIMM_PC-Development_Kit-Direct_boot.jpg|296px]]
|[[image:i.MX25_SODIMM_Base_Board-Direct_boot.jpg|296px]]
+
|[[image:i.MX51_SODIMM_PC-Development_Kit-Serial_boot.jpg|296px]]
 
|-
 
|-
 
|Direct Boot
 
|Direct Boot
 
|Serial Boot
 
|Serial Boot
 
|}
 
|}
<br /><br />
+
<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.jpg|600px]]<br /><br />
+
[[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.jpg|600px]]<br /><br />
+
[[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.jpg|600px]]<br /><br />
+
[[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.jpg|600px]]<br /><br />
+
[[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.jpg|600px]]<br /><br />
+
[[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.jpg|600px]]<br /><br />
+
[[image:i.MX51_SODIMM_PC-Development_Kit-Bootloader_loaded.png|580px]]<br /><br />
  
Module's MAC address is required to enter (it can be found on the sticker placed on the module):<br />
+
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.jpg|600px]]<br /><br />
+
[[image:i.MX51_SODIMM_PC-Development_Kit-MAC_address.png|580px]]<br /><br />
  
As the 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_Flashing_images|this section]] to do so.
+
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

JTAG cable with serial line.jpg

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

i.MX51 SODIMM PC-Development Kit-JTAG debugging.png

Debugging session is opened and running:
i.MX51 SODIMM PC-Development Kit-OpenOCD running.png

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

i.MX25 SODIMM Base Board-Telnet.png

Telnet session is active and ready for use:
i.MX25 SODIMM Base Board-Telnet ready.png

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):
i.MX25 SODIMM Base Board-Telnet session.png

TeraTerm session is running and ready for use:
i.MX25 SODIMM Base Board-Telnet ready TeraTerm.png

Establishing serial connection

Open TeraTerm program, click on File/New Connection, choose Serial and select the port which was assigned to the serial console:
i.MX25 SODIMM Base Board-Serial connection.png

A successful connection is created only if the following serial port settings are applied (115200, 8n1):
i.MX25 SODIMM Base Board-Serial console settings.png

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.
i.MX51 SODIMM PC-Development Kit-Direct boot.jpg i.MX51 SODIMM PC-Development Kit-Serial boot.jpg
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

i.MX51 SODIMM PC-Development Kit-OpenOCD reset halt.png

step

i.MX51 SODIMM PC-Development Kit-OpenOCD step.png

resume

i.MX51 SODIMM PC-Development Kit-OpenOCD resume.png

vmx51_init

i.MX51 SODIMM PC-Development Kit-OpenOCD init.png

boot

i.MX51 SODIMM PC-Development Kit-OpenOCD boot.png

Barebox was loaded into the i.MX51 SODIMM PC Module SRAM and executed:
i.MX51 SODIMM PC-Development Kit-Bootloader loaded.png

Module's MAC address was entered (it can be found on the sticker placed on the module):
i.MX51 SODIMM PC-Development Kit-MAC address.png

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.