硬汉嵌入式论坛

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

[RL-RTX] RTX5内存管理的疑问

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2019-3-8 16:06:25 | 显示全部楼层 |阅读模式
// Dynamic Memory
#if (OS_DYNAMIC_MEM_SIZE != 0)
#if ((OS_DYNAMIC_MEM_SIZE % 8) != 0)
#error "Invalid Dynamic Memory size!"
#endif
static uint64_t os_mem[OS_DYNAMIC_MEM_SIZE/8] \
__attribute__((section(".bss.os")));
#endif

===========================
动态内存的空间是编译器确定的,那我想把这部分内存分配在外部SRAM中,该怎么办呢?有谁整过,可否分享下方案,谢谢!

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106707
QQ
发表于 2019-3-8 16:11:39 | 显示全部楼层
直接将static uint64_t os_mem[OS_DYNAMIC_MEM_SIZE/8] __attribute__((section(".bss.os")));

定义到外部
uint64_t os_mem[OS_DYNAMIC_MEM_SIZE/8]] __attribute__((at(0xC0000000)));
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2019-3-8 16:26:57 | 显示全部楼层
还是大神经验丰富,  另外问下硬汉,RTX5在V7开发板的应用范例,有这方面的需求吗? 比如把os_mem定义到外部SDRAM中。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106707
QQ
发表于 2019-3-8 16:29:15 | 显示全部楼层
morning.call 发表于 2019-3-8 16:26
还是大神经验丰富,  另外问下硬汉,RTX5在V7开发板的应用范例,有这方面的需求吗? 比如把os_mem定义到外 ...

不建议,内核的动态内存还是推荐用TCM,400MHz,发挥最大性能。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2019-3-8 16:33:36 | 显示全部楼层
定义到外部
uint64_t os_mem[OS_DYNAMIC_MEM_SIZE/8]] __attribute__((at(0xC0000000)));

硬汉大神, 这么指定一下,会不会让MDK在调试的时候,输出OS信息的时候,显示错误呢?比如,它可能固定去.bss.os段中去拉变量显示,结果这个变量在外部RAM中。谢谢!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106707
QQ
发表于 2019-3-8 16:35:40 | 显示全部楼层
morning.call 发表于 2019-3-8 16:33
定义到外部
uint64_t os_mem[OS_DYNAMIC_MEM_SIZE/8]] __attribute__((at(0xC0000000)));

会,估计会影响调试组件的表现。

你可以创建任务的时候,单独给任务栈使用外部RAM。毕竟任务栈是需求最大的。
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2019-3-8 17:14:18 | 显示全部楼层
谢谢大神的分享!
回复

使用道具 举报

13

主题

15

回帖

54

积分

初级会员

积分
54
发表于 2021-9-28 09:29:58 | 显示全部楼层
动态内存的地址按照该方法是可以分配到其它空间,但是其它数据地址比如thread_cb等还是以.bss.os开始的,如何改变其它数据的地址呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106707
QQ
发表于 2021-9-28 11:21:06 | 显示全部楼层
zjf4611 发表于 2021-9-28 09:29
动态内存的地址按照该方法是可以分配到其它空间,但是其它数据地址比如thread_cb等还是以.bss.os开始的,如 ...

可以考虑自己手动修改。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 10:01 , Processed in 0.267038 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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