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