資料介紹
軟件簡介
EventOS Nano 是什么?
EventOS Nano,是一個面向單片機(jī)、事件驅(qū)動的嵌入式開發(fā)平臺。它主要有兩大技術(shù)特色:一是事件驅(qū)動,二是超輕量。EventOS Nano的主要特性列舉如下:
- 事件總線為核心組件,靈活易用,是進(jìn)行線程(狀態(tài)機(jī))間同步或者通信的主要手段,也是對EventOS分布式特性和跨平臺開發(fā)進(jìn)行支持的唯一手段。事件支持廣播發(fā)送,或者發(fā)布-訂閱機(jī)制兩種方式(二選一)。
- 全局事件隊(duì)列,摒棄每個線程(狀態(tài)機(jī))擁有自己的事件隊(duì)列的方式,只有一個全局事件隊(duì)列,極限壓縮對RAM的占用。
- 極度輕量,便于嵌入其他系統(tǒng),除事件總線外的所有特性(層次狀態(tài)機(jī)、平面狀態(tài)機(jī)、發(fā)布-訂閱機(jī)制、事件攜帶數(shù)據(jù)、事件橋等)均可裁剪,將資源占用降至極限,可低至ROM 1.2KB,RAM 172Byte。可以作為子系統(tǒng),“悄悄”嵌入到其他軟件系統(tǒng)中去。
- 以時間事件的形式,優(yōu)雅實(shí)現(xiàn)了軟定時器。
- API的設(shè)計,更加簡明,更加符合本土嵌入式工程師的習(xí)慣。
- 移植方便,只需實(shí)現(xiàn)少數(shù)幾個接口函數(shù)即可。
- 未來會使用Event Bridge(事件橋)機(jī)制與EventOS打通事件總線,以便對EventOS的分布式特性進(jìn)行支持。
- 重點(diǎn)關(guān)注三種應(yīng)用場景:小資源單片機(jī),作為模塊向其他軟件系統(tǒng)的嵌入和可靠性要求較高的嵌入式場景。
如果你想寫一個清晰的、結(jié)構(gòu)健壯且利于維護(hù)的源代碼,又不想使用傳統(tǒng)的RTOS,那么EventOS Nano是你的不二選擇。 ? EventOS Nano的前身,曾經(jīng)讓我在過去的工作中受益匪淺,讓我非常高效的寫出了很多可靠的程序,能力和回報都有了質(zhì)的提升。現(xiàn)在,我將以前的技術(shù)成果整理重構(gòu),在各方面都向著規(guī)范的開源項(xiàng)目靠攏,包括源碼、注釋、文檔、單元測試和例程等等。未來,EventOS Nano這個項(xiàng)目我會一直完善下去。我的目標(biāo)是,將EventOS Nano項(xiàng)目在2022年底前做成Gitee推薦項(xiàng)目,2024年年底前將EventOS項(xiàng)目,做成Gitee的GVP項(xiàng)目,造福更多的嵌入式工程師。
二、為什么叫做EventOS Nano?
之所以叫Nano,是因?yàn)樗娴姆浅]p量。全功能的EventOS Nano目前經(jīng)MDK編譯后,框架本身占用RAM 200Byte,ROM約3.5KB(優(yōu)化等級為-O3)或4.5KB(優(yōu)化等級為-O0)。裁剪后,最小功能的EventOS Nano,目前經(jīng)MDK編譯后,框架本身占用RAM 172Byte,ROM約1.2KB(優(yōu)化等級為-O3)或1.5KB(優(yōu)化等級為-O0)。 之所以叫EventOS Nano,一是因?yàn)樗募夹g(shù)特色與核心思想,就是事件驅(qū)動;二是因?yàn)樗橇硗庖粋€開源項(xiàng)目EventOS(準(zhǔn)備中)的簡化實(shí)現(xiàn),EventOS是一個事件驅(qū)動的、分布式的、可跨平臺開發(fā)的嵌入式RTOS,面向32位單片機(jī)和更高處理器的嵌入式開發(fā)平臺。
三、EventOS Nano主張的編程思想
事件驅(qū)動與事件總線
事件驅(qū)動和事件總線,是EventOS Nano的核心,也是EventOS的核心。事件機(jī)制,與RTOS中事件概念完全不同,它更像是windows編程中的消息。事件,可以認(rèn)為是“主題 + 不定長數(shù)據(jù)**,通過事件,可以極大解耦模塊間的耦合,增強(qiáng)軟件的可測試性,還可以進(jìn)行跨平臺開發(fā)和分布式擴(kuò)展。
防御式編程
EventOS Nano使用了大量的斷言,對系統(tǒng)的運(yùn)行過程和用戶對EventOS Nano的使用進(jìn)行大量的檢查。我們強(qiáng)烈建議,用戶要對斷言接口函數(shù)進(jìn)行精心的設(shè)計和實(shí)現(xiàn),在實(shí)際的產(chǎn)品代碼中,依然打開斷言。這樣,軟件將以非常快的速度,收斂于穩(wěn)定狀態(tài)。
跨平臺開發(fā)
EventOS Nano提倡跨平臺開發(fā)。所謂跨平臺開發(fā),就是在Windows和Linux等便捷友好的開發(fā)環(huán)境里完成大部分的開發(fā)工作,包括編程、調(diào)試、運(yùn)行和單元測試等工作,然后在目標(biāo)平臺上進(jìn)行最后的移植、調(diào)試和適配工作。跨平臺的優(yōu)點(diǎn)有很多,比如開發(fā)效率非常高、工程師進(jìn)入到更多的編程領(lǐng)域和程序穩(wěn)定可靠等。EventOS Nano主要在32位MinGW平臺上開發(fā),在Linux平臺上也會開發(fā)一部分工作。開發(fā)環(huán)境的搭建,見文檔開發(fā)環(huán)境搭建。
消除耦合
無論是廣播式的事件發(fā)送機(jī)制,還是發(fā)布-訂閱式的事件發(fā)送機(jī)制,實(shí)際上,都是為了消除軟件模塊間的耦合。
四、EventOS Nano項(xiàng)目的維護(hù)原則
但行好事,不問前程
我完全沒有考慮過EventOS Nano將來如何,也沒有考慮過所謂商業(yè)模式。我有自認(rèn)為還不錯的工作,收入夠用,家庭溫馨而和睦。我現(xiàn)在只是想,把EventOS Nano項(xiàng)目做好,做成一個工業(yè)級的軟件產(chǎn)品,被眾多網(wǎng)友和用戶認(rèn)可,并在成千上萬的嵌入式產(chǎn)品中廣泛應(yīng)用起來。至于其他,就隨遇而安吧。
源碼文檔并進(jìn)
我深知完善豐富的文檔,對一個開源項(xiàng)目的重要意義。因此,我堅持每一個特性的升級,每一個BUG的修復(fù),都跟隨著相應(yīng)的文檔。讓EventOS Nano和EventOS項(xiàng)目的文檔專業(yè)化、體系化,包含用戶手冊、版本特性、原理說明、博客、例程等等。
單元測試優(yōu)先
嵌入式的開源項(xiàng)目,用戶最關(guān)心的,是軟件的可靠性。單元測試,是保證軟件健壯與可靠的重要手段。對于EventOS Nano這種系統(tǒng)級、框架級的軟件,穩(wěn)定性與可靠性更加重要。從EventOS Nano誕生之日起,它就是面向單元測試的。詳盡而嚴(yán)謹(jǐn)?shù)膯卧獪y試,保證了EventOS Nano將絕大多數(shù)的BUG,消除在了開發(fā)階段。EventOS Nano的每一次重構(gòu)、升級與發(fā)布,都是經(jīng)過了嚴(yán)謹(jǐn)?shù)膯卧獪y試的。
用戶至上,需求至上
軟件如何發(fā)展,代碼向哪個方向前進(jìn),EventOS Nano完全聽從用戶們的聲音,完全從需求出發(fā)。我們從各個渠道,微信、QQ、論壇等獲取的意見建議,都將體現(xiàn)到EventOS Nano的開發(fā)中去。
五、聯(lián)系方式
郵箱:event-os@outlook.com?
- 嵌入式開發(fā) ---必看圖書
- 藍(lán)橋杯嵌入式開發(fā)學(xué)習(xí)索引
- 嵌入式學(xué)習(xí)培訓(xùn)能學(xué)會嗎?嵌入式開發(fā)培訓(xùn)都要學(xué)什么?
- python做嵌入式開發(fā)_Python和嵌入式的區(qū)別是什么?可以做嵌入式開發(fā)嗎?
- 嵌入式開發(fā)Linux入門
- 嵌入式開發(fā)資料免費(fèi)分享
- 嵌入式開發(fā)(一):嵌入式開發(fā)新手入門
- 基于Feistel結(jié)構(gòu)的超輕量級分組密碼算法 4次下載
- AI開發(fā)平臺如何幫助嵌入式開發(fā)者加速應(yīng)用產(chǎn)品化落地 0次下載
- 如何快速熟練掌握嵌入式開發(fā)嵌入式開發(fā)工程師需要做哪些事情
- 基于嵌入式開發(fā)平臺的搭建與軟件移植 7次下載
- 嵌入式開發(fā)平臺的搭建與軟件移植 67次下載
- 基于ARM的嵌入式開發(fā)
- 基于Linux的輕量級嵌入式GUI系統(tǒng)及實(shí)現(xiàn)
- 嵌入式開發(fā)圣經(jīng)
- 嵌入式開發(fā)常見問題排查 386次閱讀
- STM32嵌入式開發(fā)中的RTOS,你用過哪些? 2251次閱讀
- 嵌入式開發(fā)中串口通訊方案 2436次閱讀
- 嵌入式開發(fā)的產(chǎn)品有哪些_嵌入式開發(fā)的流程 1.1w次閱讀
- 基于Mac上做嵌入式開發(fā)簡析 4002次閱讀
- 在Nios II平臺下搭建RTEMS嵌入式開發(fā)簡析 1590次閱讀
- 嵌入式開發(fā)好學(xué)嗎_嵌入式開發(fā)職業(yè)發(fā)展方向是什么 9207次閱讀
- 什么是嵌入式開發(fā)板_學(xué)嵌入式用什么開發(fā)板 7206次閱讀
- 嵌入式開發(fā)和單片機(jī)開發(fā)有什么區(qū)別和聯(lián)系 3.6w次閱讀
- 嵌入式開發(fā)工具有哪些_五款嵌入式開發(fā)工具推薦 4w次閱讀
- 學(xué)嵌入式開發(fā)入門_學(xué)嵌入式開發(fā)需要看哪些書籍 2.5w次閱讀
- 很全面的嵌入式開發(fā)與學(xué)習(xí)的入門知識 1.7w次閱讀
- 嵌入式開發(fā)環(huán)境的搭建 8548次閱讀
- 嵌入式開發(fā)就業(yè)前景分析_嵌入式領(lǐng)域的職業(yè)發(fā)展方向 1.8w次閱讀
- 學(xué)習(xí)嵌入式要什么基礎(chǔ) 4258次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多