這裏分享嵌入式領域有用有趣的項目/工具以及一些熱點新聞,農曆年分二十四節氣,但願在每一個交節之日準時發佈一期。html
本期刊是開源項目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。git
上期回顧 :《痞子衡嵌入式半月刊: 第 16 期》github
今天是寒露。寒露是一個反映氣候變化特徵的節氣,是涼爽向寒冷的轉折。算法
又是一年國慶中秋雙節同慶8天長假,鑑於國外疫情狀況,今年國內各大旅遊勝地應該比往年要更加"熱鬧",痞子衡不喜歡湊熱鬧,所以在家宅了8天,沒有旅途奔波,卻是真正體驗了個最輕鬆的長假。安全
本期共收錄 4個項目,但願對你有幫助!微信
znFAT是大神于振南維護的一套高效、完備、精簡且具備高可移植性的嵌入式FAT32文件系統解決方案。併發
項目主頁: https://gitee.com/dbembed/znfat框架
該項目的特性有:編輯器
- 與FAT32文件系統高度兼容,提供豐富文件操做函數,可實現文件與目錄建立、打開、刪除,數據的讀取與寫入等功能。 - 可方便地移植到多種嵌入式CPU平臺上,如5一、STM3二、AVR、PIC、ColdFile、MSP430等。 - 佔用RAM與ROM資源極少,並可由使用者視目標平臺資源狀況進行靈活配置,最小配置狀況下,RAM的使用量約在800~900字節,最大配置下約爲1300字節。 - 內建獨特數據讀寫加速算法,以及多種工做模式,都可由用戶自行配置,以知足不一樣的速度與功能需求。 - 創新性提出數據寫入的實時工做模式,可保證寫入到磁盤文件中的數據安全。防止因惡劣工做環境、干擾或其它緣由引發的目標平臺不可預見的死機或故障,形成數據丟失(實時模式數據寫入速度不高,數據直接寫入物理扇區,而不在RAM中暫存,並對文件數據進行實時維護)。 - 底層提供簡單的單扇區讀寫驅動接口以及可選的硬件多扇區讀、寫、擦除驅動接口。(在提供硬件多扇區讀、寫、擦除驅動的狀況下,磁盤格式化與數據讀寫速度將有近2~4倍的提高,甚至更高。) - 提供清晰而強大的功能模塊裁剪功能,可極大程度減少最終生成的可執行文件的體積,節省ROM資源。 - 提供數據讀取重定向功能,使讀到的數據無需緩衝暫存,直接流向應用目的。
znFAT做者還爲該項目專門寫了一本書:函數
NorthFrame是基於非UML極簡理念的狀態機框架,配合NF_FsmDesigner圖形化開發工具,可無負擔替代傳統switch-case狀態機開發。
NorthFrame包含三個組件:
NF_FSM : 極簡非UML狀態機框架 NF_FsmDesigner : 基於C# Winform開發的狀態機圖形化開發工具,可直接生成C代碼 NF_Signal : 用於代替全局變量的動態信號機制
建立一個在VS2012環境中運行的判斷QE組合鍵的狀態機例程僅需以下三步:
Step1 : 使用NF_FsmDesigner工具設計繪製狀態轉換圖,並保存爲XML文件 Step2 : 點擊生成代碼,生成C語言代碼 Step3 : 在main.c文件中實現按鍵處理,併發送事件給狀態機
MonoGUI是針對電子詞典、高級計算器、電子手錶、標籤打印機、收款機、電子貨籤等 具備黑白屏幕的小電子設備開發的專用GUI系統。本系統具備結構簡單、使用容易、內 存佔用小、單線程、處理器負擔輕等特色。雖然圖形能力僅有黑與白,但其支持完整的 中文顯示處理功能(GB18030中2字節漢字,即舊GB13000標準),其Edit控件和中文輸 入法(包括九鍵輸入法)功能上達到Windows和Android的輸入法水平,且擴展容易。
MonoGUI使用純C++編寫,不依賴於第三方源碼,便於移植和調試。配套的工具軟件, 如圖片轉換器、對話框模板編輯器等,所有開源。設計資料完整,文檔充實,也是一份 不可多得的研究資料。
OpenBLT是一個開源引導加載程序,能夠在任何微控制器上運行並使用任何類型的通訊接口來執行軟件更新,而無需專用的調試器硬件。
該項目的特色有:
- 用戶友好的PC下載程序。 - 完整的源代碼可用。 - 與STM32,XMC4,XCM1,Tricore,HCS12和其餘基於ARM Cortex的微控制器一塊兒使用。 - 易於移植到不一樣的微控制器。 - 支持經常使用的通信接口,例如RS232,CAN,TCP / IP和USB。 - 支持從本地鏈接的存儲設備(例如SD卡)進行軟件更新。 - 可擴展以支持額外的存儲器,例如串行EEPROM或外部閃存。 - 可擴展以支持用戶定義的後門條目。
文章會同時發佈到個人 博客園主頁、CSDN主頁、知乎主頁、微信公衆號 平臺上。
微信搜索"痞子衡嵌入式"或者掃描下面二維碼,就能夠在手機上第一時間看了哦。