Hi NXP team:
I want to use the PSRAM instead of QSPI_FLASH
1.Add psram in the MCU settings, location from 0x28000000, the size is 4MB(it has 8MB PSRAM in the sheet)
2."Global data placement" we set use the RAM_00(PSRAM)
3.Build and Debug
Result:
It can't run my task, and has assert in the configASSERT( uxSchedulerSuspended);
Can you give me some advice how to solve it?
Thanks
Hello
Hope you are well.
It is important that the PSRAM is initialized by the time the data is placed in the PSRAM.
Just to confirm; Does this issue happens when you place global data in the internal SRAM?
It will be helpful to place specific code/data by using __DATA(RAM3) variable
If you have more questions do not hesitate to ask me.
Best regards,
Omar
Hello
I added these two functions in my main
BOARD_InitPsRamPins();
BOARD_InitPsRam();
And it's aslo ok when I put my own heap to the psram(RAM_00).
add "uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__ ( (section( ".my_heap" ) ) ); " in my code.
set the ".my_heap" to the RAM_00, it can run successfully.
When I used the link application to RAM, it aslo can run successfully.
Could you explain "It will be helpful to place specific code/data by using __DATA(RAM3) variable" more specific?
Thanks
We can use the prefix to place specific code/data in a specific location. e.g.
#include<cr_section_macros.h>
__DATA(RAM3) chardata_buffer[1024];
It will be helpful to check that cache is disabled on the FlexSPI interface connected to PSRAM.