ART 编号:TM4C1294NCPDT
工具/软件:Code Composer Studio
您好!
我将 TM4C1294微控制器用于物联网应用。 我一直面临着 RAM 使用方面的一些问题、并计划使用外部 RAM 来获得更多可用 RAM。
我一直在阅读下面的示例 ti.com/tool/TIDM-TM4C129XSDRAM 、它似乎非常直接地满足了硬件要求、但我仍然对使用外部 RAM 进行固件开发有一些疑问。
我的问题更多地涉及链接器以及如何使用外部和内部 RAM 处理我的代码。 在前面的示例中、作者使用以下行来确保他正在访问外部 RAM:
G_pu16EPISdram =(uint16_t *) 0x60000000;
他的链接器也是默认值、因此我假设在代码上分配变量时、此类变量永远不会使用外部 RAM、对吧?
#define APP_BASE 0x00000000
#define RAM_BASE 0x20000000
//系统存储器映射*/
存储
器{
/*存储在内部闪存中并从内部闪存执行的应用程序*/
闪存(RX):origin = APP_BASE,length = 0x00100000
/*应用程序使用内部 RAM 进行数据*/
SRAM (rwx):origin = 0x20000000,length = 0x00040000
}//
内存
中的段分配*/ SECTIONS
{
.intvecs:> app_base
.text:> FLASH
.const:> FLASH
.cinit:>闪存
.pinit:> FLASH
init_array:> FLASH
.vtable:> RAM_base
.data :> SRAM
.bss:> SRAM
.sysmem:> SRAM
.stack:> SRAM
}
__stack_top =__stack + 256;
那么、我的问题是:是否可以将外部和内部 RAM 用作一个线性存储器组? 我能否像使用内部 RAM 一样进行编程? 需要对该示例进行哪些修改才能执行此操作?
我打算将其与 TI-RTOS 结合使用、这会改变答案还是仍然一样?