多内存管理问题

发表在 Kernel2019-8-23 12:52 [复制链接] 4 268

我想把STM32L476 的SRAM1和SRAM2合并到一起使用,96K + 32K,  参照手册说打开RT_USING_MEMHEAP_AS_HEAP, 并且在初始化一个新的堆即可。: p0 t& I8 |+ V3 U+ O: r
当我初始化第二个堆SRAM2时程序就跑不起来, 如果只初始化原生SRAM1是可以运行的. 不知道欠缺了什么操作 ???
/ q; d5 n! l: D
/ d. k. p- {$ R' b" }3 F# s
1.png
2.png
3.png
QQ截图20190823124918.png
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-8-27 17:03:04 | 显示全部楼层
如果輸入 free 可以看到新的 heap2 嗎?
使用道具 举报 回复
发表于 2019-8-27 21:12:36 | 显示全部楼层
wuhanstudio 发表于 2019-8-27 17:03! p; c3 W* @7 O' d/ M. O
如果輸入 free 可以看到新的 heap2 嗎?
# {9 L2 P9 x% N9 n) q! Q
https://www.rt-thread.org/qa/for ... mp;page=1#pid463714
使用道具 举报 回复
发表于 2019-12-9 13:19:57 | 显示全部楼层
C:\Users\CK\Desktop\360截图20191209131828385.jpg4 ?8 R) y3 e2 X' B. ]  b
env配置好就可以,选择多块内存管理
使用道具 举报 回复
发表于 2019-12-9 15:49:20 | 显示全部楼层

$ W3 y& Z- ?! `0 [! i3 ?#define STM32_SRAM1_START          0x10000000
$ _5 e* r' _" q1 i6 D8 x#define STM32_SRAM1_SIZE           64* 1024
/ W- h3 a- g' g#define STM32_SRAM1_END           (STM32_SRAM1_START + STM32_SRAM1_SIZE) 7 O" l) Y& k( b2 z
#endif8 J5 u- G4 E8 z  v# }) [
$ }8 X( G  T1 u/ w% @
static int CCRAM_Init(void)& j# H: D! h, f8 z
{
; _0 c0 O2 c! L6 f0 O4 ~    #ifdef RT_USING_MEMHEAP_AS_HEAP
# f, v$ b. e" v3 @    static struct rt_memheap _heap1;- T2 C2 o5 X. J+ G8 d9 n5 g1 `$ l2 Z
    rt_memheap_init(&_heap1,"heap1",(void *)STM32_SRAM1_START,STM32_SRAM1_SIZE);
% ]8 |5 V  p3 u, h, e- k: I" T    #endif  & K( ]+ N3 b$ s3 o* ]5 `) c
    return 0;
+ G* n$ E0 v) K! j5 B+ }}
: v6 \/ S6 W! X4 Y, \  _INIT_PREV_EXPORT(CCRAM_Init);
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

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