CH32V208?需要?jiǎng)討B(tài)查詢malloc調(diào)用情況和剩余空間
您好,每次調(diào)用malloc函數(shù)使用完調(diào)用free函數(shù)釋放就好了
這個(gè)簡(jiǎn)單,學(xué)會(huì)使用GDB就可以,設(shè)斷點(diǎn)在malloc和free,但不暫停運(yùn)行。
觸發(fā)斷點(diǎn)時(shí)使用腳本保存申請(qǐng)情況和釋放情況,可以全程記錄下來(lái)。
這問(wèn)題問(wèn)的完全不像是個(gè)理工科的樣子。
什么叫“動(dòng)態(tài)”?調(diào)試的時(shí)候動(dòng)態(tài)獲得報(bào)告,還是實(shí)際運(yùn)行的時(shí)候MCU程序要用?
要查詢哪些信息?malloc的調(diào)用頻率?每次的申請(qǐng)參數(shù)?
剩余空間又是要什么信息?MCU沒(méi)有MMU,光有個(gè)空間,卻不知道是剩余一整塊還是有很多小碎片,有什么意義?
這些都說(shuō)的不明不白的,怎么可能獲得有效的回復(fù)呢?
可能是說(shuō)的不夠詳細(xì),因?yàn)槭褂昧薱json,是不斷的需要調(diào)用malloc和free,當(dāng)執(zhí)行更多的功能之后,發(fā)現(xiàn)硬件容易進(jìn)入HardFault_Handler,分析最后是free釋放的原因,但是沒(méi)有辦法知道碎片情況,不知道RAM使用大小和剩余空間。如果是ARM的芯片是可以調(diào)用庫(kù)函數(shù)來(lái)查詢malloc調(diào)用和釋放后RAM使用狀態(tài)。