Have issues for use the PSRAM instead of QSPI_FLASH on mxrt595

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Have issues for use the PSRAM instead of QSPI_FLASH on mxrt595

1,490 Views
Wayne2
Contributor II

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

Tags (1)
0 Kudos
Reply
3 Replies

1,466 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

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

0 Kudos
Reply

1,446 Views
Wayne2
Contributor II

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.

Wayne2_0-1669083440361.png

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

0 Kudos
Reply

1,432 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

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.

0 Kudos
Reply