硬汉嵌入式论坛

 找回密码
 立即注册
查看: 946|回复: 3
收起左侧

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

[复制链接]

10

主题

34

回帖

64

积分

初级会员

积分
64
发表于 2022-11-16 11:39:20 | 显示全部楼层 |阅读模式
是我在keil里面勾选了哪个内存它就管理哪个吗?
勾了DTCM就管理DTCM,勾了AXIRAM就管理AXIRAM,如果都勾了的话咧?

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


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

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106663
QQ
发表于 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")));

回复

使用道具 举报

10

主题

34

回帖

64

积分

初级会员

积分
64
 楼主| 发表于 2022-11-16 16:18:40 | 显示全部楼层
eric2013 发表于 2022-11-16 14:51
1、对,这个本质就是个全局数组ucHeap,你可以手动设置这个数组存到其它位置。
static uint8_t ucHeap[ co ...

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106663
QQ
发表于 2022-11-16 16:19:33 | 显示全部楼层
852050675 发表于 2022-11-16 16:18
谢谢硬汉,RTX内存管理可以管理外部SDRAM吗?

可以的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 08:04 , Processed in 0.214412 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表