91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

橡膠在低級嵌入式開發(fā)中與道路相遇的地方

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:DR. KEVIN NILSEN ? 2022-11-07 14:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作為一種支持面向對象抽象和軟件組件可擴展組合的高級編程語言,Java是開發(fā)用戶界面和應用程序軟件的理想選擇。然而,Java軟件如何最有效地解決嵌入式軟件典型的低級問題并且通常用C語言編程,這一點還不太明顯。然而,新的硬實時Java技術針對的是低級嵌入式實時開發(fā)的特殊需求?并擊敗了混合C和Java混合語言方法。

嵌入式系統(tǒng)與構建它們的人以及它們執(zhí)行的底層執(zhí)行引擎一樣多。同樣,在為低級實時計算(ìrubber 與道路相遇)選擇Java 運行時環(huán)境時,一刀切的解決方案既不可行也不實用。

在聲稱支持實時垃圾回收的現有虛擬機中,每個虛擬機提供的功能略有不同,表示對軟實時截止時間的不同程度的遵守,其中內存限制和虛擬機占用無關。較少數量的虛擬機可以處理較低級別的要求,其中硬實時截止時間、執(zhí)行速度和內存占用更為重要。通常,這些虛擬機與管理底層硬件服務的底層操作系統(tǒng)RTOS 共存。但是,事實是:有時這還不夠好。有時,Java軟件需要超越硬件抽象層,直接與硬件設備通信

在Java越來越被認為是首選語言的世界中,擁有自上而下的完整應用程序覆蓋的虛擬機技術可能是一個顯著的優(yōu)勢。許多嵌入式 Java 應用程序都是使用兩種語言方法構建的。Java 用于應用程序的更大、更復雜和更動態(tài)的部分,而 C 用于較低級別的功能,例如設備驅動程序或需要更快吞吐量的應用程序部分。

這種選擇的影響會導致通過將Java和C應用程序鏈接在一起的Java本機接口(JNI)進行尷尬和不可預測的轉換。人們這樣做的原因很明顯:傳統(tǒng)的虛擬機太大、太慢、太不可預測,無法處理低級執(zhí)行。因此,新推出的硬實時Java技術現在可以使用Java語言而不是C來解決低級實時問題。與JNI技術相比,這種硬實時Java技術還為將傳統(tǒng)的高級Java代碼連接到低級C代碼提供了卓越的性能和健壯性。硬實時 Java 現在可以取代 C 代碼來實現直接與硬件通信的設備驅動程序。這允許僅Java的連續(xù)統(tǒng)一體,從成熟的Java的1到10秒響應時間,一直到硬實時Java的10微秒響應時間,這是解決硬件線速度所必需的。

用 Java 替換 C

混合語言方法的弱點是幾個方面的。首先,每當應用軟件跨越Java和C執(zhí)行之間的邊界時,JNI協議都會提取高收費。此協議開銷可能是可執(zhí)行代碼成本的兩倍以上,它破壞了將 C 語言用于應用程序的某些性能關鍵部分的許多性能優(yōu)勢。其次,更重要的是,Java 安全模型會因在

應用程序中引入 C 代碼而受到損害。在過去 10 年構建的大量嵌入式 Java 應用程序中,代表超過 100 萬行嵌入式 Java 代碼,Aonix 支持工程師發(fā)現,C 和 Java 代碼之間的 JNI 接口代表了最常見的故障點。

使此問題更加復雜的是,這些錯誤是最難調試的錯誤之一。這是因為無意中破壞了 JNI 協議的 C 程序員會使隨附的 Java 虛擬機處于不穩(wěn)定狀態(tài)。該錯誤可能表現為 Java 應用程序代碼或 Java 虛擬機本身的實現中的錯誤。虛擬機供應商、Java 應用程序開發(fā)人員和 C 開發(fā)人員之間的相互指責結果。

Java 規(guī)范請求 (JSR) 302 正在開發(fā)硬實時安全關鍵型 Java 編程的標準方法。除了支持核電站關閉和商用飛機控制等應用的嚴格安全認證要求外,安全關鍵型Java標準還代表了適用于Java語言開發(fā)各種低級代碼的基礎。這個不斷發(fā)展的標準的原型實現已經證明,在內存占用(超過 100 倍)、吞吐量(高達 3 倍)和確定性(數千倍)方面顯著節(jié)省成本。這種低級 Java 代碼能夠展示優(yōu)化 C 語言 10% 以內的性能

特征。它能夠通過支持一級中斷處理程序的Java 實現和設備寄存器輸入和輸出操作來直接控制設備硬件。

對于那些必須構建從動態(tài)高級復雜性到靜態(tài)低級簡單性的分層軟件體系結構的人來說,已經設計了一種機制,允許非常高效和健壯地集成低級

硬實時Java組件與高級傳統(tǒng)Java組件。從長期工程角度來看,在整個應用程序中消除 C 代碼可以產生更好的控制、更高的可預測性、更低的軟件維護成本和更長的軟件壽命。

性能結果

Aonix 演示具有計算密集型分形程序,其中分形渲染以 C 或硬實時 Java 代碼實現。在這兩種情況下,圖形顯示都是用Java編程的,帶有SWT圖形接口。演示揭示的全 Java 性能提升是高級和低級 Java 代碼之間更清晰集成的好處。全 Java 解決方案清楚地顯示了在高級 Java 代碼和低級 C 代碼之間進行集成所需的 Java 本機接口帶來的低效率。

該演示是在嵌入式 Linux 環(huán)境中運行的,對于此特定演示,不需要解決裸硬件問題。事實上,傳統(tǒng)的Java和硬實時Java技術將在大多數嵌入式操作系統(tǒng)和商業(yè)RTOS環(huán)境中運行。硬實時Java技術非常簡單,也可以安裝在裸硬件上運行,而無需底層操作系統(tǒng)。

除了從應用程序中消除 C 語言提高了可靠性、可維護性和開發(fā)人員生產力之外,此演示還表明,全 Java 解決方案的運行速度比等效的 Java-C混合程序高出 2 比 1。確切的加速比取決于縮放系數和窗口大小。通過一個特定的測量,全Java程序的運行速度比混合程序快2.33倍。

全 Java 解決方案簡化了開發(fā)、集成和維護

沒有放之四海而皆準的JVM,但是現在硬實時Java提供了一種單一來源的Java補救措施,可以覆蓋嵌入式實時應用程序的所有級別,從高級應用程序復雜性一直到最低級別的硬件。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5198

    文章

    20438

    瀏覽量

    333955
  • JAVA
    +關注

    關注

    20

    文章

    3001

    瀏覽量

    116417
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式開發(fā)常用函數速查表

    嵌入式開發(fā),掌握常用函數的用法可以大大提高開發(fā)效率。無論是單片機初學者還是有一定經驗的工程師,熟悉函數庫和調用方式都是必備技能。今天,我們?yōu)榇蠹艺硪环?/div>
    的頭像 發(fā)表于 01-19 09:06 ?302次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>常用函數速查表

    什么是嵌入式應用開發(fā)?

    概述 所謂的嵌入式應用開發(fā)就是嵌入式操作系統(tǒng)下進行開發(fā)、軟硬件綜合開發(fā) ?
    發(fā)表于 01-12 16:13

    性能與性價比兼得!迅為RK3562開發(fā)板開啟嵌入式開發(fā)新選擇

    性能與性價比兼得!迅為RK3562開發(fā)板開啟嵌入式開發(fā)新選擇
    的頭像 發(fā)表于 12-23 16:10 ?1263次閱讀
    性能與性價比兼得!迅為RK3562<b class='flag-5'>開發(fā)</b>板開啟<b class='flag-5'>嵌入式開發(fā)</b>新選擇

    分享一個嵌入式開發(fā)學習路線

    法,這些語法嵌入式開發(fā)至關重要。 2. 技能進階期(2-3個月) 從51單片機過渡到主流的ARM Cortex-M系列(嵌入式就業(yè)核心平臺),學會使用STM32單片機,掌握
    發(fā)表于 12-04 11:01

    C語言嵌入式開發(fā)的應用

    C 語言汽車電子控制系統(tǒng)開發(fā)的主導地位。 2、設備驅動程序 設備驅動程序是嵌入式系統(tǒng)連接硬件和軟件的橋梁,它負責實現
    發(fā)表于 11-21 08:09

    嵌入式開發(fā)的關鍵點介紹

    嵌入式開發(fā)在現代科技扮演著非常重要的角色。隨著物聯網的發(fā)展,嵌入式系統(tǒng)的需求也越來越大。嵌入式開發(fā)不僅需要開發(fā)人員具備深入的硬件知識和編程
    發(fā)表于 11-13 08:12

    GT2440嵌入式開發(fā)系統(tǒng)用戶手冊

    電子發(fā)燒友網站提供《GT2440嵌入式開發(fā)系統(tǒng)用戶手冊.pdf》資料免費下載
    發(fā)表于 10-28 17:05 ?2次下載

    恩智浦如何攻克兩大嵌入式開發(fā)難題

    我們的身邊,嵌入式系統(tǒng)無處不在。而隨著技術的進步和應用的拓展,今天的嵌入式開發(fā)也面臨著諸多新課題、新挑戰(zhàn)。
    的頭像 發(fā)表于 10-27 09:28 ?1771次閱讀

    新一代嵌入式開發(fā)平臺 AMD嵌入式軟件和工具2025.1版現已推出

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開發(fā)而打造的綜合平臺,全面加速概念構想到部署落地。 2025.1 版嵌入式軟件和工具的新 增功能 AMD
    的頭像 發(fā)表于 08-20 09:15 ?3973次閱讀

    嵌入式開發(fā)就業(yè)還有前景嗎?

    。智能家居領域,嵌入式開發(fā)的主要工作是開發(fā)各種智能化設備和系統(tǒng),如智能照明、智能安防、智能家電等。嵌入式開發(fā)人員需要掌握相關的硬件和軟件技術,如處理器、傳感器、通信技術、操作系統(tǒng)等,
    發(fā)表于 07-16 10:47

    明遠智睿SSD2351開發(fā)板:嵌入式開發(fā)領域的新型新星

    物聯網、智能家居、智能網關、視頻監(jiān)控等新興技術領域迅猛發(fā)展的今天,嵌入式開發(fā)作為這些創(chuàng)新背后的核心驅動力,其重要性日益凸顯。而在嵌入式開發(fā)的眾多環(huán)節(jié),
    的頭像 發(fā)表于 07-01 16:47 ?726次閱讀

    嵌入式開發(fā)入門指南:從零開始學習嵌入式

    隨著物聯網、智能硬件的發(fā)展,嵌入式開發(fā)成為熱門技能之一。以下將為初學者提供一份詳細的嵌入式開發(fā)入門指南,涵蓋學習路徑、必備工具、推薦資源等內容。 1. 嵌入式系統(tǒng)的定義與應用嵌入式系統(tǒng)
    發(fā)表于 05-15 09:29

    嵌入式開發(fā):高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    嵌入式開發(fā)的門檻,往往被培訓機構和表象所掩蓋。許多人誤以為 “用 C 語言寫個跑 ARM 上的程序” 就是嵌入式,實則連皮毛都未觸及。真正的嵌入式開發(fā)是硬件與軟件深度融合的系統(tǒng)性工程
    的頭像 發(fā)表于 04-09 11:06 ?980次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>:高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    Python嵌入式系統(tǒng)的應用場景

    你想把你的職業(yè)生涯提升到一個新的水平?Python嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語言,Python的優(yōu)勢在于其簡潔的語法、豐富的庫和快速的
    的頭像 發(fā)表于 03-19 14:10 ?1492次閱讀

    BlackBerry QNX推出通用嵌入式開發(fā)平臺

    BlackBerry有限公司(紐交所代碼:BB;多倫多證券交易所代碼:BB)旗下部門QNX今日宣布推出QNX 通用嵌入式開發(fā)平臺(General Embedded Development
    的頭像 發(fā)表于 03-11 16:04 ?1186次閱讀