如何定义数组在BOARD_SDRAM上?

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

如何定义数组在BOARD_SDRAM上?

Jump to solution
849 Views
haitao178
Contributor II

您好,

MIMXRT1064-EVK

请教如何将数组到指定到BOARD_SDRAM上?

我自己的代码好像没起作用,还是在SRAM_DTC上,请指教!谢谢

#define SDRAM_BASE_ADDRESS (0x80000000)
uint8_t mySdramBuffer[1000] __attribute__((at(SDRAM_BASE_ADDRESS)));

 

0 Kudos
Reply
1 Solution
701 Views
mayliu1
NXP Employee
NXP Employee

Hi @haitao178 ,

我这边做了测试验证,是可以正确定义数组在BOARD_SDRAM上的,建议您可以按照下面步骤测试验证:

HW:MIMXRT1170-EVKB

IDE: MCUXPresso IDE

1:   添加宏定义XIP_BOOT_HEADER_DCD_ENABLE=1

2:添加代码,请参考下面工程截图。我使用的是RT1170的开发板,你的开发板仍然可以参考。

Snipaste_2026-03-09_11-03-56.png

Snipaste_2026-03-09_11-04-28.png

 

Best Regards

MayLiu

View solution in original post

6 Replies
725 Views
haitao178
Contributor II

Hi MayLiu,

感谢您的支持,

已经在DCD加入宏定义,但是编译后的BOARD_SRAM依然没有分配,请帮忙查看一下原因,代码如下:

 

 

0 Kudos
Reply
717 Views
haitao178
Contributor II

不好意思,粘贴图片失败,

代码如下:

code:

#define SDRAM_BASE_ADDRESS (0x80000000)
uint8_t mySdramBuffer[4096] __attribute__((at(SDRAM_BASE_ADDRESS)));

int main(void)
{
FRESULT error;
DIR directory; /* Directory object */
FILINFO fileInformation;
UINT bytesWritten;
UINT bytesRead;
const TCHAR driverNumberBuffer[3U] = {SDDISK + '0', ':', '/'};
volatile bool failedFlag = false;
char ch = '0';
BYTE work[FF_MAX_SS];

mySdramBuffer[4000] = 0x99;

......

 

 

log:

Memory region Used Size Region Size %age Used
PROGRAM_FLASH: 80224 B 4 MB 1.91%
SRAM_DTC: 16192 B 128 KB 12.35%
BOARD_SDRAM: 0 B 30 MB 0.00%
SRAM_ITC: 0 B 128 KB 0.00%
SRAM_OC: 0 B 768 KB 0.00%
NCACHE_REGION: 0 B 2 MB 0.00%
Finished building target: KL_Osram_Demo.axf

0 Kudos
Reply
702 Views
mayliu1
NXP Employee
NXP Employee

Hi @haitao178 ,

我这边做了测试验证,是可以正确定义数组在BOARD_SDRAM上的,建议您可以按照下面步骤测试验证:

HW:MIMXRT1170-EVKB

IDE: MCUXPresso IDE

1:   添加宏定义XIP_BOOT_HEADER_DCD_ENABLE=1

2:添加代码,请参考下面工程截图。我使用的是RT1170的开发板,你的开发板仍然可以参考。

Snipaste_2026-03-09_11-03-56.png

Snipaste_2026-03-09_11-04-28.png

 

Best Regards

MayLiu

697 Views
haitao178
Contributor II

感谢MayLiu!

0 Kudos
Reply
689 Views
mayliu1
NXP Employee
NXP Employee

不客气,如果您未来有任何问题,都欢迎在NXP社区提问。

0 Kudos
Reply
820 Views
mayliu1
NXP Employee
NXP Employee

Hi @haitao178 ,

感谢您关注恩智浦RT系列产品,很高兴为您服务。

如果您使用SDRAM, 需要注意开启DCD使能设置。

如果您使用MCUXPresso IDE,  请添加宏定义来启用 DCD (XIP_BOOT_HEADER_DCD_ENABLE=1)

Snipaste_2026-03-06_19-28-10.png

 

 

希望以上对您有帮助

Best Regards

MayLiu

0 Kudos
Reply