工具/软件:TI-RTOS
您好!
我正在尝试利用 SRAM 存储器来实现缓冲存储器分配的最大堆大小。 我想存储来自光传感器和加速计的数据、并将其存储在堆中的缓冲区中、直到达到最大大小、然后完全写入 SD 卡。 我希望尽量减少写入 SD 卡的频率、因为写入 SD 卡需要很大的功率。 我想知道如果我增加.cmd 文件中的 SRAM 大小、我还需要更改闪存大小、以便我不会发生冲突、并且能够稳定可靠地访问存储器。 我想在堆中分配内存、并在程序运行时静态保留该位置供程序使用。
在当前的.cmd 中、我具有:
#define FLASH_base 0x0
#define FLASH_SIZE 0x20000
#define RAM_base 0x20000000
#define RAM_SIZE 0x5000
如果我更改:
#define FLASH_base 0x0
#define FLASH_SIZE 0x20000 <-???? 更新???
#define RAM_base 0x20000000
#define RAM_SIZE 0x10000 <--增加2倍
我应该如何更改 FLASH_SIZE?
在存储器映射中、似乎 SRAM 被划分为多个块、这些块是如何划分的? 我可以同时(连续)访问它们、还是它们是分离的? 我将附上 CC2650的 SRAM 存储器映射 pdf。 其中有4个组 Banks0-3、2个4K 组和2个6k 组。 我可以将所有这些都用于我的程序吗? 我知道我不能将所有存储器仅用于缓冲区、但我想找出可以使缓冲区完全访问20k SRAM 的最大大小。
谢谢、
Kati