【发布时间】:2018-11-21 18:13:44
【问题描述】:
我有这个程序:
__attribute__((section(".graph"))) __attribute__((aligned(16)))
uint16_t FLASH_BUFFER2[FLASH_SECTOR_SIZE];
int main ()
{
printf("Hallo World"\n);
}
当我运行它时,它会在内存中保留FLASH_SECTOR_SIZE * 16 字节吗?
编辑:技术上正确的问题是“它是否在内存中保留 FLASH_SECTOR_SIZE * 2 * 16 字节?(uint16_t 为 2,对齐为 16)”
【问题讨论】:
-
哼,你觉得还能在哪里?
-
我有一个具有 1MB 可用 RAM 的嵌入式系统,
FLASH_SECTOR_SIZE是 65536。所以这应该占用整个内存。他们给了我这样的代码,老实说,我想知道和你一样的事情。 -
我猜这是故意的,内存肯定是后面手动处理的。这可能是因为您无法访问标准的 malloc/free(我的猜测)
-
嗯,我确实在代码中看到了 1 个 malloc() 调用
-
显然这里没有,但我想这只是一个演示样本......也就是说我只是想猜测,董事会必须有一些文档,您可能会查看以获得准确的信息.