RTX5内存管理的疑问
// 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 \
__attribute__((section(".bss.os")));
#endif
===========================
动态内存的空间是编译器确定的,那我想把这部分内存分配在外部SRAM中,该怎么办呢?有谁整过,可否分享下方案,谢谢!
直接将static uint64_t os_mem __attribute__((section(".bss.os")));
定义到外部
uint64_t os_mem] __attribute__((at(0xC0000000))); 还是大神经验丰富,另外问下硬汉,RTX5在V7开发板的应用范例,有这方面的需求吗? 比如把os_mem定义到外部SDRAM中。 morning.call 发表于 2019-3-8 16:26
还是大神经验丰富,另外问下硬汉,RTX5在V7开发板的应用范例,有这方面的需求吗? 比如把os_mem定义到外 ...
不建议,内核的动态内存还是推荐用TCM,400MHz,发挥最大性能。 定义到外部
uint64_t os_mem] __attribute__((at(0xC0000000)));
硬汉大神, 这么指定一下,会不会让MDK在调试的时候,输出OS信息的时候,显示错误呢?比如,它可能固定去.bss.os段中去拉变量显示,结果这个变量在外部RAM中。谢谢! morning.call 发表于 2019-3-8 16:33
定义到外部
uint64_t os_mem] __attribute__((at(0xC0000000)));
会,估计会影响调试组件的表现。
你可以创建任务的时候,单独给任务栈使用外部RAM。毕竟任务栈是需求最大的。 谢谢大神的分享! 动态内存的地址按照该方法是可以分配到其它空间,但是其它数据地址比如thread_cb等还是以.bss.os开始的,如何改变其它数据的地址呢 zjf4611 发表于 2021-9-28 09:29
动态内存的地址按照该方法是可以分配到其它空间,但是其它数据地址比如thread_cb等还是以.bss.os开始的,如 ...
可以考虑自己手动修改。
页:
[1]