请问一下,CH32V203K8T6用MounRiver编译程序的时候怎么看程序的大小呢;另外,如果要使用BootLoder功能的话,是app程序加bootloader程序总共最大为64K吗;软件中各个优化等级有什么区别呢
您好,编译的时候控制台会显示程序各部分的大小,如果想看详细的信息,可以去obj目录下看map文件的内容,优化等级可以在MRS空白处按F1,帮助手册5.4章有相关介绍,如下图。关于bootloader功能,app程序和bootloader程序的大小不要超过FLASH的大小。
请问编译后那些数据大小各代表什么意思呢,哪些是计算RAM大小的,哪些是FLASH大小的。
还有一个,程序调用printf函数,发现程序占用的空间比取消使用printf函数多了6K左右的,配置成使用wchprintf会多3-4k,然后我一个一个屏蔽printf函数的调用后编译,发现会随机出现多加一条printf的调用,程序大了2K左右,不清楚原因
text +data 为FLASH的占用,data+bss是ram占用,或者你按下图设置,编译时会打印FLASH和ram占比。printf函数本身就会调用运行库和部分串口函数,wchprintf是简化之后的,至于加一条增加2k,可能和你打印内容相关(例如不打印就没使用),可以发送相关程序和问题到yangy@wch.cn.。