1
開源RTOS
我最早接觸的開源代碼,應該就是FreeRTOS了,從接觸到現在對于該RTOS的代碼研讀應該有3遍的樣子,雖然工作以后也會用到其他的RTOS,但感覺都大同小異,因為他們封裝的服務接口都很類似,一通百通,所以后面接觸的uCOS和RTThread雖然有時候也會看會代碼,但終究沒有從頭到尾研讀過,除非遇到了一些更底層點的問題。
如果有RTOS開發需求或者是感興趣的朋友,建議都能夠認認真真研讀完一款RTOS的代碼,這樣對自身的編碼水平和能力會有較大的提升。
當然,在首次閱碼的過程中會遇到很多理解上的問題,希望你能夠用心的補充相關軟件知識和數據結構理論等,這樣才能獲得更大的學習收益。
2
開源UGUI
曾經也嘗試閱讀過GUI的一些代碼,只要是嵌入式行業的伙計都會有一個徒手寫一款類似于手機界面的夢吧~
其實很早玩的圖形界面就是 uCGUI ,uCGUI可以說是emwin的一版精簡版,老版本他們是開源的,而新版本都閉源了,而后來工作上對圖形界面這一塊需求不是很大,也就沒有再去繼續閱讀下去,僅僅理了一下圖形界面的設計思路吧。
因為里面涉及到很多的計算機圖形算法等知識,數學等功底還不能少,難度不小,撤~
后來兜兜轉轉換了一些公司又多多少少會涉及到一些小型的自研單色GUI,所以在需求設計和功能擴展上也會去找一些相關開源的代碼來吸收和借鑒,比如littlevGL、MonoGUI、MiniGUI、simpleGUI等,這些基本上都讀過和測試過。
3
框架和庫
最后是一些常用的框架和庫,這一部分相對比較獨立,在平時的一些項目開發中可以帶來一些借鑒意義和靈感。不過,不建議大家直接拿來就用,畢竟大部分組件的代碼量都不是很大,還是要理順一下思路,能夠在此基礎上擴展那就再好不過了。
當然,如果你真的時間不夠,也要了解清楚每個組件的適應場景和使用條件,避免一些迷之bug。
下面,我們來看看作者推薦了哪些好東西。
**cJSON:**基于ANSIC的超輕量級JSON解析器。
MultiTimer: 一個軟件定時器擴展模塊,可無限擴展你所需的定時器任務,取代傳統的標志位判斷方式, 更優雅更便捷地管理程序的時間觸發時序。
MultiButton: 一個小巧簡單易用的事件驅動型按鍵驅動模塊,可無限量擴展按鍵,按鍵事件的回調異步處理方式可以簡化你的程序結構,去除冗余的按鍵處理硬編碼,讓你的按鍵業務邏輯更清晰。
lw_oopc: 是了高先生及其MISOO團隊創作的lw_oopc宏,一個輕量級的C語言面向對象編程框架。
cmd-parser: 一個非常簡單好用的命令解析器,占用資源極少極少,采用哈希算法超快匹配命令!
letter shell: 是一個C語言編寫的,可以嵌入在程序中的嵌入式shell,主要面向嵌入式設備,以C語言函數為運行單位,可以通過命令行調用,運行程序中的函數。
eepromfs: 基于EEPROM的簡易類文件的數據讀寫庫,方便做動態功能增減時參數管理。增減參數塊類似增減文件,不會對已有數據存儲帶來影響。
EFSM (event finite state machine,事件驅動型有限狀態機):是一個基于事件驅動的有限狀態機,主要應用于嵌入式設備的軟件系統中,EFSM的設計原則是:簡單!
OpenBLT: 主要用作STM32引導加載程序。它可以與幾乎任何微控制器一起工作,并使用幾乎任何類型的通信接口來執行固件更新。
**NorthFrame:**是基于非UML極簡理念的狀態機框架,配合NF_FsmDesigner圖形化開發工具,可無負擔替代傳統switch-case狀態機開發。
**lwrb:**庫提供了通用的FIFO環緩沖區實現。
**EasyLogger:**是一款超輕量級(ROM<1.6K, RAM<0.3K)、高性能的 C/C++ 日志庫,非常適合對資源敏感的軟件項目,
**EasyFlash:**是一款開源的輕量級嵌入式Flash存儲器庫,方便開發者更加輕松的實現基于Flash存儲器的常見應用開發。
**SFUD:**一款開源的串行 SPI Flash 通用驅動庫。解決 Flash 的差異現狀而設計,讓我們的產品能夠支持不同品牌及規格的 Flash,提高了涉及到 Flash 功能的軟件的可重用性及可擴展性,同時也可以規避 Flash 缺貨或停產給產品所帶來的風險。
**znfat:**振南的znFAT是一套高效、完備、精簡且具有高可移植性的嵌入式FAT32文件系統。
以前經常談到閱讀源碼、閱讀源碼,那么這里就為大家精選了一波開源代碼供大家學習參考,相關介紹來自于項目本身和修改。
它們均可以在github,gitee等開源平臺搜索查找到,這里就不放鏈接了,自己動動手,快速查找資料也是一種能力~
-
FreeRTOS
+關注
關注
12文章
484瀏覽量
62361 -
RTThread
+關注
關注
8文章
132瀏覽量
40990 -
開源代碼
+關注
關注
0文章
36瀏覽量
3005
發布評論請先 登錄
相關推薦
評論