衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

精選的開(kāi)源框架與代碼分享!

jf_78858299 ? 來(lái)源:最后一個(gè)bug ? 作者:最后一個(gè)bug ? 2023-05-06 17:39 ? 次閱讀

1

開(kāi)源RTOS

我最早接觸的開(kāi)源代碼,應(yīng)該就是FreeRTOS了,從接觸到現(xiàn)在對(duì)于該RTOS的代碼研讀應(yīng)該有3遍的樣子,雖然工作以后也會(huì)用到其他的RTOS,但感覺(jué)都大同小異,因?yàn)樗麄兎庋b的服務(wù)接口都很類(lèi)似,一通百通,所以后面接觸的uCOSRTThread雖然有時(shí)候也會(huì)看會(huì)代碼,但終究沒(méi)有從頭到尾研讀過(guò),除非遇到了一些更底層點(diǎn)的問(wèn)題。

如果有RTOS開(kāi)發(fā)需求或者是感興趣的朋友,建議都能夠認(rèn)認(rèn)真真研讀完一款RTOS的代碼,這樣對(duì)自身的編碼水平和能力會(huì)有較大的提升。

當(dāng)然,在首次閱碼的過(guò)程中會(huì)遇到很多理解上的問(wèn)題,希望你能夠用心的補(bǔ)充相關(guān)軟件知識(shí)和數(shù)據(jù)結(jié)構(gòu)理論等,這樣才能獲得更大的學(xué)習(xí)收益。

2

開(kāi)源UGUI

曾經(jīng)也嘗試閱讀過(guò)GUI的一些代碼,只要是嵌入式行業(yè)的伙計(jì)都會(huì)有一個(gè)徒手寫(xiě)一款類(lèi)似于手機(jī)界面的夢(mèng)吧~

其實(shí)很早玩的圖形界面就是 uCGUI ,uCGUI可以說(shuō)是emwin的一版精簡(jiǎn)版,老版本他們是開(kāi)源的,而新版本都閉源了,而后來(lái)工作上對(duì)圖形界面這一塊需求不是很大,也就沒(méi)有再去繼續(xù)閱讀下去,僅僅理了一下圖形界面的設(shè)計(jì)思路吧。

因?yàn)槔锩嫔婕暗胶芏嗟挠?jì)算機(jī)圖形算法等知識(shí),數(shù)學(xué)等功底還不能少,難度不小,撤~

后來(lái)兜兜轉(zhuǎn)轉(zhuǎn)換了一些公司又多多少少會(huì)涉及到一些小型的自研單色GUI,所以在需求設(shè)計(jì)和功能擴(kuò)展上也會(huì)去找一些相關(guān)開(kāi)源的代碼來(lái)吸收和借鑒,比如littlevGL、MonoGUI、MiniGUI、simpleGUI等,這些基本上都讀過(guò)和測(cè)試過(guò)。

3

框架和庫(kù)

最后是一些常用的框架和庫(kù),這一部分相對(duì)比較獨(dú)立,在平時(shí)的一些項(xiàng)目開(kāi)發(fā)中可以帶來(lái)一些借鑒意義和靈感。不過(guò),不建議大家直接拿來(lái)就用,畢竟大部分組件的代碼量都不是很大,還是要理順一下思路,能夠在此基礎(chǔ)上擴(kuò)展那就再好不過(guò)了。

當(dāng)然,如果你真的時(shí)間不夠,也要了解清楚每個(gè)組件的適應(yīng)場(chǎng)景和使用條件,避免一些迷之bug。

下面,我們來(lái)看看作者推薦了哪些好東西。

**cJSON:**基于ANSIC的超輕量級(jí)JSON解析器

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

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

lw_oopc: 是了高先生及其MISOO團(tuán)隊(duì)創(chuàng)作的lw_oopc宏,一個(gè)輕量級(jí)的C語(yǔ)言面向?qū)ο?a href="http://www.zgszdi.cn/v/tag/1315/" target="_blank">編程框架。

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

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

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

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ì)原則是:簡(jiǎn)單!

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

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

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

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

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

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

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

以前經(jīng)常談到閱讀源碼、閱讀源碼,那么這里就為大家精選了一波開(kāi)源代碼供大家學(xué)習(xí)參考,相關(guān)介紹來(lái)自于項(xiàng)目本身和修改。

它們均可以在github,gitee等開(kāi)源平臺(tái)搜索查找到,這里就不放鏈接了,自己動(dòng)動(dòng)手,快速查找資料也是一種能力~

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    62395
  • RTThread
    +關(guān)注

    關(guān)注

    8

    文章

    132

    瀏覽量

    41000
  • 開(kāi)源代碼
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    3007
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    開(kāi)源教程《代碼規(guī)范與程序框架》優(yōu)酷連載 請(qǐng)大家多多支持

    本人的開(kāi)源教程《代碼規(guī)范與程序框架》正在優(yōu)酷連載中,希望對(duì)大家有所幫助,還請(qǐng)大家多多幫忙宣傳,多多提意見(jiàn)建議優(yōu)酷頻道:http://i.youku.com/i/UMzE4MDIwODY4MA==
    發(fā)表于 08-04 01:19

    開(kāi)源框架教程(二)—— iOS APP開(kāi)發(fā)

    如何使用核心模塊開(kāi)發(fā)設(shè)備控制功能(iOS APP開(kāi)發(fā))導(dǎo)讀:本次教程我們?cè)?b class='flag-5'>開(kāi)源框架代碼基礎(chǔ)上做一個(gè)控制gokit紅燈開(kāi)的App,Wi-Fi設(shè)備接入機(jī)智云客戶(hù)端調(diào)試工具包括 iOS Demo
    發(fā)表于 11-28 18:14

    物聯(lián)網(wǎng)APP開(kāi)源框架教程(二)—— iOS APP開(kāi)發(fā)

    物聯(lián)網(wǎng)APP開(kāi)源框架教程(二)—— iOS APP開(kāi)發(fā)又稱(chēng):如何使用核心模塊開(kāi)發(fā)設(shè)備控制功能(iOS APP開(kāi)發(fā))導(dǎo)讀:本次教程我們?cè)?b class='flag-5'>開(kāi)源框架代碼
    發(fā)表于 12-07 10:54

    物聯(lián)網(wǎng)APP開(kāi)源框架教程(三)—— Andriod APP開(kāi)發(fā)(安卓)

    app開(kāi)發(fā)如何使用微信登錄如何使用QQ登錄如何使用百度推送如何使用極光推送微信和QQ登錄、百度和極光推送功能屬于高級(jí)功能。在我們的開(kāi)源框架代碼中,默認(rèn)是不開(kāi)啟這些高級(jí)功能的。如果只想要一個(gè)簡(jiǎn)單的設(shè)備控制
    發(fā)表于 12-21 09:55

    機(jī)智云開(kāi)源框架介紹

    機(jī)智云物聯(lián)網(wǎng)開(kāi)源框架App工程(Eclipse工程)https://git.oschina.net/dantang/GizOpenSource_AppKit_Android 介紹:機(jī)智云開(kāi)源
    發(fā)表于 12-27 15:47

    機(jī)智云APP開(kāi)源框架介紹

    機(jī)智云物聯(lián)網(wǎng)開(kāi)源框架App工程(Eclipse工程)介紹:機(jī)智云開(kāi)源框架(GizOpenSource_AppKit_Android) 是開(kāi)源
    發(fā)表于 02-15 17:56

    Go 相關(guān)的框架,庫(kù)和軟件的精選清單 精選資料分享

    概述這是一個(gè)Go 相關(guān)的框架,庫(kù)和軟件的精選清單,引用自 awesome-go項(xiàng)目,并翻譯補(bǔ)充而來(lái)這是一個(gè)Go 相關(guān)的框架,庫(kù)和軟件的精選清單,引用自 awesome-go項(xiàng)目,并翻譯
    發(fā)表于 08-12 07:53

    精選的 Go 框架,庫(kù)和軟件的精選清單 精選資料分享

    來(lái)自:https://learnku.com/articles/41230精選的 Go 框架,庫(kù)和軟件的精選清單概述這是一個(gè) Go 相關(guān)的框架,庫(kù)和軟件的
    發(fā)表于 08-12 06:32

    開(kāi)源RTOS的相關(guān)資料推薦

    來(lái)源 |最后一個(gè)bug正文大家好,我是bug菌!今天主要是收集并精選了一些自己所了解和學(xué)習(xí)過(guò)的優(yōu)秀的嵌入式開(kāi)源框架代碼和項(xiàng)目,不太了解的就不推薦給大家了,因?yàn)?/div>
    發(fā)表于 02-28 14:39

    51單片機(jī)應(yīng)用開(kāi)發(fā)案例精選-源代碼

    本內(nèi)容提供了51單片機(jī)應(yīng)用開(kāi)發(fā)案例精選-源代碼及開(kāi)發(fā)圖片
    發(fā)表于 08-10 09:40 ?538次下載
    51單片機(jī)應(yīng)用開(kāi)發(fā)案例<b class='flag-5'>精選</b>-源<b class='flag-5'>代碼</b>

    微軟發(fā)布開(kāi)源框架驅(qū)動(dòng)程序模塊新框架

    為了方便開(kāi)發(fā)人員為Windows編寫(xiě)驅(qū)動(dòng)程序,微軟昨天發(fā)布了一個(gè)開(kāi)源框架驅(qū)動(dòng)程序模塊框架(DMF)。這個(gè)新框架將允許開(kāi)發(fā)人員編寫(xiě)簡(jiǎn)單和結(jié)構(gòu)化的Windows驅(qū)動(dòng)程序
    發(fā)表于 08-22 11:37 ?1188次閱讀

    開(kāi)源交易大廳:Vitu要做最好的Crypto開(kāi)源框架

    加密世界的開(kāi)源交易大廳-Vitu要做最好的Crypto開(kāi)源框架 (一)在過(guò)去的2月份里,Vitu又做了什么? 于2020年3月,Vitu.AI 宣布正式開(kāi)源策略
    的頭像 發(fā)表于 03-25 09:42 ?1288次閱讀

    納米框架Esp32開(kāi)源分享

    電子發(fā)燒友網(wǎng)站提供《納米框架Esp32開(kāi)源分享.zip》資料免費(fèi)下載
    發(fā)表于 11-08 14:36 ?1次下載
    納米<b class='flag-5'>框架</b>Esp32<b class='flag-5'>開(kāi)源</b>分享

    知名開(kāi)源前端框架uni-app包含熱更新代碼,谷歌“封殺”

    近日,程序員發(fā)帖稱(chēng)自己用開(kāi)源框架 uni-app 開(kāi)發(fā)的 App 被 Google Play 下架,原因是 uni-app 自帶的 SDK 包含違反 Google Play 政策的內(nèi)容 —— 包括廣告代碼,以及下載第三方 App
    的頭像 發(fā)表于 06-27 16:30 ?2100次閱讀
    知名<b class='flag-5'>開(kāi)源</b>前端<b class='flag-5'>框架</b>uni-app包含熱更新<b class='flag-5'>代碼</b>,谷歌“封殺”

    邊緣計(jì)算平臺(tái)開(kāi)源框架有哪些類(lèi)型

    邊緣計(jì)算平臺(tái)開(kāi)源框架是指基于邊緣計(jì)算概念開(kāi)發(fā)的開(kāi)源軟件框架,用于構(gòu)建和管理邊緣計(jì)算平臺(tái)。這些框架提供了一套工具和技術(shù),用于將計(jì)算和存儲(chǔ)資源推
    的頭像 發(fā)表于 12-27 15:17 ?1406次閱讀
    大发888游戏平台dafa 888 gw | 大亨百家乐娱乐城| 百家乐官网电投网址| 足球百家乐投注网出租 | 博彩百家乐带连线走势图| 长乐坊百家乐官网娱乐城| 金盾百家乐网址| 现金百家乐官网攻略| 大发888.comwf| 玩百家乐官网是否有技巧| 太阳城花园| 百家乐官网如何赚洗码| 阳谷县| 在线玩百家乐的玩法技巧和规则 | 巴比伦百家乐的玩法技巧和规则| 百家乐官网如何看| 竞彩足球推荐| 百家乐网站制作| 神人百家乐官网赌场| 香港六合彩开码| 打百家乐最好办法| 百威百家乐官网的玩法技巧和规则 | 利高百家乐娱乐城| 百家乐官网赌场占多大概率| 大发888在线娱乐百家乐| 百家乐模拟投注器| 百家乐官网游戏玩法规则| 大发888娱乐平台下| 百家乐庄家优势| 大发888娱乐场网页版| 百家乐翻天qvod| 什么事百家乐官网的路单| 在线棋牌游戏| 威尼斯人娱乐城代理| 百家乐投注双赢技巧| 百家乐官网屏风| 泉州市| 大发888直播网| 中国百家乐软件| 百家乐视频大厅| 百家乐官网游戏网上投注|