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