我正在使用基于 GCC(版本 5.3.0)的开发环境。是否可以对链接器说特定部分应根据部分的大小使用内存 1 或内存 2?
为了更好地理解,有一个示例:
MEMORY
{
....
....
SRAM (RWX) : ORIGIN = 0x20000000, LENGTH = 112K
SRAM2 (RWX) : ORIGIN = 0x64000000, LENGTH = 2M
}
SECTIONS
{
...
...
.bss :
{
...
...
} > (if size of bss is bigger than SRAM use SRAM2 else SRAM)
}
因为我使用的是 FreeRTOS,所以我找到了这个解决方案:STM32F4在外部RAM中运行FreeRTOS
我正在使用 heap4.c,在这种情况下,可以在专用内存区域中移动完整的堆。由于 heap5.c 在 FreeRTOS 中可用,因此此文件也可以用于我的测试。