在當今快節(jié)奏的嵌入式系統(tǒng)領域,靈活性和適應性是關鍵。因此,我們激動地向大家揭曉SEGGER的最新創(chuàng)新成果:嵌入式應用程序(Embedded Apps),類似于手機上的應用(只是更不容易發(fā)現且體積小得多),可在嵌入式系統(tǒng)上運行。
應用程序是小型、動態(tài)的軟件片段,可通過靜態(tài)或動態(tài)方式與設備固件鏈接。通常情況下,它們采用動態(tài)鏈接方式,這意味著您可以隨時下載并將其添加到現有固件中。
SEGGER應用程序由固件中一個小型且高度優(yōu)化的代碼片段(即執(zhí)行器)來執(zhí)行,該執(zhí)行器本質上實現了虛擬CPU的指令集。這一功能擴展了設備的功能性,使其更具通用性,能更好地適應新需求和更新。本質上,應用程序可將您的嵌入式設備轉變?yōu)橐粋€嵌入式平臺!
SEGGER應用程序的一大突出特點是其采用沙箱機制。也就是說,它們在受保護的環(huán)境中運行,底層操作系統(tǒng)可對其行為進行監(jiān)控。如果某個應用程序試圖執(zhí)行不允許的操作,執(zhí)行器會暫停該應用程序的運行,并返回至固件(調用方),由固件決定如何處理這種情況。這樣不會造成任何損害。這確保了即使應用程序內部出現問題,系統(tǒng)的其他部分仍能保持穩(wěn)定和安全。
基本概念
概念可能有點難以想象,但我們會盡力解釋,只需在固件中添加執(zhí)行器、帶有API函數的沙箱,您的設備就可以運行應用程序了。要為應用程序添加功能,可增加相應的API函數。例如,若要添加對文件系統(tǒng)的讀取權限,通常需要添加三個函數,如OpenFile(打開文件)、ReadFile(讀取文件)、CloseFile(關閉文件)。若要允許寫入權限,則需添加WriteFile(寫入文件)函數。應用程序的加載方式以及在何種上下文/線程中執(zhí)行,由固件設計人員決定。
多個應用程序可以同時運行,無論是在同一內核還是不同內核上,均在實時操作系統(tǒng)(RTOS)的控制下。任何RTOS都適用,因為執(zhí)行器由在RTOS下運行的固件調用(前提是您的固件使用RTOS)。
每個應用程序都可擁有自己的內存空間。如果某個應用程序出現問題(如崩潰),不會影響系統(tǒng)穩(wěn)定性,這類似于手機或電腦上的應用程序崩潰不會影響系統(tǒng)本身。這使得應用程序甚至可以在安全關鍵型環(huán)境中運行;它甚至能讓關鍵系統(tǒng)的認證過程更簡便,因為外圍功能(如顯示器控制)可轉移到應用程序中,而該應用程序則無需納入認證流程。
內存需求
擔心對你的系統(tǒng)來說太大?這些應用程序不僅能增強靈活性,而且內存消耗極小。作為嵌入式固件一部分的執(zhí)行器,通常僅需600至1000字節(jié)。我們有針對ARM優(yōu)化的版本,以及可移植的C版本,該C版本幾乎可在任何設備上運行,包括用于仿真的個人電腦。固件所提供的API函數,通常僅增加1至3KB的內存占用,具體主要取決于您希望向應用程序開放的原生函數。
這意味著嵌入式應用程序(emApps)即使在較小的系統(tǒng)(64KB閃存)上也能順利運行。該框架可輕松集成到現有固件中。
代碼密度
運行這些應用程序的虛擬CPU的代碼密度極高,往往高于主機CPU,尤其是在RISC-V環(huán)境中。這甚至有助于節(jié)省寶貴的程序空間,特別是當應用程序被靜態(tài)構建到程序中時!
我們?yōu)檫@款虛擬CPU配備了專屬的C編譯器。通過使用“TO C”轉換器,還可使用其他語言,如Basic、Pascal、Python。
內存保護——沙箱機制
應用程序只能使用固件(嵌入式系統(tǒng)運行的程序)分配的內存空間。在應用程序處于活動狀態(tài)期間,固件會提供相應的內存。任何訪問分配內存空間之外區(qū)域的嘗試都會被攔截,執(zhí)行器會返回并讓調用方(固件)決定如何處理這種情況。
性能
應用程序由固件中一個小型且高度優(yōu)化的代碼片段(即執(zhí)行器)執(zhí)行。該執(zhí)行器本質上實現了虛擬CPU的指令集,我們已為此對其進行了優(yōu)化:該指令集非常緊湊,因此虛擬CPU執(zhí)行的指令數量通常遠少于主機CPU實現相同功能所需的指令數量,并且它能在任何CPU上高效執(zhí)行。再加上可將計算密集型任務卸載到主機CPU的能力,其性能通常非常接近主機CPU。
研發(fā)背景
我們已將這一創(chuàng)新方法集成到J-Link和Flasher產品線中,因為我們看到了其中的需求。
應用程序的編程可由我們或第三方完成,無需重新編譯固件,也不會犧牲性能。任何所需的加密代碼都可成為這些應用程序的一部分(我們提供相關庫,便于使用)。這樣,固件本身就能保持精簡且“無加密代碼”。其他應用程序可對FPGA進行編程,或對已編程的目標系統(tǒng)進行產品生產后測試。
未來展望
我們將繼續(xù)把這一技術集成到其他產品中。對于J-Link,未來將能夠添加對新CPU的支持。任何人都能做到這一點,即使是SEGGER外部人員也可以。
憑借強大的API以及兩個內部設計的單周期軟核(“Speedy”)——其運行速度可達200MHz、單周期,不僅可以添加使用JTAG、SWD或cJTAG的其他內核,還能添加復雜的雙引腳和單引腳接口。
在Flasher Hub中,一個例子是客戶網頁服務器,它允許自定義網頁用戶界面、添加新功能,或簡單地將用戶界面的語言更改為任何所需語言。
一旦應用程序可用,新的想法便會層出不窮。即使是在強大主機上運行的軟件,也能從嵌入式應用程序(emApps)中獲益。
它們在沙箱中運行且具有明確定義的API,這一特點使其相較于常規(guī)插件更具優(yōu)勢。
我們預見,未來不同行業(yè)的眾多嵌入式應用都將能利用這一技術。借助應用程序,您可以以安全且可控的方式擴展功能,類似于智能手機上的應用程序。這種方法不僅增強了靈活性,還為第三方開發(fā)者提供了為生態(tài)系統(tǒng)貢獻力量的機會。
我們熱切期待嵌入式應用程序(emApps)將如何塑造嵌入式系統(tǒng)的未來,也迫不及待地想讓您體驗它們帶來的益處!
請持續(xù)關注更多更新,準備好探索SEGGER嵌入式應用程序(emApps)帶來的全新世界吧!如果您有興趣在商業(yè)產品中使用嵌入式應用程序(emApps)并希望了解更多信息,請聯系我們:info@segger.com
SEGGER(嵌入式專家)祝您一切順利!
June 10th, 2025
作者:Rolf Segger
麥克泰技術代理SEGGER全線產品,具有30年的軟件開發(fā)與調試工具使用方面的知識和經驗,關于SEGGER產品的更多信息,歡迎咨詢info@bmrtech.com。
麥克泰技術走過了30年發(fā)展歷程(1995-2025),秉承“讓嵌入式軟件開發(fā)更容易”的理念,致力于推廣嵌入式軟件開發(fā)工具、測試軟件和嵌入式操作系統(tǒng)。麥克泰技術通過舉辦嵌入式軟件和操作系統(tǒng)研討會、開設培訓課程、出版圖書,撰寫博客文章,倡導和宣傳開放和開源的嵌入式軟件、操作系統(tǒng)以及開發(fā)技術,包括VRTX(90年代)、μC/OS(2000年),Montavista Linux(2010年)和FreeRTOS(2010年)以及IAR/BDI/J-Link等知名的產品和技術。
麥克泰技術具有豐富嵌入式軟件項目開發(fā)、行業(yè)應用與服務經驗。今天,我們依托歐美嵌入式軟件商業(yè)團隊支持,提供嵌入式軟件商業(yè)授權和服務。包括(不限于)SEGGER嵌入式軟件開發(fā)和編程工具(J-Link/Flasher),OS分析工具Tracealyzer,WITTENSTEIN公司的SafeRTOS(FreeRTOS)、Flexible Safety RTOS(μC/OS-II MPU)以及新一代PX5 RTOS。麥克泰技術專注預認證功能安全操作系統(tǒng)在汽車、軌交、醫(yī)療和工業(yè)領域的應用以及RISC-V處理器嵌入式開發(fā)生態(tài)建設。
-
嵌入式
+關注
關注
5177文章
20014瀏覽量
325891 -
應用程序
+關注
關注
38文章
3340瀏覽量
59804 -
SEGGER
+關注
關注
0文章
58瀏覽量
14699
原文標題:加速生態(tài)系統(tǒng)發(fā)展:嵌入式應用程序(Embedded Apps)重磅推出
文章出處:【微信號:麥克泰技術,微信公眾號:麥克泰技術】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
如何采用SAFERTOS和ESM保護嵌入式系統(tǒng)安全
RT-Thread 2025嵌入式軟件大賽重磅來襲
RT-Thread 2025嵌入式軟件大賽重磅來襲
嵌入式工程師為什么要學QT?
SEGGER J-Probe工具的工作原理和應用
SEGGER工具鏈集成到CMake和VS Code了
Linux嵌入式和單片機嵌入式的區(qū)別?
運行在嵌入式系統(tǒng)上的emApps
有方科技重磅亮相德國嵌入式展
飛凌嵌入式攜手全志,T536全國產核心板重磅發(fā)布
使用Ozone調試基于nRF9160 Zephyr應用程序
嵌入式主板的概述與發(fā)展

SEGGER嵌入式應用程序重磅發(fā)布
評論