0、起因
在上手RA2L1開發(fā)板的時候,使用RTT Studio給的BSP進行開發(fā)時發(fā)現(xiàn)默認占用太大了,所以今天就來說一下如何優(yōu)化掉不是很必要的部分(當然芯片資源很大且不在乎的可以不做)。
1、說在開頭
通過RTT Studio新建的項目target有錯誤(應該是m23 默認竟然是m4f),可以參考下圖進行修改,并把優(yōu)化等級改到-Os
2、優(yōu)化
首先可以看到,默認的占用已經(jīng)達到了ROM79.45KB RAM5.26KB,主要是問題還是在于FLASH的占用,所以我們先去rtconfig.h里面去看一下可以刪掉什么且保證系統(tǒng)正常運行。
" 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占用
在正式生產(chǎn)環(huán)境中我一般不會開啟任何交互,所以這里優(yōu)化掉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占用
接下來的優(yōu)化就是刪rtt的device框架了,這里就不多介紹了,因為一部分人還是很適應這套框架的,我這里刪掉pin看一下占用情況。
再次查看占用ROM41.45KB RAM4.33KB,減少了5.07KB的ROM占用和0.24KB的RAM占用
3、總結
貌似沒啥可總結的,根據(jù)自身情況把不用的組件全部屏蔽掉就行了,至于內核部分的event mailbox一類的一樣可以裁剪,憑著能簡化就簡化的原則,一定可以做出來比較小的基礎程序。
-
RAM
+關注
關注
8文章
1368瀏覽量
114639 -
Flash存儲
+關注
關注
0文章
38瀏覽量
8288 -
DFS
+關注
關注
0文章
26瀏覽量
9162 -
RTThread
+關注
關注
8文章
132瀏覽量
40858
發(fā)布評論請先 登錄
相關推薦
評論