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

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

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

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

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

嘮兩句

今天是雨水與驚蟄交節之時,驚蟄節氣在農耕上有著相當重要的意義,自古以來中國人民很重視驚蟄這個節氣,把它視為春耕開始的節令。

新冠肺炎疫情在逐日好轉,相信大部分人都已經開始陸續復工了,但痞子衡東家還是決定 3 月 23 號之後再考慮全面復工的事。因此這些天痞子衡在家主要是以看技術文檔寫技術文檔以及線上客戶支援為主,最近原創文章產出比較驚人,一周能達到 3 篇,寫文章這種事,寫作過程中比較痛苦,但寫完還是成就感滿滿的。

最近痞子衡不斷接到技術群的朋友約稿,趁著在家辦公的時機,痞子衡會加快寫作,儘早完成大家的約稿。

本期共收錄 3條資訊、4個項目、2個工具、1個RT產品,希望對你有幫助!

資訊類

1、面向音頻/語音應用的恩智浦 i.MXRT600 已上市

恩智浦半導體於 Embedded World 2020 上宣布其旗下主打音頻/語音應用的全新跨界處理器 i.MXRT600 已開始正式供貨,10K 量起價 $4.50,恩智浦官網上也逐漸放出了 i.MXRT600 相關開發資料。

i.MXRT600 特性如下:

- 主頻高達 300MHz 的Arm® Cortex®-M33內核  - 可選的Cadence® Tensilica® HiFi 4 音頻、語音數字訊號處理器(DSP)。運行主頻高達 600MHz,並支援四組 32x32 MAC。  - 多達4.5MB 片上 SRAM,支援關鍵指令和數據的「零等待」訪問。  - 28nm FD-SIO (耗盡型絕緣硅)製程,提供更低的工作電流和漏電流。  - 內置恩智浦卓越的嵌入式安全技術 - EdgeLock™ 400A。  - 可使用 Glow 神經網路編譯器,優化機器學習性能。

恩智浦除了提供常規軟硬體開發工具支援外,還包括適用於 i.MXRT600 的 Cadence Xplorer IDE、DSP函數庫和音頻編解碼器的支援。恩智浦還與 Alango Technologies、DSP Concepts 和 Sensory 合作,提供高性能語音預處理和識別軟體以及專業的音頻庫和工具。

2、全球首顆通用 RISC-V MCU 兆易創新 GD32VF103 獲 EW2020 唯一最佳硬體產品大獎

GD32VF103 是兆易創新(Gigadevice)於 2019 年 8 月 22 日發布的全球首款通用 RISC-V MCU,這款晶片日前獲得了 Embedded World 2020 年度唯一的最佳硬體產品大獎。

GD32VF103 特性如下所示,其 Bumblebee 內核是由芯來科技(Nuclei System Technology)聯合兆易創新針對其面向 IoT 或其他超低功耗場景的通用 MCU 產品訂製的一款商用 RISC-V 處理器內核。

- 提供108 MHz的運算主頻,以及16~128 KB的片上快閃記憶體和6~32 KB的SRAM。  - 支援32比特寬的標準AHB-Lite系統匯流排介面,支援32比特寬的指令局部存儲器。  - 支援32位的RISC-V指令集架構,支援RV32IMAC指令子集的組合。  - 主流支援標準JTAG介面 和RISC-V調試標準。  - 使用基於RISC-V的Bumblebee內核,該內核內置了單周期硬體乘法器、硬體除器。

兆易創新官方提供了兩款 GD32VF103 開發板,一款是入門級 GD32VF103C-START,另一款是專業級 GD32VF103V-EVAL,下圖便是專業級開發板:

3、Micrium uC/OS 及其大部分組件推出免費商業授權(Apache License 2.0)

Micrium 宣佈於 2020 年 2 月底將 µC/OS-II, µC/OS-III, µC/FS, µC/TCP-IP, µC/USB-Device, µC/USB-Host, µC/CAN, µC/Modbus 轉入 Apache License 2.0,客戶可以免費商業使用。相關源碼可在 SiliconLabs 官方 github 上獲取:

https://github.com/SiliconLabs/uC-OS2  https://github.com/SiliconLabs/uC-OS3  https://github.com/SiliconLabs/uC-FS  https://github.com/SiliconLabs/uC-TCP-IP  https://github.com/SiliconLabs/uC-USBD  https://github.com/SiliconLabs/uC-USBH

源於 1992 年的 uC/OS 應該是中國大部分嵌入式工程師的 RTOS 啟蒙老師,除了其簡單易用以及開源特性之外,邵貝貝老師翻譯的 《嵌入式實時作業系統uC/OS-II》 對其推廣也起了很大作用。

但是開源並不等於免費,早期的 uC/OS 僅可用於個人學習,如用作商業目的,Micrium 其實是要按產品出貨量收費的。不過自從 2016 年 SiliconLabs 完成對 Micrium 的收購之後,uC/OS 逐漸放開商業授權,現在基本除了uC/GUI 之外,其它都可以免費商業使用了。

項目類

1、AMetal – 具有跨 MCU 平台通用介面的裸機軟體驅動包

AMetal 是周立功(ZLG)公司維護的晶片級裸機軟體包,定義了跨平台的通用介面(使得基於 AMetal 的應用程式可以和具體硬體完全分離,實現跨平台復用),並提供了一系列驅動及常用的軟體服務。AMetal 是周立功 AWorksOS 架構底層里的重要一環。

項目主頁:https://github.com/zlgopen/ametal

AMetal 主要特點如下,其目前已經支援周立功、華大半導體、靈動微電子、恩智浦半導體等公司的 MCU 產品,並且其還支援了非常多的嵌入式里常用的驅動組件(見下表,未完全列出)

- 將外設操作標準化,避免上層軟體、驅動的再次開發;  - 能獨立運行的軟體包,全部開源,提供工程模板與DEMO程式,可在此基礎上開發應用程式;  - 不依賴作業系統服務;  - 儘可能將外設的所有特性開放出來;  - 儘可能淺地對外設進行封裝,把效率放在第一位;  - 用戶不用看晶片手冊也能使用。

2、TJpgDec – 為小型嵌入式系統高度優化的 JPEG 解碼庫

TJpgDec 全稱 Tiny JPEG Decompressor,是日本的大牛工程師 ChaN 開發的開源 JPEG 影像解碼庫(C程式碼),你可能對 ChaN 這個名字陌生,但我相信你對 ChaN 的另一個作品 FatFs 一定不陌生。

項目主頁:http://elm-chan.org/fsw/tjpgd/00index.html

嵌入式項目里(尤其是影片相關)有時候經常需要跟 JPEG 格式打交道,關於 JPEG 解碼最知名的莫過於 IJG 組織開發的 libjpeg 解碼庫,但是 libjpeg 主要針對 Linux 等大型 OS 平台開發的,而在嵌入式 MCU 平台下,TJpgDec 會更合適一點。

TJpgDec 特性如下,其極低的存儲空間佔用使其可以完美運行於小型 MCU,比如AVR, 8051, PIC, Z80, Cortex-M0 等。

- Platform independent. Written in ANSI-C.  - Easy to use master mode operation.  - Fully re-entrant architecture.  - Very small memory footprint:    - 3K bytes of RAM for work area independent of image dimensions.    - 3.5-8.5K bytes of ROM for text and constants.  - Output format:    - Scaling ratio: 1/1, 1/2, 1/4 or 1/8 selectable on decompression.    - Pixel format: RGB888 or RGB565 pre-configurable.

3、Micro:Boy – 基於微芯 ATtiny24 的簡易電子遊戲機

這是來自 Hackaday 上的一個作品,基於 ATtiny24 和 MicroPython 的電子遊戲機。

項目主頁:https://hackaday.io/project/27757-microboy

遊戲程式碼:https://hackaday.io/project/27757-microboy/log/78338-progress-on-a-game

作者一開始想在 Micro:bit 平台上實現,但兩個按鍵和 5×5 LED 最多只能做個貪吃蛇遊戲。後來作者想到在 PewPew FeatherWing 平台上做,六個按鍵及 8×8 LED 能展示的餘地大一些。不過最終作者還是選擇了一個 ATtiny24 開發板以及 1.3" OLED SH1106 I²C 模組。

4、Metro M7 – 一款帶 AirLift WiFi 模組的 i.MXRT1011 開發板

Adafruit 網站上發現的一款帶 AirLift WiFi 模組兼容 Arduino 的開發板,主控是恩智浦新推的 500MHz 主頻的 i.MXRT1011,WiFi 模組是樂鑫的 ESP32,此板仍在研發中。

項目帖子:https://blog.adafruit.com/2020/02/29/metro-m7-rt1011-w-airlift-wifi-espressifsystem-nxp-arduino-adafruit/

工具類

1、RT-Thread Studio – RT-Thread 項目開發一站式工具(IDE)

RT-Thread Studio 是 RT-Thread 團隊於 2019 年 12 月 25 日全新推出的一站式開發工具,全面取代其上一代集成度不高的開發工具 ENV。

軟體主頁:https://www.rt-thread.org/page/studio.html

RT-Thread 是為數不多的國產 RTOS 之光,這些年的發展有目共睹,生態體系建設越來越完善,用戶群也越來越龐大。RT-Thread Studio 就是其構建軟體生態的重要一環。

RT-Thread Studio 主要包括工程創建和管理,程式碼編輯,SDK管理,RT-Thread配置,構建配置,調試配置,程式下載和調試等功能,結合圖形化配置系統以及軟體包和組件資源,減少重複工作,提高開發效率。

- 社區版本永久免費  - 支援主流C/C++語言開發  - 強大的程式碼編輯和重構功能  - SDK管理器支援在線下載更新 RT-Thread 最新源碼包  - 簡單易用的工程創建嚮導,快速驗證原型  - 全新圖形化配置系統,同時支援架構圖和樹形圖配置  - 軟體包市場提供豐富的可用軟體包資源  - 豐富的調試功能,快速查看和跟蹤定位程式碼問題

2、emWin AppWizard – 面向下一代嵌入式應用的 emWin 介面構建工具

AppWizard 是 SEGGER 公司為其嵌入式 GUI 庫 emWin 全新設計的面向下一代嵌入式應用的介面構建工具,伴隨著 emWin v6.10 (2020年3月)一起發布,用於取代之前的介面構建工具 GUIBuilder。

產品主頁:https://www.segger.com/products/user-interface/emwin/tools/tools-overview/#appwizard

emWin 是非常流行的嵌入式 GUI 庫,介面構建一直是 GUI 開發中的痛點,SEGGER 於 emWin v5.10 時(2011年8月)開始推出的 GUIBuilder 工具一定程度上幫助用戶減輕了 GUI 開發的工作量,但 GUIBuilder 誕生至今近 9 年裡因其較弱的功能一直備受吐槽。如 GUIBuilder 只適合單窗口編輯,並且不支援漢字字體,窗體風格設計等。


一切愛恨,皆是過往,如今 AppWizard 來了,這是一個真正的所見即所得的介面構建工具,其典型功能如下:

- Complete and ready-to-run emWin applications  - Support of emWin's core features such as widgets, animations and language management  - Resource management for fonts and bitmaps - Multilingual text management  - Application's behavior can be defined with interactions  - Integrated play mode makes testing simple  - Exportable to simulation or target project through included BSPs  - Little to no experience with emWin or even C required 


i.MXRT出品

1、Google – Stadia 雲遊戲手把

Stadia 雲遊戲平台,可以使玩家們打破硬體性能和遊玩地點的限制,僅僅通過網路就可以在 PC、平板電腦、手機等各種設備上體驗到原汁原味的 3A 遊戲大作。Stadia 手把是這個雲遊戲平台的配套設備,其除了常規的按鈕和操作桿之外,還有一個專用按鈕用於截取螢幕和錄製影片剪輯。

RT晶片:i.MXRT1062
產品主頁: https://www.stadia.dev/
官網定價: 69 美元起

歡迎訂閱

文章會同時發布到我的 部落格園主頁CSDN主頁微信公眾號 平台上。

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