Forums - J-Link Flash Programming

4 posts / 0 new
Last post
J-Link Flash Programming
mvincent
Join Date: 13 Dec 22
Posts: 1
Posted: Thu, 2022-12-22 14:13

I have a J-Link Plus JTAG device and would like to program an OEM board with the QCA4020 device.  I have the YA999 evaluation board and have successfully built and programmed the QCLI_demo using the Qualcomm v3.2 SDK.  I would like to program this QCLI_demo image to the new OEM board.   First step is converting the elf image to multiple hex images, one per core, for the JTAG programmer.  Next step is to setup the J-Flash utility on the J-Link device for the QCA4020 M4 and M0 cores.   Finally, program the device and reproduce the results shown on the evaluation card.  

I went through this process with the Nordic Semiconductor nRF5340 device on a different OEM board.  Individual hex images were created for for the application and network cores by the Nordic development environment.  The J-Link device had the proper setup for Nordic chip for programming the individual cores.  Programming was successful and proper operation was confirmed.

I sent a query to Segger regarding this topic.  If anyone had gone through this process, I would greatly appreciate any guidance.  

  • Up0
  • Down0
andreas
Join Date: 21 Oct 19
Posts: 34
Posted: Thu, 2023-02-02 04:04

Hi, we flash our image either through USB or JTAG using J-link. For the JTAG case we do not extract hex images from the elf. Actually there are scripts and batch files that do the image download, probably also any conversion needed. Finally it calls this python script to flash via GDB: flash_through_gdb.py

  • Up0
  • Down0
jasonroy1565
Join Date: 7 Jan 23
Posts: 6
Posted: Sat, 2023-03-04 22:23
To convert the elf image to multiple hex images, one per core, you may need to use a tool such as objcopy or hexdump. These tools can extract the code for each core from the elf image and generate a separate hex file for each core.
 
Next, to setup the J-Flash utility on the J-Link device for the QCA4020 M4 and M0 cores, you will need to refer to the documentation provided with the J-Link device and the QCA4020 device. This will likely involve setting up the J-Link device for ARM Cortex-M4 and Cortex-M0 cores and configuring the flash programming algorithm for the QCA4020 device.
  • Up0
  • Down0
jasonroy1565
Join Date: 7 Jan 23
Posts: 6
Posted: Tue, 2023-04-11 01:37
Additionally, you may need to specify the memory layout and address ranges for each core in the J-Flash utility. This information can typically be found in the documentation for the QCA4020 device or provided by the device manufacturer.
Once the J-Flash utility is set up and configured, you can use it to program the hex files for each core onto the QCA4020 device. This may involve connecting the J-Link device to the appropriate programming interface on the QCA4020 device and selecting the appropriate programming options in the J-Flash utility.
It's important to ensure that the hex files are programmed to the correct memory regions for each core and that the programming is successful before proceeding with further testing or development.
  • 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.