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

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


想请问一下:

1、有谁知道这段区域什么东西在使用?

2、这段区域是否固定大小?

3、如果非固定大小,在连接脚本中如何把这段包含进去?


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


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

image.png



连接脚本文件

image.png

image.png

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


我这边里没有用到malloc类似的函数,官方空的demo,但是你给了我提醒,也许是标准库里面某个函数调用了。


只有登录才能回复,可以选择微信账号登录