Forums - QCA4020 custom silex module JTAG flash error

4 posts / 0 new
Last post
QCA4020 custom silex module JTAG flash error
akshay.b
Join Date: 2 Aug 19
Posts: 62
Posted: Wed, 2020-01-08 03:37

Hello,

We are having a fresh module for qca4020 from silex. while performing jtag flashing it is causing error.

1. Is there any prerequisite or steps to follow before flashing the code to a fresh module?

2. Is is possible to flash the module using silex evaluation board? if yes please brief.

 

Thank you,

Akshay

  • Up0
  • Down0
andreas
Join Date: 21 Oct 19
Posts: 34
Posted: Fri, 2020-01-10 00:30

Hi Akshay,

we are also using a Silex dev board and are able to flash the software to the board. All we did is following the description as stated in the application note: "App Note-SX-ULPGN-BTZ-Development-QuickStartGuide"
When flashing via JTAG you will probably see some error messages on the console output, they can be ignored if the final verdict is a successful download. You will find a couple of posts in this forum that already asked about these error messages.
Anyway flashing via JTAG is quite slow. I prefer the USB solution for flashing by putting the module in EDL mode.

Hope this helps

Andreas

  • Up0
  • Down0
akshay.b
Join Date: 2 Aug 19
Posts: 62
Posted: Sun, 2020-01-12 21:59

Hello Andreas,

Thank you for this help,

1)  But my question is, we are having a fresh qca4020 module (not evaluation board) of silex which is showing error while JTAG flash, we have referred the schematic for silex eval board and made JTAG connection to flash the code. It is showing error while flashing as below.

Open On-Chip Debugger 0.10.0 (2017-08-21) [https://github.com/sysprogs/openocd]
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
adapter speed: 5000 kHz
Info : clock speed 5000 kHz
Info : JTAG tap: QM4.cpu tap/device found: 0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4)
Info : JTAG tap: auto0.tap tap/device found: 0x300160e1 (mfg: 0x070 (Qualcomm), part: 0x0016, ver: 0x3)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 11 -expected-id 0x300160e1"
Info : QM4.cpu: hardware has 6 breakpoints, 4 watchpoints
Could Not Find C:\Users\Ajit-Home\Documents\GitHub\qca4020_projects\QCA4020.OR.3.0 QCA OEM SDK+CDB\quartz\demo\Onboard_demo\build\gcc\output\firmware_table.bin
Could Not Find C:\Users\Ajit-Home\Documents\GitHub\qca4020_projects\QCA4020.OR.3.0 QCA OEM SDK+CDB\quartz\demo\Onboard_demo\build\gcc\output\generated_partition_table.xml
Info : JTAG tap: QM4.cpu tap/device found: Could Not Find C:\Users\Ajit-Home\Documents\GitHub\qca4020_projects\QCA4020.OR.3.0 QCA OEM SDK+CDB\quartz\demo\Onboard_demo\build\gcc\output\generated_fwd_table.xml
0x4ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x4)
Info : JTAG tap: auto0.tap tap/device found: 0x300160e1 (mfg: 0x070 (Qualcomm), part: 0x0016, ver: 0x3)
Warn : Only resetting the Cortex-M core, use a reset-init event handler to reset any peripherals or configure hardware srst support.
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x000001c0 msp: 0x10000154
    TargetName         Type       Endian TapName            State       
--  ------------------ ---------- ------ ------------------ ------------
 0* QM4.cpu            cortex_m   little QM4.cpu            halted
[2020-01-03 18:43:39,770] INFO: Checking for files to add to the image for Firmware Descriptor Table 0 File:gen_fwd_table.py:673 Function:gen_xml_program 
[2020-01-03 18:43:39,776] INFO: Done Generating XML file to program. File:gen_fwd_table.py:711 Function:gen_xml_program 
Starting GDB Server....
[2020-01-03 18:43:39,888] INFO: flash_through_gdb.py version 1.0.5 File:flash_through_gdb.py:596 Function:main 
[2020-01-03 18:43:39,943] DEBUG: Output Directory is gdbout/ File:flash_through_gdb.py:628 Function:main 
[2020-01-03 18:43:39,943] DEBUG: Search Path 1 .\output/ File:flash_through_gdb.py:640 Function:main 
[2020-01-03 18:43:39,943] DEBUG: Search Path 2 ..\..\..\..\..\bin\cortex-m0\threadx\ File:flash_through_gdb.py:640 Function:main 
[2020-01-03 18:43:39,943] DEBUG: Search Path 3 ..\..\..\..\..\bin\wlan/ File:flash_through_gdb.py:640 Function:main 
[2020-01-03 18:43:39,944] DEBUG: Search Path 4 ./ File:flash_through_gdb.py:640 Function:main 
[2020-01-03 18:43:39,950] INFO: Will write file ./firmware_table.bin into sectors [0, 0] File:flash_through_gdb.py:675 Function:main 
[2020-01-03 18:43:39,950] DEBUG: C:/Program Files (x86)/GNU Tools ARM Embedded/6.2 2016q4/bin/arm-none-eabi-gdb.exe --command="gdbout/gdb_commands.txt" --batch File:flash_through_gdb.py:451 Function:run 
GNU gdb (GNU Tools for ARM Embedded Processors) 7.12.0.20161204-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-w64-mingw32 --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
[2020-01-03 18:43:39,990] INFO: GDB can run without shell=true File:flash_through_gdb.py:435 Function:_check_need_shell 
Info : accepting 'gdb' connection on tcp/3333
warning: No executable has been specified and target does not support
determining executable automatically.  Try using the "file" command.
0x000001c0 in ?? ()
Loading section RAM_FOM_APPS_RO_REGION, size 0x5b4c lma 0x10046000
Loading section RAM_FOM_APPS_RW_REGION, size 0x3ac lma 0x10080000
Start address 0x100462c2, load size 24312
Transfer rate: 279 KB/sec, 8104 bytes/write.
Breakpoint 1 at 0x1004614c: file /local/mnt/workspace/CRMBuilds/CNSS_W.QZ.3.0-00080-QZHW-2_20181118_181224/b/ioesw_proc/core/storage/tools/jtagprogrammer/src//JtagProgrammer.c, line 125.
125 /local/mnt/workspace/CRMBuilds/CNSS_W.QZ.3.0-00080-QZHW-2_20181118_181224/b/ioesw_proc/core/storage/tools/jtagprogrammer/src//JtagProgrammer.c: No such file or directory.

Breakpoint 1, main_c () at /local/mnt/workspace/CRMBuilds/CNSS_W.QZ.3.0-00080-QZHW-2_20181118_181224/b/ioesw_proc/core/storage/tools/jtagprogrammer/src//JtagProgrammer.c:125
"WRITE ./firmware_table.bin, offset=0 start_sector=0 num_sectors=1"Restoring binary file ./firmware_table.bin into memory (0x10081bf8 to 0x10082bf8)

Breakpoint 1, main_c () at /local/mnt/workspace/CRMBuilds/CNSS_W.QZ.3.0-00080-QZHW-2_20181118_181224/b/ioesw_proc/core/storage/tools/jtagprogrammer/src//JtagProgrammer.c:125
125 in /local/mnt/workspace/CRMBuilds/CNSS_W.QZ.3.0-00080-QZHW-2_20181118_181224/b/ioesw_proc/core/storage/tools/jtagprogrammer/src//JtagProgrammer.c
Info : dropped 'gdb' connection (error -400)
[2020-01-03 18:43:40,703] WARNING: The last command return error
 File:flash_through_gdb.py:259 Function:_check_status 
[2020-01-03 18:43:40,704] ERROR: Failed to write to start sector=0, num sectors=1 File:flash_through_gdb.py:678 Function:main 
Flash Operation Completed Successfully...
SUCCESS: The process "openocd.exe" with PID 7904 has been terminated.

 

2) Is it possible to flash the silex qca4020 module connected externally to JTAG pins of evaluation board ?

 

Thank you,

Regards,

Akshay

  • Up0
  • Down0
andreas
Join Date: 21 Oct 19
Posts: 34
Posted: Tue, 2020-03-24 04:31

Does this problem still exist?
I came across a similar issue. I was using V3.0 of the QC SDK on a Silex module.
It seems that the Silex module is using a serial flash device that is not supported by the V3.0 of the SDK. I switched to V3.1 and it works now as expected.
Just in case someone has a similar issue with flashing the module.

regards

Andreas

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.