i.MX RT1050 CMSIS-DAP drag-and-drop programming

cancel
Showing results for 
Search instead for 
Did you mean: 

i.MX RT1050 CMSIS-DAP drag-and-drop programming

i.MX RT1050 CMSIS-DAP drag-and-drop programming

The MIMXRT1050-EVK includes a CMSIS-DAP/DAP-Link interface that includes MSD drag and drop functionality for the HyperFlash on the board. The drag and drop programming functionality can be used to program applications compiled to execute-in-place (XIP) from the HyperFlash memory.

In the early SDK versions for RT1050, the projects did not include the flash configuration block and IVT required to make a bootable image across all toolchains. Starting with the SDK 2.3.1 release, projects include XIP files that add this information to the project. This allows for programming a bootable application to the external flash memory directly from the debugger, so many customers might not even need to use the drag-and-drop programming feature any more.

Because of the SDK changes, the DAP-Link application has also had changes:

  • Early versions of the DAPLink firmware were setup to work with a raw application binary like those generated by the SDK 2.3.0 for toolchains other than the MCUXpresso IDE. These versions will take the raw application binary and prepend the flash configuration block for the HyperFlash/QSPI and an IVT to make a bootable image.
  • Newer version of the DAPLink firmware are setup to work with a complete bootable binary like those generated by SDK 2.3.1 and later. These versions will not attempt to prepend a flash configuration block and IVT to the application, because these are assumed to already be present.

The following table describes the versions of the DAPLink application that have been released. NOTE: the firmware can be updated on the board, so the version on a given board might not match what was originally programmed at manufacture time. The latest version of firmware can be downloaded from www.nxp.com/opensda

Board RevDAPLink MCUGIT SHA from details.txt fileNOTE
EVK_A2MK2034182e2cce4ca99073443ef29fbcfaab9e18caecDAPLink will add FCB and IVT
EVK_A3-EVK-A5MK20853df431d81359e822f49363891f877f17d31efbDAPLink will add FCB and IVT
EVKB_AMK20853df431d81359e822f49363891f877f17d31efbDAPLink will add FCB and IVT
EVKB_A1MK20853df431d81359e822f49363891f877f17d31efbDAPLink will add FCB and IVT
EVKB_A1MK20b3435dbed0ba4f09680e49d2fcfdaab32c7a4c71DAPLink will NOT add FCB and IVT

To use the drag and drop programming:

1. Configure the board for serial downloader mode by setting SW7 to OFF-ON-OFF-ON. 

2. Press SW3 to reset the processor.

3. Drag the application binary to the RT1050-EVK drive. 

4. Put the board back in internal boot mode by setting SW7 to OFF-ON-ON-OFF.

5. Press SW3 to reset the processor and your application should boot.

 There are some limitations to the drag and drop programming to keep in mind:

- Only works for Hyperflash/QSPI XIP applications. Doesn't support copying the code from HyperFlash to another memory (like ITCM) for execution

- Application initial stack pointer must be located in DTCM

- Doesn't support DCD files

The flashloader and ROM tools offer a second external memory programming method where the limitations above do not apply:

https://www.nxp.com/downloads/en/initialization-boot-device-driver-code-generation/Flashloader_i.MXR... 

Refer to AN12107 for more information:

https://www.nxp.com/docs/en/application-note/AN12107.pdf?fsrch=1&sr=2&pageNum=1 

Labels (1)
Comments

The drag and drop is working only with bin file, so how to produce correct bin file from MCUXpresso ?

This post has directions on how to generate a binary from MCUXpresso:

https://community.nxp.com/thread/448048 

Regards,

Melissa

I am using iMXRT1050 EVKB Rev-A and trying to validate hello_world example using drag & drop feature by following steps mentioned in the above post but my board is not working after flashing the binary file of hello_world example.

Setup:
IDE: IAR-8.22.2
Build configuration: flexspi_nor_debug
SDK: v2.4.0
Example: hello_world

Hi,

I think you're running into a mismatch between the SDK you are using and the DAPLink firmware revision. If you refer to the table revision table above, you'll see that the default EVKB revA DAPLink application wants to add and FCB and DCD to the application, but the SDK2.4.0 project you are using already includes them by default. Try upgrading your DAPLink application to the latest version. The latest DAPLink won't try to add the FCB and DCD, so it should work with the SDK2.4.0 hello_world output.

Regards,

Melissa

Hi Melissa,

I have only the old version EVK_A3-EVK-A5. Where can I download the old DAPLink firmware?

Thanks a lot.

Best Regards,

Kent

Hi Kent,

We don't keep the old firmware revisions posted. You should be able to use the latest and greatest version of the DAPLink firmware on your board.

Regards,

Melissa

Hi Mellissa,

I can't drag-and-drop programming for QSPI flash but I can program the QSPI flash via IAR IDE with the latest QSPI DAPLink firmware.

Could you advise?

Thanks a lot.

Best regards,

Kent

Hi Kent,

Can you let me know what version of the DAPLink firmware you are using (the git sha number from details.txt)? Assuming you are using our SDK, what version are you using? 

Also, have you reworked your board for QSPI instead of Hyperflash? Did you make sure to use the DAPLink firmware for the memory you are using? Both versions are posted on the openSDA site.

Regards,

Melissa

Hi Melissa,

I use the DAPLink firmware "k20dx_mimxrt1050_evk_qspi_if_crc.bin". and the DAPLink Git SHA: b3435dbed0ba4f09680e49d2fcfdaab32c7a4c71.

The SDA version is 2.4.0

I have followed the AN12183 to rework my board for QSPI flash and it can be programmed by the IAR IDE successfully. But I cannot drag-and-drop programming for QSPI.

I got the error message as below.

Capture.JPG

Best Regards,

Kent

Hi Kent,

This is a known issue with the latest version of the QSPI DAPLink application. We are working to get an update posted that fixes the problem. In the meantime, I recommend sticking with programming through the IAR IDE.

Regards,

Melissa

Version history
Revision #:
1 of 1
Last update:
‎02-06-2018 01:21 PM
Updated by: