RA2L1上手优化BSP占用

电子说

1.3w人已加入

描述

0、起因

在上手RA2L1开发板的时候,使用RTT Studio给的BSP进行开发时发现默认占用太大了,所以今天就来说一下如何优化掉不是很必要的部分(当然芯片资源很大且不在乎的可以不做)。

1、说在开头

通过RTT Studio新建的项目target有错误(应该是m23 默认竟然是m4f),可以参考下图进行修改,并把优化等级改到-Os

RTThread

RTThread

2、优化

首先可以看到,默认的占用已经达到了ROM79.45KB RAM5.26KB,主要是问题还是在于FLASH的占用,所以我们先去rtconfig.h里面去看一下可以删掉什么且保证系统正常运行。

" class="reference-link">

RTThread

首先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

RTThread

再次查看占用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

RTThread

再次查看占用ROM46.52KB RAM4.57KB,减少了14.19KB的ROM占用和0.14KB的RAM占用

接下来的优化就是删rtt的device框架了,这里就不多介绍了,因为一部分人还是很适应这套框架的,我这里删掉pin看一下占用情况。

RTThread

再次查看占用ROM41.45KB RAM4.33KB,减少了5.07KB的ROM占用和0.24KB的RAM占用

3、总结

貌似没啥可总结的,根据自身情况把不用的组件全部屏蔽掉就行了,至于内核部分的event mailbox一类的一样可以裁剪,凭着能简化就简化的原则,一定可以做出来比较小的基础程序。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分