Massimiliano Francone

SDRAM debug with LinkServer (DAPLink) issues

Discussion created by Massimiliano Francone on Jul 8, 2019
Latest reply on Jul 14, 2019 by jeremyzhou

I've a iMXRT1050-EVK (not B) and the SDK_2.6.1_MIMXRT1052xxxB.

 

What I'm trying to figure out is the handle of the BOARD_SDRAM that I'd want to use in a personal application. As a first trial I modified the example application gpio_led_output by placing the following code line:

__DATA(BOARD_SDRAM) int vect1[500] = {5};

in order to place some global data in the BOARD_SDRAM. In the first statement of the main function I inserted the following write operation:

vect1[0] = 120;

I paid attention to:

  • make the BOARD_SDRAM shareable by means of the MPU configuration
  • link the SDRAM init script as indicated in the following post

 

The application does actually work, i.e. the PRINTF are printed in the stdout and the led blinks. However as I debug the application and I try to watch the vect1 variable after some steps through the code, the IDE pops up the message reported in SDRAM_read_error.png. I mean that I can watch the variable at the beginning but it gets inaccessible after moving through the code just one/two steps.

A probably related behaviour occurs when I use the BOARD_SDRAM, I run the application and I try to flash the application again. The message that appears is showed in the terminate_build_debug.png.

 

 

It seems that the DAP or the CPU becomes unreachable. The unique way to unblock the CPU is to unplug the DAPLink cable, connect to the CPU thorugh the J-Link commander (SWO) and erase the Flash. It is very annoying.

 

Is there anyone who can help me?

 

I also attach the MCU Settings and the Managed Linker Configuration

Outcomes