在 dev_msc_ramdisk_bm_cm7 示例中,存储缓冲区是通过定义缓冲区数组来实现的。您可以将该数组指针更改为指向 SDRAM。
以下是示例代码更改为将存储缓冲区移动到外部 SDRAM:
在 dev_msc_ramdisk_bm_cm7 示例中,找到以下代码段:
```
#define BUFFER_SIZE (4096U)
#define BLOCK_SIZE (512U)
static uint8_t s_diskWriteBuffer[BUFFER_SIZE];
static uint8_t s_diskReadBuffer[BUFFER_SIZE];
```
更改为:
```
#define BUFFER_SIZE (4096U)
#define BLOCK_SIZE (512U)
static uint8_t s_diskWriteBuffer[BUFFER_SIZE] __attribute__((section(".sdram")));
static uint8_t s_diskReadBuffer[BUFFER_SIZE] __attribute__((section(".sdram")));
```
使用 `__attribute__((section(".sdram")))` 将数组指定为位于 SDRAM 中的一个特定段。在修改后的代码中,缓冲区将被分配到 SDRAM 中。
请注意,使用 SDRAM 分配内存需要您在 sys_init() 函数中启用 SDRAM 控制器。如果您还没有这样做,请在启用 SDRAM 控制器后,进行此更改。
在 dev_msc_ramdisk_bm_cm7 示例中,存储缓冲区是通过定义缓冲区数组来实现的。您可以将该数组指针更改为指向 SDRAM。
以下是示例代码更改为将存储缓冲区移动到外部 SDRAM:
在 dev_msc_ramdisk_bm_cm7 示例中,找到以下代码段:
```
#define BUFFER_SIZE (4096U)
#define BLOCK_SIZE (512U)
static uint8_t s_diskWriteBuffer[BUFFER_SIZE];
static uint8_t s_diskReadBuffer[BUFFER_SIZE];
```
更改为:
```
#define BUFFER_SIZE (4096U)
#define BLOCK_SIZE (512U)
static uint8_t s_diskWriteBuffer[BUFFER_SIZE] __attribute__((section(".sdram")));
static uint8_t s_diskReadBuffer[BUFFER_SIZE] __attribute__((section(".sdram")));
```
使用 `__attribute__((section(".sdram")))` 将数组指定为位于 SDRAM 中的一个特定段。在修改后的代码中,缓冲区将被分配到 SDRAM 中。
请注意,使用 SDRAM 分配内存需要您在 sys_init() 函数中启用 SDRAM 控制器。如果您还没有这样做,请在启用 SDRAM 控制器后,进行此更改。
举报