《痞子衡嵌入式半月刊》 第 93 期

痞子衡發表於2024-03-03

痞子衡嵌入式半月刊: 第 93 期

這裡分享嵌入式領域有用有趣的專案/工具以及一些熱點新聞,農曆年分二十四節氣,希望在每個交節之日準時釋出一期。

本期刊是開源專案(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。

上期回顧《痞子衡嵌入式半月刊: 第 92 期》

嘮兩句

歷史上的今天:1990年3月3日,人類第一次勝利徒步橫穿南極。

本期共收錄 5 個專案,希望對你有幫助!

專案類

1、FP-AUD-SMARTMIC1 - ST開源的各類音訊演算法

FP-AUD-SMARTMIC1 提供了一個執行在 STM32 上的韌體,它採集四個數字 MEMS 麥克風的音訊訊號,透過嵌入式 DSP 庫對其進行細化(包含了波束形成,AEC(回聲消除),聲源定位,分貝轉換等),並將處理後的音訊流式傳輸到連線到相關擴充套件板的 USB 主機和揚聲器上。還提供了通訊基礎設施,允許從主機 PC 控制裝置狀態和設定執行演算法。

  • 專案地址:https://github.com/STMicroelectronics/fp-aud-smartmic1

2、raspberry-pi-os - 學習使用Linux核心和樹莓派開發作業系統

此專案包含一個循序漸進的指南,教您如何從頭開始建立一個簡單的作業系統(OS)核心。作者稱這個作業系統為樹莓派作業系統或RPi作業系統。RPi作業系統的原始碼主要基於Linux核心,但是該作業系統的功能非常有限,並且只支援Raspberry PI 3。

  • 專案地址:https://github.com/s-matyukevich/raspberry-pi-os

3、MiniLisp - 1K行C語言寫的Lisp直譯器

有一天,專案作者想看看用1000行C程式碼能做些什麼,於是決定寫一個Lisp直譯器,這變成了一個有趣的週末專案,結果是一個迷你lisp實現。所有這些都在1000行c中,作者沒有為了大小而犧牲可讀性。在作者看來,程式碼中有大量註釋,以幫助讀者理解所有這些特性是如何工作的。

  • 專案地址:https://github.com/rui314/minilisp

MiniLisp 實現了整數、符號、區域性變數、條件語句、宏和垃圾回收等功能。

4、Zstandard - 快速無損的資料壓縮演算法Zstandard的實現

Zstandard,簡稱 zstd,是一種快速無失真壓縮演算法,針對 zlib 級的實時壓縮場景和更好的壓縮比。在相似的壓縮比情況下,它解壓縮的速度比其他的演算法都要快。很多知名專案都有這個演算法的身影。

  • 專案地址:https://github.com/facebook/zstd

如下表是使用 lzbench (@inikep使用gcc 9.3.0編譯的開源記憶體基準)在 Silesia 壓縮語料上測試和比較了幾種快速壓縮演算法:

5、linq4c - C#的linq方法之C實現

C# LINQ(Language Integrated Query)是一種強大且靈活的查詢語言,可以將資料查詢、過濾、排序和轉換等操作無縫整合到 C# 程式碼中。如果你想在 C 中使用 C# 的 linq 方法,那麼不妨來使用這個專案!這是它的 C 語言版。實現了 linq 的大部分方法(60+)。

  • 專案地址:https://github.com/haifenghuang/linq4c

歡迎訂閱

文章會同時釋出到我的 部落格園主頁CSDN主頁知乎主頁微信公眾號 平臺上。

微信搜尋"痞子衡嵌入式"或者掃描下面二維碼,就可以在手機上第一時間看了哦。

相關文章