日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式分享
[導(dǎo)讀]在嵌入式系統(tǒng)開發(fā)中,一個高效且功能豐富的交互式Shell對于開發(fā)者調(diào)試、管理和控制設(shè)備至關(guān)重要。CherrySH作為專為嵌入式應(yīng)用程序設(shè)計的微型Shell,以其輕量級、功能完備的特點(diǎn),成為嵌入式開發(fā)領(lǐng)域的得力助手。


在嵌入式系統(tǒng)開發(fā)中,一個高效且功能豐富的交互式Shell對于開發(fā)者調(diào)試、管理和控制設(shè)備至關(guān)重要。CherrySH作為專為嵌入式應(yīng)用程序設(shè)計的微型Shell,以其輕量級、功能完備的特點(diǎn),成為嵌入式開發(fā)領(lǐng)域的得力助手。


CherrySH的輕量化設(shè)計

嵌入式系統(tǒng)資源有限,內(nèi)存和存儲空間都較為緊張。CherrySH在設(shè)計上充分考慮了這一點(diǎn),采用全靜態(tài)buffer的行編輯模塊和編譯時命令注冊機(jī)制,避免了動態(tài)內(nèi)存分配(如malloc)的使用,極大地降低了內(nèi)存占用。其命令注冊機(jī)制通過宏將命令塞進(jìn)鏈接器section,運(yùn)行時直接遍歷這塊內(nèi)存,實現(xiàn)了高效的命令查找和執(zhí)行。


豐富的功能特性

CherrySH支持多種實用功能,為開發(fā)者提供了便捷的操作體驗。它支持TAB鍵補(bǔ)全,包括命令和路徑補(bǔ)全,大大提高了輸入效率;歷史記錄功能允許開發(fā)者通過上下箭頭鍵快速調(diào)用之前輸入的命令,減少了重復(fù)輸入的工作量。此外,CherrySH還支持環(huán)境變量,開發(fā)者可以使用

作為前綴來引用環(huán)境變量,如

PATH,方便地配置和管理系統(tǒng)環(huán)境。


在信號處理方面,CherrySH能夠捕獲和處理不同的信號,例如Ctrl+C(SIGINT)和Ctrl+Z(SIGTSTP),可中斷當(dāng)前執(zhí)行的shell任務(wù),增強(qiáng)了系統(tǒng)的交互性和可控性。同時,它還支持用戶登錄功能,需要實現(xiàn)hash函數(shù)(默認(rèn)使用strcmp),保障了系統(tǒng)的安全性。


靈活的移植與擴(kuò)展

CherrySH具有良好的移植性,支持裸機(jī)和RTOS環(huán)境,能夠適應(yīng)不同的嵌入式開發(fā)場景。以先楫半導(dǎo)體hpm5301evklite為例,移植CherrySH需要修改linkerscript文件,增加相關(guān)section,如:


c

.text : {

   ...

   . = ALIGN(4);

   __fsymtab_start = .;

   KEEP(*(FSymTab))

   __fsymtab_end = .;

   . = ALIGN(4);

   __vsymtab_start = .;

   KEEP(*(VSymTab))

   __vsymtab_end = .;

   . = ALIGN(4);

}

同時,還需要實現(xiàn)字符輸入輸出函數(shù),推薦使用中斷+ringbuf的形式,以確保數(shù)據(jù)的穩(wěn)定傳輸。


在擴(kuò)展性方面,CherrySH支持自定義命令的注冊和執(zhí)行。開發(fā)者可以通過簡單的宏定義和函數(shù)實現(xiàn),將自己的功能模塊集成到CherrySH中,擴(kuò)展系統(tǒng)的功能。例如,注冊一個自定義命令:


c

static int my_cmd(int argc, char **argv) {

   chry_shell_t *csh = (void *)argv[argc + 1];

   csh_printf(csh, "====== 嵌入式大雜燴 ======\r\n");

   return 0;

}

CSH_CMD_EXPORT(my_cmd, );

結(jié)語

CherrySH以其輕量級的設(shè)計、豐富的功能特性和靈活的移植擴(kuò)展性,為嵌入式開發(fā)提供了一種高效、便捷的交互式Shell解決方案。它不僅能夠幫助開發(fā)者快速調(diào)試和驗證硬件功能,還能提高系統(tǒng)的可管理性和可維護(hù)性,是嵌入式開發(fā)領(lǐng)域不可或缺的工具之一。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀

特朗普集團(tuán)近日取消了其新推出的T1智能手機(jī)“將在美國制造”的宣傳標(biāo)語,此舉源于外界對這款手機(jī)能否以當(dāng)前定價在美國本土生產(chǎn)的質(zhì)疑。

關(guān)鍵字: 特朗普 蘋果 AI

美國總統(tǒng)特朗普在公開場合表示,他已要求蘋果公司CEO蒂姆·庫克停止在印度建廠,矛頭直指該公司生產(chǎn)多元化的計劃。

關(guān)鍵字: 特朗普 蘋果 AI

4月10日消息,據(jù)媒體報道,美國總統(tǒng)特朗普宣布,美國對部分貿(mào)易伙伴暫停90天執(zhí)行新關(guān)稅政策,同時對中國的關(guān)稅提高到125%,該消息公布后蘋果股價飆升了15%。這次反彈使蘋果市值增加了4000多億美元,目前蘋果市值接近3萬...

關(guān)鍵字: 特朗普 AI 人工智能 特斯拉

3月25日消息,據(jù)報道,當(dāng)?shù)貢r間3月20日,美國總統(tǒng)特朗普在社交媒體平臺“真實社交”上發(fā)文寫道:“那些被抓到破壞特斯拉的人,將有很大可能被判入獄長達(dá)20年,這包括資助(破壞特斯拉汽車)者,我們正在尋找你。”

關(guān)鍵字: 特朗普 AI 人工智能 特斯拉

1月22日消息,剛剛,新任美國總統(tǒng)特朗普放出重磅消息,將全力支持美國AI發(fā)展。

關(guān)鍵字: 特朗普 AI 人工智能

特朗普先生有兩件事一定會載入史冊,一個是筑墻,一個是挖坑。在美墨邊境筑墻的口號確保邊境安全,降低因非法移民引起的犯罪率過高問題;在中美科技產(chǎn)業(yè)之間挖坑的口號也是安全,美國企業(yè)不得使用對美國國家安全構(gòu)成威脅的電信設(shè)備,總統(tǒng)...

關(guān)鍵字: 特朗普 孤立主義 科技產(chǎn)業(yè)

據(jù)路透社1月17日消息顯示,知情人士透露,特朗普已通知英特爾、鎧俠在內(nèi)的幾家華為供應(yīng)商,將要撤銷其對華為的出貨的部分許可證,同時將拒絕其他數(shù)十個向華為供貨的申請。據(jù)透露,共有4家公司的8份許可被撤銷。另外,相關(guān)公司收到撤...

關(guān)鍵字: 華為 芯片 特朗普

曾在2018年時被美國總統(tǒng)特朗普稱作“世界第八奇跡”的富士康集團(tuán)在美國威斯康星州投資建設(shè)的LCD顯示屏工廠項目,如今卻因為富士康將項目大幅縮水并拒絕簽訂新的合同而陷入了僵局。這也導(dǎo)致富士康無法從當(dāng)?shù)卣抢铽@得約40億美...

關(guān)鍵字: 特朗普 富士康

今年5月,因自己發(fā)布的推文被貼上“無確鑿依據(jù)”標(biāo)簽而與推特發(fā)生激烈爭執(zhí)后,美國總統(tǒng)特朗普簽署了一項行政令,下令要求重審《通信規(guī)范法》第230條。

關(guān)鍵字: 谷歌 facebook 特朗普

眾所周知,寄往白宮的所有郵件在到達(dá)白宮之前都會在他地進(jìn)行分類和篩選。9月19日,根據(jù)美國相關(guān)執(zhí)法官員的通報,本周早些時候,執(zhí)法人員截獲了一個寄給特朗普總統(tǒng)的包裹,該包裹內(nèi)包含蓖麻毒蛋白。

關(guān)鍵字: 美國 白宮 特朗普
關(guān)閉