請問一下,CH32V203K8T6用MounRiver編譯程序的時候怎么看程序的大小呢;另外,如果要使用BootLoder功能的話,是app程序加bootloader程序總共最大為64K嗎;軟件中各個優(yōu)化等級有什么區(qū)別呢
您好,編譯的時候控制臺會顯示程序各部分的大小,如果想看詳細(xì)的信息,可以去obj目錄下看map文件的內(nèi)容,優(yōu)化等級可以在MRS空白處按F1,幫助手冊5.4章有相關(guān)介紹,如下圖。關(guān)于bootloader功能,app程序和bootloader程序的大小不要超過FLASH的大小。
請問編譯后那些數(shù)據(jù)大小各代表什么意思呢,哪些是計算RAM大小的,哪些是FLASH大小的。
還有一個,程序調(diào)用printf函數(shù),發(fā)現(xiàn)程序占用的空間比取消使用printf函數(shù)多了6K左右的,配置成使用wchprintf會多3-4k,然后我一個一個屏蔽printf函數(shù)的調(diào)用后編譯,發(fā)現(xiàn)會隨機(jī)出現(xiàn)多加一條printf的調(diào)用,程序大了2K左右,不清楚原因
text +data 為FLASH的占用,data+bss是ram占用,或者你按下圖設(shè)置,編譯時會打印FLASH和ram占比。printf函數(shù)本身就會調(diào)用運行庫和部分串口函數(shù),wchprintf是簡化之后的,至于加一條增加2k,可能和你打印內(nèi)容相關(guān)(例如不打印就沒使用),可以發(fā)送相關(guān)程序和問題到y(tǒng)angy@wch.cn.。