當(dāng)前位置:首頁 > 公眾號(hào)精選 > 技術(shù)讓夢想更偉大
[導(dǎo)讀]來源|?最后一個(gè)bug正文大家好,我是bug菌!今天主要是收集并精選了一些自己所了解和學(xué)習(xí)過的優(yōu)秀的嵌入式開源框架代碼和項(xiàng)目,不太了解的就不推薦給大家了,因?yàn)殚_源的東西實(shí)在是太多了,魚龍混雜,所以取其精華去其糟粕是迫在眉睫的大事~當(dāng)然也不要總是沉浸在開源的東西之中無法自拔,開源雖...


來源 |?最后一個(gè)bug




正文


大家好,我是bug菌!今天主要是收集并精選了一些自己所了解和學(xué)習(xí)過的優(yōu)秀的嵌入式開源框架代碼和項(xiàng)目,不太了解的就不推薦給大家了,因?yàn)殚_源的東西實(shí)在是太多了,魚龍混雜,所以取其精華去其糟粕是迫在眉睫的大事~當(dāng)然也不要總是沉浸在開源的東西之中無法自拔,開源雖然是一種很好的品質(zhì),但是開源的未必就一定是好東西~下面是bug菌推薦的一些不錯(cuò)的開源項(xiàng)目和代碼,大家有時(shí)間可以參考學(xué)習(xí)~1

開源RTOS

bug菌最早接觸的開源代碼,應(yīng)該就是FreeRTOS了,從接觸到現(xiàn)在對(duì)于該RTOS的代碼研讀應(yīng)該有3遍的樣子,雖然工作以后也會(huì)用到其他的RTOS,感覺都大同小異,因?yàn)樗麄兎庋b的服務(wù)接口都很類似,一通百通,所以后面接觸的uCOSRTThread雖然有時(shí)候也會(huì)看會(huì)代碼,但終究沒有從頭到尾研讀過,除非遇到了一些更底層點(diǎn)的問題。如果有RTOS開發(fā)需求或者是感興趣的朋友,建議都能夠認(rèn)認(rèn)真真研讀完一款RTOS的代碼,這樣對(duì)自身的編碼水平和能力會(huì)有較大的提升。當(dāng)然在首次閱碼的過程中會(huì)遇到很多理解上的問題,希望你能夠用心的補(bǔ)充相關(guān)軟件知識(shí)和數(shù)據(jù)結(jié)構(gòu)理論等,這樣才能獲得更大的學(xué)習(xí)收益。2

開源UGUI

曾經(jīng)也嘗試閱讀過GUI的一些代碼,只要是嵌入式行業(yè)的伙計(jì)都會(huì)有一個(gè)徒手寫一款類似于手機(jī)界面的夢吧~其實(shí)很早玩的圖形界面就是uCGUI,uCGUI可以說是emwin的一版精簡版,老版本他們是開源的,而新版本都閉源了,而后來工作上對(duì)圖形界面這一塊需求不是很大,也就沒有再去繼續(xù)閱讀下去,僅僅理了一下圖形界面的設(shè)計(jì)思路吧。因?yàn)槔锩嫔婕暗胶芏嗟挠?jì)算機(jī)圖形算法等知識(shí),數(shù)學(xué)等功底還不能少,難度不小,撤~后來兜兜轉(zhuǎn)轉(zhuǎn)換了一些公司又多多少少會(huì)涉及到一些小型的自研單色GUI,所以在需求設(shè)計(jì)和功能擴(kuò)展上也會(huì)去找一些相關(guān)開源的代碼來吸收和借鑒,比如:littlevGL、MonoGUI、MiniGUI、simpleGUI等等,這些基本上都讀過和測試過。3

框架和庫

最后是一些常用的框架和庫,這一部分相對(duì)比較獨(dú)立,在平時(shí)的一些項(xiàng)目開發(fā)中可以帶來一些借鑒意義和靈感,不過不建議大家直接拿來就用,畢竟大部分組件的代碼量都不是很大,還是要理順一下思路,能夠在此基礎(chǔ)上擴(kuò)展那就再好不過了。當(dāng)然如果你真的時(shí)間不夠,也要了解清楚每個(gè)組件的適應(yīng)場景和使用條件,避免一些迷之bug。來看看bug菌推薦了哪些好東西?:?cJSON:基于ANSIC的超輕量級(jí)JSON解析器。

MultiTimer :一個(gè)軟件定時(shí)器擴(kuò)展模塊,可無限擴(kuò)展你所需的定時(shí)器任務(wù),取代傳統(tǒng)的標(biāo)志位判斷方式, 更優(yōu)雅更便捷地管理程序的時(shí)間觸發(fā)時(shí)序。

MultiButton:一個(gè)小巧簡單易用的事件驅(qū)動(dòng)型按鍵驅(qū)動(dòng)模塊,可無限量擴(kuò)展按鍵,按鍵事件的回調(diào)異步處理方式可以簡化你的程序結(jié)構(gòu),去除冗余的按鍵處理硬編碼,讓你的按鍵業(yè)務(wù)邏輯更清晰。

lw_oopc:是了高先生及其MISOO團(tuán)隊(duì)創(chuàng)作的lw_oopc宏,一個(gè)輕量級(jí)的C語言面向?qū)ο缶幊炭蚣?/span>。

cmd-parser : 一個(gè)非常簡單好用的命令解析器,占用資源極少極少,采用哈希算法超快匹配命令!

letter shell?:?是一個(gè)C語言編寫的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式設(shè)備,以C語言函數(shù)為運(yùn)行單位,可以通過命令行調(diào)用,運(yùn)行程序中的函數(shù)。

eepromfs : 基于EEPROM的簡易類文件的數(shù)據(jù)讀寫庫,方便做動(dòng)態(tài)功能增減時(shí)參數(shù)管理。增減參數(shù)塊類似增減文件,不會(huì)對(duì)已有數(shù)據(jù)存儲(chǔ)帶來影響。

EFSM ?(event finite state machine,事件驅(qū)動(dòng)型有限狀態(tài)機(jī)) : 是一個(gè)基于事件驅(qū)動(dòng)的有限狀態(tài)機(jī),主要應(yīng)用于嵌入式設(shè)備的軟件系統(tǒng)中,EFSM的設(shè)計(jì)原則是:簡單!

OpenBLT:主要用作STM32引導(dǎo)加載程序。它可以與幾乎任何微控制器一起工作,并使用幾乎任何類型的通信接口來執(zhí)行固件更新。

NorthFrame : 是基于非UML極簡理念的狀態(tài)機(jī)框架,配合NF_FsmDesigner圖形化開發(fā)工具,可無負(fù)擔(dān)替代傳統(tǒng)switch-case狀態(tài)機(jī)開發(fā)。

lwrb:庫提供了通用的FIFO環(huán)緩沖區(qū)實(shí)現(xiàn)。

EasyLogger是一款超輕量級(jí)(ROM<1.6K, RAM<0.3K)、高性能的 C/C 日志庫,非常適合對(duì)資源敏感的軟件項(xiàng)目,

EasyFlash:是一款開源的輕量級(jí)嵌入式Flash存儲(chǔ)器庫,方便開發(fā)者更加輕松的實(shí)現(xiàn)基于Flash存儲(chǔ)器的常見應(yīng)用開發(fā)。

SFUD:一款開源的串行 SPI Flash 通用驅(qū)動(dòng)庫。解決 Flash 的差異現(xiàn)狀而設(shè)計(jì),讓我們的產(chǎn)品能夠支持不同品牌及規(guī)格的 Flash,提高了涉及到 Flash 功能的軟件的可重用性及可擴(kuò)展性,同時(shí)也可以規(guī)避 Flash 缺貨或停產(chǎn)給產(chǎn)品所帶來的風(fēng)險(xiǎn)。

znfat?:振南的znFAT是一套高效、完備、精簡且具有高可移植性的嵌入式FAT32文件系統(tǒng)。

bug菌經(jīng)常談到閱讀源碼、閱讀源碼,那么這里就為大家精選了一波開源代碼供大家學(xué)習(xí)參考,相關(guān)介紹來自于項(xiàng)目本身和修改。它們均可以在github,gitee等開源平臺(tái)搜索查找到,這里就不放鏈接了,自己動(dòng)動(dòng)手,快速查找資料也是一種能力~之前也整理了一些學(xué)習(xí)感悟,大家可以參考此篇文章:最后

? ? 好了,今天的內(nèi)容就到這里了,覺得有所收獲,記得點(diǎn)個(gè)哦~~???????????????? ?END ?????????????????關(guān)注我的微信公眾號(hào),回復(fù)“加群”按規(guī)則加入技術(shù)交流群。

歡迎關(guān)注我的視頻號(hào):

點(diǎn)擊“閱讀原文”查看更多分享,歡迎點(diǎn)分享、收藏、點(diǎn)贊、在看。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉