Hello Friends,
I am trying to boot u-boot using Olimex ARM-USB-OCD JTAG on imx28evk. The JTAG gets connected properly but failed to execute the "u-boot.bin" image loaded in RAM.
Below are the steps:
1) Configure the BOOT Switch in NAND boot mode
2) Connect the JTAG with the board
3) Open the Debug Serial Console for i.mx28 under Putty
4) On Linux PC Machine ran the openocd using below command:
test@test-VirtualBox:~/openocd-0.7.0/tcl$ sudo openocd -f interface/olimex-arm-usb-ocd.cfg -f board/imx28evk.cfg
Open On-Chip Debugger 0.7.0 (2014-03-17-18:03)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
dcc downloads are enabled
adapter speed: 9000 kHz
test_init
Info : clock speed 6000 kHz
Info : JTAG tap: imx28.cpu tap/device found: 0x079264f3 (mfg: 0x279, part: 0x7926, ver: 0x0)
Info : Embedded ICE version 6
Info : imx28.cpu: hardware has 2 breakpoint/watchpoint units
4) Open the Telnet to JTAG at port 4444. Ran the Init for imx28 and load the image
test@test-VirtualBox:~/openocd-0.7.0/tcl$ telnet localhost 4444
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> imx28evk_init
target state: halted
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x00000073 pc: 0xfffe6478
MMU: disabled, D-Cache: disabled, I-Cache: disabled
> load_image u-boot.bin 0x40000100
No working memory available. Specify -work-area-phys to target.
not enough working area available(requested 24)
no working area available, falling back to memory writes
444820 bytes written at address 0x40000100
downloaded 444820 bytes in 97.281677s (4.465 KiB/s)
5) Execute the loaded image:
> resume 0x40000100
>
6) Nothing comes out of Debug Console it remains blank.
Can anyone share their views what I am missing here? I have referred links: https://community.freescale.com/thread/302010 and https://community.freescale.com/thread/309446 but still couldnt able to boot u-boot from RAM.
Additional Info Output at telnet prompt:
> scan_chain
TapName Enabled IdCode Expected IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
0 imx28.cpu Y 0x079264f3 0x079264f3 4 0x01 0x0f
Thank you in Advance.
Regards,
Ankur
Dear Ankur Patel,
Thank you for your post, however please consider moving it to the right community place (e.g. i.MX Community ) for better visibility.
For details please see general advice https://community.freescale.com/docs/DOC-99909
Thank you for using Freescale Community.
Regards,
Wlodek_D.
Hello Wlodek_D,
Thank you for pointing out. I am sorry, I missed selecting correct community.
Regards,
Ankur
For More Information: The u-boot.sd and u-boot.nand generated via above u-boot.bin (which is failing to load via JTAG) are working fine and tested.
Hello Folks,
I am still struggling to run the u-boot on the RAM. Even tried with the pre-compiled u-boot.bin file. Any suggestions are welcome..
Regards,
Ankur
Hello Friends,
I found reading Re: Has anyone used an FTDI 2232 based JTAG probe on an IMX28? post that to boot from JTAG, I have to kept boot mode for imx28evk into JTAG by configuring the boot switches to 0 1 1 0. In case if I do then I got error as below
test@test-VirtualBox:~/openocd/openocd-0.7.0/tcl$ sudo openocd -f interface/olimex-arm-usb-ocd.cfg -f board/imx28evk.cfg
Open On-Chip Debugger 0.7.0 (2014-03-17-18:03)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
dcc downloads are enabled
adapter speed: 9000 kHz
3145728
Info : clock speed 6000 kHz
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway...
Error: imx28.cpu: IR capture error; saw 0x00 not 0x01
Warn : Bypassing JTAG setup events due to errors
Info : Embedded ICE version 0
Error: unknown EmbeddedICE version (comms ctrl: 0x00000000)
Info : imx28.cpu: hardware has 2 breakpoint/watchpoint units
In other boot modes, I can connect successfully with JTAG. Configuring it to NAND boot mode, I got below message:
test@test-VirtualBox:~/openocd/openocd-0.7.0/tcl$ sudo openocd -f interface/olimex-arm-usb-ocd.cfg -f board/imx28evk.cfg
Open On-Chip Debugger 0.7.0 (2014-03-17-18:03)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain connect_deassert_srst
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
dcc downloads are enabled
adapter speed: 9000 kHz
3145728
Info : clock speed 6000 kHz
Info : JTAG tap: imx28.cpu tap/device found: 0x079264f3 (mfg: 0x279, part: 0x7926, ver: 0x0)
Info : Embedded ICE version 6
Info : imx28.cpu: hardware has 2 breakpoint/watchpoint units
My concern is in which mode I have to kept the boot switches to load and boot the u-boot.bin file?
Regards,
Ankur.
Hello Friends,
Assuming that Jtag is working in NAND mode, I have followed Re: Has anyone used an FTDI 2232 based JTAG probe on an IMX28? to load u-boot image step by step mentioned. But I am getting "undefined Instruction" when I do resume 0x40000100.
Could anyone point what is missing?
Regards,
Ankur
Now using USB boot mode for debugging.
Thanks,
Ankur.
Hi Ankur,
it is no problem to load U-Boot into the DDR of i.MX28. See post Re: Load u-boot with JTAG
Regards,
Christoph
arvero GmbH