我想用CH32V203G6U6弄个bootloader。由于这颗料flash只有32k,所以想最大程度压缩boot程序flash使用量,在编译器选项中用了 optimize size ,还是不能满足要求,于是试了一下编译器的其它选项,当把 link-time optimizer 选中后,编译后的flash大小相比以前就下降了16%,但是把程序下载到单片机后,程序无法正常运行(源码没有改变,在未选 link-time optimizer时是能正常运行的),请帮忙看一下,还能用什么方法来压缩flash使用量,谢谢!
查看: 2272
回复: 1
ch32 编译选项
热门产品 :
CH32V317: 互联型青稞RISC-V MCU
您好,减少代码尺寸可从以下几方面入手:
1、可启用(-msave-restore)优化;
2、使用wch提供的打印库,或在最后版本的工程中去掉所有打印调试;
3、如果是V4的内核,可以在前面的基础上使用我们自定义扩展压缩指令;
4、除了以上可以较明显的改变代码外,多使用结构体指针,减少传入参数的个数等也可以带来一定的尺寸上的优化。
ps:
–flto选项
开启后,将在编译的中间二进制文件中保存额外信息,使得连接时进行更全面的优化。但是开启此选项后有可能会优化过度引起一些未知的错误。
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录