电子说
0、起因
在上手RA2L1开发板的时候,使用RTT Studio给的BSP进行开发时发现默认占用太大了,所以今天就来说一下如何优化掉不是很必要的部分(当然芯片资源很大且不在乎的可以不做)。
1、说在开头
通过RTT Studio新建的项目target有错误(应该是m23 默认竟然是m4f),可以参考下图进行修改,并把优化等级改到-Os
2、优化
首先可以看到,默认的占用已经达到了ROM79.45KB RAM5.26KB,主要是问题还是在于FLASH的占用,所以我们先去rtconfig.h里面去看一下可以删掉什么且保证系统正常运行。
" class="reference-link">
首先DFS基本用不到,这里进行屏蔽宏定义重新编译一下看看占用
//#define RT_USING_DFS
//#define DFS_USING_POSIX
//#define DFS_USING_WORKDIR
//#define DFS_FILESYSTEMS_MAX 4
//#define DFS_FILESYSTEM_TYPES_MAX 4
//#define DFS_FD_MAX 16
再次查看占用ROM60.71KB RAM4.71KB,减少了18.74KB的ROM占用和0.55KB的RAM占用
在正式生产环境中我一般不会开启任何交互,所以这里优化掉finsh的部分,删除rtconfig中的finsh相关宏定义。
//#define RT_USING_MSH
//#define RT_USING_FINSH
//#define FINSH_USING_MSH
//#define FINSH_THREAD_NAME "tshell"
//#define FINSH_THREAD_PRIORITY 20
//#define FINSH_THREAD_STACK_SIZE 4096
//#define FINSH_USING_HISTORY
//#define FINSH_HISTORY_LINES 5
//#define FINSH_USING_SYMTAB
//#define FINSH_CMD_SIZE 80
//#define MSH_USING_BUILT_IN_COMMANDS
//#define FINSH_USING_DESCRIPTION
//#define FINSH_ARG_MAX 10
再次查看占用ROM46.52KB RAM4.57KB,减少了14.19KB的ROM占用和0.14KB的RAM占用
接下来的优化就是删rtt的device框架了,这里就不多介绍了,因为一部分人还是很适应这套框架的,我这里删掉pin看一下占用情况。
再次查看占用ROM41.45KB RAM4.33KB,减少了5.07KB的ROM占用和0.24KB的RAM占用
3、总结
貌似没啥可总结的,根据自身情况把不用的组件全部屏蔽掉就行了,至于内核部分的event mailbox一类的一样可以裁剪,凭着能简化就简化的原则,一定可以做出来比较小的基础程序。
全部0条评论
快来发表一下你的评论吧 !