852050675 发表于 2022-11-16 11:39:20

FreeRTOS里面的heap4.h,它管理了哪些内存?

是我在keil里面勾选了哪个内存它就管理哪个吗?
勾了DTCM就管理DTCM,勾了AXIRAM就管理AXIRAM,如果都勾了的话咧?

另外SRAM1234这些会不会也被FreeRTOS所管理了?


我想实现的是FreeRTOS只管理AXIRAM内存,SRAM1234都由硬汉弄得RTX内存管理来管理,这样的话我是否在Keil工程里面勾选只AXIRAM,然后用RTX内存管理来初始化SRAM1234就可以啦?

最后还有一个问题就是,RTX内存管理可以用来管理外部SDRAM吗?

eric2013 发表于 2022-11-16 14:51:32

1、对,这个本质就是个全局数组ucHeap,你可以手动设置这个数组存到其它位置。
static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ];

2. AXIRAM可以下面方法设置ucHeap到0x2400 0000即可

比如AC5是:
static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__((at(0x24000000)));

那么AC6就是:
static uint8_t ucHeap[ configTOTAL_HEAP_SIZE ] __attribute__((section(".ARM.__at_0x24000000")));

852050675 发表于 2022-11-16 16:18:40

eric2013 发表于 2022-11-16 14:51
1、对,这个本质就是个全局数组ucHeap,你可以手动设置这个数组存到其它位置。
static uint8_t ucHeap[ co ...

谢谢硬汉,RTX内存管理可以管理外部SDRAM吗?

eric2013 发表于 2022-11-16 16:19:33

852050675 发表于 2022-11-16 16:18
谢谢硬汉,RTX内存管理可以管理外部SDRAM吗?

可以的。
页: [1]
查看完整版本: FreeRTOS里面的heap4.h,它管理了哪些内存?