CMSIS 通過(guò)集成各種包和模塊,從軟件角度增強(qiáng)了嵌入式項(xiàng)目。它帶有一系列工具、API 和框架,可幫助嵌入式開(kāi)發(fā)人員實(shí)現(xiàn)流暢的應(yīng)用程序構(gòu)建。此外,從開(kāi)發(fā)的角度來(lái)看,實(shí)時(shí)操作系統(tǒng)和中間件組件提供了多種選擇。
CMSIS-Pack 的組織結(jié)構(gòu)使其適用于劃分和克服應(yīng)用程序的復(fù)雜要求。隨著 5.8.0 版本的發(fā)布,CMSIS-NN 和 CMSIS-DSP 已從復(fù)合 CMSIS 核心中分離出來(lái),后者是 CMSIS 包的主要組件之一。這種自由裁量權(quán)允許集中開(kāi)發(fā)機(jī)器學(xué)習(xí)和信號(hào)處理功能,并且包的相應(yīng)發(fā)布周期獨(dú)立于主要的 CMSIS 核心版本。
CMSIS-DSP 包有一些小的變化,一些 GCC 問(wèn)題已通過(guò)將 DSP 包離散更新到 1.9.0 版本而得到修復(fù)。更新后的軟件包增強(qiáng)了對(duì) f16 數(shù)據(jù)類型的支持,以便對(duì)接收到的數(shù)據(jù)進(jìn)行有效的信號(hào)處理。此外,還從存儲(chǔ)庫(kù)中刪除了一些預(yù)構(gòu)建的庫(kù),以獲得更清晰的包源。
TensorFlow Lite 框架將接口機(jī)器學(xué)習(xí)本質(zhì)添加到硬件應(yīng)用程序中。更新后的 CMSIS-NN 包在 TensorFlow Lite 微控制器框架支持的功能接口上發(fā)生了一些重大變化。另外,這個(gè)版本通過(guò) M-Profile Vector Extension 的處理相對(duì)更好,這是由于最大池算子的實(shí)現(xiàn)。運(yùn)算符在非重疊區(qū)域上工作以減小向量或矩陣的大小。這導(dǎo)致機(jī)器學(xué)習(xí)用例的優(yōu)化處理。
ARM 嵌入式工具高級(jí)總監(jiān) Reinhard Keil 表示:“最新的 CMSIS 版本 5.8.0 對(duì)在 Cortex-M55 處理器中實(shí)現(xiàn)的 Helium 矢量擴(kuò)展支持具有額外的性能改進(jìn)。這包括優(yōu)化 CMSIS-DSP 算法集合和用于機(jī)器學(xué)習(xí)應(yīng)用的高效神經(jīng)網(wǎng)絡(luò)內(nèi)核 CMSIS 集合?!?/p>
CMSIS 核心的啟動(dòng)代碼
C 啟動(dòng)代碼最初是在 CMSIS 5.6.0 中引入的,它增加了代碼的可移植性和復(fù)雜構(gòu)建的開(kāi)發(fā)簡(jiǎn)易性。CMSIS 核心中的設(shè)備啟動(dòng)代碼現(xiàn)在可以直接用 C 語(yǔ)言編寫(xiě),這使其獨(dú)立于編譯器工具鏈。此外,CMSIS 5.8.0 的發(fā)布使 C 啟動(dòng)成為設(shè)備的默認(rèn)啟動(dòng)。
進(jìn)一步討論,GCC Linker Description 和 GCC Assembler startup 的更新很少。到目前為止,匯編代碼使用字節(jié)計(jì)數(shù)來(lái)進(jìn)行 BSS(由符號(hào)開(kāi)始的塊)和零部分的初始化的復(fù)制/零表。另一方面,C 啟動(dòng)代碼使用字?jǐn)?shù)而不是字節(jié)數(shù)。在 CMSIS 5.8.0 中,兩個(gè)啟動(dòng)代碼變體都使用相同的復(fù)制/零表布局。因此,它提供了從匯編代碼到 C 啟動(dòng)代碼來(lái)回切換的靈活性。
Armv8-M Assembler 啟動(dòng)已更新為使用 CMSIS 5.8.0 版本的 GAS 語(yǔ)法。最新的 ARM 編譯器 6 支持傳統(tǒng)的 Arm Assembler(armasm),使軟件向后兼容所有設(shè)備。Arm Compiler 6 以 LLVM/Clang 為基礎(chǔ),因此較新處理器的匯編代碼需要采用 GAS 語(yǔ)法。
CMSIS 是一個(gè)開(kāi)源項(xiàng)目
CMSIS 是 GitHub 上的一個(gè)開(kāi)源項(xiàng)目。由于先前版本的實(shí)現(xiàn)在某些小點(diǎn)上使接口失敗,因此很少出現(xiàn)問(wèn)題。這些問(wèn)題中的大多數(shù)將在下一個(gè)版本中得到解決,但可以通過(guò)在本地技術(shù)堆棧中進(jìn)行一些更改來(lái)解決它們。您可以通過(guò)訪問(wèn)CMSIS 5.8.0 版本的 GitHub 查看這些問(wèn)題和修復(fù)。
該存儲(chǔ)庫(kù)是開(kāi)源的,因此它有助于解決用戶和合作伙伴報(bào)告的潛在安全漏洞問(wèn)題。它允許每個(gè)用戶訪問(wèn)詳細(xì)的修訂歷史、提交細(xì)節(jié)和已知問(wèn)題,這些問(wèn)題可能會(huì)影響一些依賴先前實(shí)現(xiàn)的副作用的用戶。
CMSIS 中屬于軟件打包和構(gòu)建過(guò)程的其他組成部分正在轉(zhuǎn)向 Open-CMSIS-Pack 項(xiàng)目,該項(xiàng)目可以增加開(kāi)發(fā)和應(yīng)用方面的更多可能性。因此,這是一個(gè)由 Arm 和 NXP、STMicroelectronics 和 Linaro 等行業(yè)合作伙伴推動(dòng)的開(kāi)放式治理項(xiàng)目。
審核編輯:郭婷
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4814瀏覽量
103596 -
編譯器
+關(guān)注
關(guān)注
1文章
1662瀏覽量
50214 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8503瀏覽量
134601
發(fā)布評(píng)論請(qǐng)先 登錄
BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較
如何優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率
BP神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點(diǎn)分析
BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系
人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

卷積神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)工具與框架
卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較
深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)模型
循環(huán)神經(jīng)網(wǎng)絡(luò)的優(yōu)化技巧
RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的區(qū)別
LSTM神經(jīng)網(wǎng)絡(luò)與其他機(jī)器學(xué)習(xí)算法的比較
LSTM神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)RNN的區(qū)別
LSTM神經(jīng)網(wǎng)絡(luò)的基本原理 如何實(shí)現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)
Moku人工神經(jīng)網(wǎng)絡(luò)101

評(píng)論