WCH沁恒单片机
直播中

YYXIAO

9年用户 1172经验值
擅长:接口/总线/驱动
私信 关注
[问答]

求助,谁知道CH56x系列.BSS段后面400多个字节谁在使用?

最近在搞CH565W开发,自己移植了RT-Thread操作系统,在分配内存过程中,发现从BSS段结尾到stack段开始(即:未使用的所有ram空间)分配给RT系统使用,程序会跑死!!从BSS段后偏移480个字节后开始分配,就不会死掉。通过串口把BSS段后打印出来,发现似乎BSS段后的这400多个字节有什么东西在使用,所以操作这片区域会死掉。使用官方DEMO测试,也同样存在这个问题。


想请问一下:
1、有谁知道这段区域什么东西在使用?
2、这段区域是否固定大小?
3、如果非固定大小,在连接脚本中如何把这段包含进去?


如有谁知道,麻烦邮件【个人信息保护,已隐藏】通知我,感激不尽!!


从.bss段_ebss结束开始打印的内存(未使用RAM)内容





连接脚本文件


  
  

回帖(3)

刘嵩

2022-5-20 10:15:09
你是不是用了C语言自带动态申请内存的函数像malloc这类函数?如果用了这个函数GCC会放在BSS段之后,恰好就是你说的位置。
举报

李泽明

2022-5-20 10:15:13
最近在搞CH565W开发,自己移植了RT-Thread操作系统,在分配内存过程中,发现从BSS段结尾到stack段开始(即:未使用的所有ram空间)分配给RT系统使用,程序会跑死!!从BSS段后偏移480个字节后开始分配,就不会死掉。通过串口把BSS段后打印出来,发现似乎BSS段后的这400多个字节有什么东西在使用,所以操作这片区域会死掉。使用官方DEMO测试,也同样存在这个问题。


想请问一下:
1、有谁知道这段区域什么东西在使用?
2、这段区域是否固定大小?
3、如果非固定大小,在连接脚本中如何把这段包含进去?


如有谁知道,麻烦邮件【个人信息保护,已隐藏】通知我,感激不尽!!


从.bss段_ebss结束开始打印的内存(未使用RAM)内容





连接脚本文件


  
  
举报

jinyi7016

2022-5-20 11:12:58
你可以打开编译过程中的map文件,看一下这个地址上的分配
举报

更多回帖

发帖
×
20
完善资料,
赚取积分