我在CH32V307 中運(yùn)行一個簡單的RT-thread demo, 使用Msh> free 查看內(nèi)存情況,竟然如下:
msh > free
total memory: 4072
used memory : 3148
maximum allocated memory: 3148
msh >
難道CH32V307 內(nèi)存就這么點(diǎn)點(diǎn),其它的哪里去?
我在CH32V307 中運(yùn)行一個簡單的RT-thread demo, 使用Msh> free 查看內(nèi)存情況,竟然如下:
msh > free
total memory: 4072
used memory : 3148
maximum allocated memory: 3148
msh >
難道CH32V307 內(nèi)存就這么點(diǎn)點(diǎn),其它的哪里去?
您好,
total memory?:? 表示在這個項(xiàng)目分配給堆管理器的總內(nèi)存
used memory?:? 表示已經(jīng)使用了多少內(nèi)存
maximum allocated memory?: 系統(tǒng)上電一來最大一次申請了多少內(nèi)存
以上數(shù)據(jù)并不是表示307內(nèi)存
那如何看307內(nèi)存情況?
您好,CH32V307的FLASH和RAM大小在配置好之后就是固定的,不清楚你所說的內(nèi)存情況具體是指什么,若你想查看FLASH、RAM的顯示占比,可按照下面操作配置:
添加 -Wl,--print-memory-usage
配置完成后,編譯顯示如下:
關(guān)于RAM顯示占比百分之百問題:這是由ld文件的書寫不同導(dǎo)致的,不影響的,data+bss的大小就是實(shí)際使用的RAM的大小。若需要修改顯示,可將ld文件修改下,修改內(nèi)容如下圖,修改ld文件的同時(shí)需要將debug.c文件中的void *_sbrk(ptrdiff_t incr)函數(shù)整體注釋掉,此處需要注意,修改過后,動態(tài)內(nèi)存分配超出將不會有提示。