痞子衡嵌入式半月刊:第 29 期
這里分享嵌入式領(lǐng)域有用有趣的項(xiàng)目/工具以及一些熱點(diǎn)新聞,農(nóng)歷年分二十四節(jié)氣,希望在每個(gè)交節(jié)之日準(zhǔn)時(shí)發(fā)布一期。
本期刊是開(kāi)源項(xiàng)目(GitHub: JayHeng/pzh-mcu-bi-weekly),歡迎提交 issue,投稿或推薦你知道的嵌入式那些事兒。
上期回顧 :《痞子衡嵌入式半月刊:第 28 期》
嘮兩句
清明是上周日的事,歷史上的今天:1910年4月11日津浦鐵路(京滬鐵路前身)首次開(kāi)通旅客列車。
本期共收錄 2條資訊、4個(gè)項(xiàng)目,希望對(duì)你有幫助!
資訊類
1、ARM推出了全新的Armv9架構(gòu)
近日,ARM推出了全新的Armv9架構(gòu),這是自Armv8十年前推出后,該架構(gòu)首次重大變革。Armv9架構(gòu)將會(huì)給接下來(lái)兩代芯片帶來(lái)30%的性能提升。
資訊主頁(yè): https://www.arm.com/company/news/2021/03/arms-answer-to-the-future-of-ai-armv9-architecture
Armv9在兼容Armv8的基礎(chǔ)上,提升了安全性、增強(qiáng)了矢量計(jì)算、機(jī)器學(xué)習(xí)及數(shù)字信號(hào)處理,同時(shí)繼續(xù)提升處理器性能。
Armv9架構(gòu)的處理器平衡了通用計(jì)算設(shè)備與處理數(shù)字信號(hào)和機(jī)器學(xué)習(xí)等任務(wù)的專用處理器的經(jīng)濟(jì)性、設(shè)計(jì)自由性和可訪問(wèn)性優(yōu)勢(shì)三方面。
2、樂(lè)鑫發(fā)布新款RISC-V SoC ESP32-C6
近日,樂(lè)鑫科技宣布推出 ESP32-C 系列中的又一款新品 ESP32-C6。ESP32-C6 是樂(lè)鑫首款集成 Wi-Fi 6 + Bluetooth 5 (LE) 的 32 位 RISC-V SoC,具有極低功耗和高性價(jià)比,能夠大幅提升物聯(lián)網(wǎng)設(shè)備的 Wi-Fi 傳輸效率,提供安全可靠的連接性能。
ESP32-C6 的 CPU、內(nèi)存和安全性能與 ESP32-C3 相似,它搭載 RISC-V 32 位單核處理器,時(shí)鐘頻率高達(dá) 160 MHz,內(nèi)置 400 KB SRAM,384 KB ROM,并支持多個(gè)外部 SPI、Dual SPI、Quad SPI、QPI flash。
資訊主頁(yè): https://www.espressif.com/zh-hans/node/5088
項(xiàng)目類
1、Arm-2D - 基于Cortex-M的2D圖形加速庫(kù)
ARM官方出品的2D圖形加速庫(kù),在Cortex-M55系統(tǒng)頻率 8MHz 下就可以實(shí)現(xiàn)30fps的渲染(6圖層。320x240,rgb565)。
項(xiàng)目主頁(yè): https://github.com/ARM-software/EndpointAI/tree/master/Kernels/Research/Arm-2D
Arm-2D 庫(kù)特性包括但不限于:
* Alpha-Blending
- With or without Colour-Masking
* Image Copy / Texture Paving
- With or without Colour-Masking
- Four mirroring mode: None, X-mirroring, Y-mirroring and XY-mirroring
* Colour format conversions
- RGB565 and RGB888
- Generic RGB16 and RGB32
* Region/Window Clipping
* Generic Partial Frame-buffer (PFB) Support
- Transparent for upper layer software/GUI services
- Easy to implement
- No limitation on target screen resolution
- No limitation on PFB size and shape (it could be line or cube with any size)
* Unified and User Friendly Programmers' Mode
- APIs could be used in Synchronous manner ( Classic Blocking code ) and/or Asynchronous manner ( Event-Driven )
- Support both bare-metal and RTOS
- Ultra small memory footprint
2、ELL-8051-LIB - 面向8051的高效低封裝函數(shù)庫(kù)
8051 ELL函數(shù)庫(kù),是網(wǎng)友澤文i針對(duì)STC8系列豐富的芯片資源,基于keil開(kāi)發(fā)的軟件包。函數(shù)庫(kù)采用了LL庫(kù)的編程思想,充分考慮8051的特性,結(jié)合硬件條件,提供大量標(biāo)準(zhǔn)的API函數(shù),供開(kāi)發(fā)者訪問(wèn)底層硬件細(xì)節(jié)。并且函數(shù)庫(kù)的大小可裁剪,在代碼密度和執(zhí)行效率上做了很好的平衡。
項(xiàng)目主頁(yè): https://gitee.com/zeweni/ELL-8051-LIB
3、KLite - 簡(jiǎn)潔易用的嵌入式操作系統(tǒng)內(nèi)核
KLite是由個(gè)人編寫(xiě)的嵌入式操作系統(tǒng)內(nèi)核,它是一款入門(mén)級(jí)的小型搶占式操作系統(tǒng)內(nèi)核,以簡(jiǎn)潔易用為設(shè)計(jì)目標(biāo),旨在降低學(xué)習(xí)嵌入式操作系統(tǒng)編程和入門(mén)的難度。
項(xiàng)目主頁(yè): https://gitee.com/kerndev/klite
KLite 以其簡(jiǎn)潔的API風(fēng)格,簡(jiǎn)潔的調(diào)用方式,簡(jiǎn)單的移植方法,可以算得上是目前最簡(jiǎn)單易用的嵌入式操作系統(tǒng)內(nèi)核。
-- 支持優(yōu)先級(jí)搶占
-- 支持相同優(yōu)先級(jí)的線程
-- 支持線程同步互斥
-- 支持動(dòng)態(tài)內(nèi)存管理
-- 支持多編譯器GCC, IAR, MDK
KLite 目前已經(jīng)為ARM Cortex-M0/M3/M4做好了底層適配,如果你的CPU平臺(tái)是基于以下平臺(tái):STM32,GD32,NRF51,NRF52,Freescale K40等系列單片機(jī),那么可以直接使用預(yù)編譯的庫(kù)文件進(jìn)行開(kāi)發(fā),只需要修改template.c里面幾個(gè)簡(jiǎn)單的函數(shù)即可開(kāi)始編程。
4、LW_OOPC - 一種輕量級(jí)的面向?qū)ο蟮腃語(yǔ)言編程框架
LW_OOPC 是Light-Weight Object-Oriented Programming in(with) C的縮寫(xiě), 這個(gè)框架是由中國(guó)臺(tái)灣的高煥堂先生以及他的MISOO團(tuán)隊(duì)首創(chuàng), 之后由金永華繼續(xù)改進(jìn)優(yōu)化。
網(wǎng)友 Akagi201 在金永華對(duì)于高煥堂的lw_oopc的源碼的基礎(chǔ)上進(jìn)行了一些簡(jiǎn)單的修改和調(diào)試,使得lw_oopc能夠用在實(shí)際的嵌入式項(xiàng)目中, 作為一個(gè)很好的框架傳播開(kāi)來(lái)。
項(xiàng)目主頁(yè): https://github.com/Akagi201/lw_oopc
LW_OOPC 非常的輕量級(jí), 但卻很好的支持了很多面向?qū)ο蟮奶匦? 比如繼承, 多態(tài),可以優(yōu)美的實(shí)現(xiàn)面向接口編程。