一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

用 Java 替換 C

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

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

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

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

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

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

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

性能結(jié)果

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

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

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

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

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

審核編輯:郭婷

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

    關(guān)注

    5149

    文章

    19653

    瀏覽量

    317249
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2988

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    明遠(yuǎn)智睿SSD2351開發(fā)板:嵌入式開發(fā)領(lǐng)域的新型新星

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

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

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

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

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

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

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

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

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

    AI來襲!嵌入式開發(fā)者該如何應(yīng)對轉(zhuǎn)型?

    AI正在改變世界!從自動駕駛到智能家居,從工業(yè)自動化到語音助手,各行各業(yè)都在朝著智能化方向邁進。對于嵌入式開發(fā)者來說,AI的到來既是一次前所未有的挑戰(zhàn),也是一個充滿機遇的時代。過去,我們專注于硬件
    的頭像 發(fā)表于 03-04 14:41 ?813次閱讀
    AI來襲!<b class='flag-5'>嵌入式開發(fā)</b>者該如何應(yīng)對轉(zhuǎn)型?

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實戰(zhàn)正式出版

    尊敬的各位電子工程師、嵌入式開發(fā)愛好者們:大家好!今天,我們懷著無比激動與自豪的心情,向大家宣布一個重大喜訊——武漢芯源半導(dǎo)體的單片機CW32正式出書啦!《基于ARMCortex-M0+的CW32
    的頭像 發(fā)表于 03-03 15:15 ?682次閱讀
    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32<b class='flag-5'>嵌入式開發(fā)</b>實戰(zhàn)正式出版

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實戰(zhàn)正式出版

    的理念,持續(xù)為大家?guī)砀鄡?yōu)質(zhì)的產(chǎn)品和技術(shù)支持。同時,也期待大家能夠從這本書中收獲滿滿,嵌入式開發(fā)道路上取得更加輝煌的成就!
    發(fā)表于 03-03 15:14

    如何成為嵌入式開發(fā)工程師?

    如何成為嵌入式開發(fā)工程師? 成為嵌入式開發(fā)工程師通常需要掌握一系列技能和知識,并且在實踐不斷積累經(jīng)驗。以下是一些基本步驟和建議: 1. 基礎(chǔ)教育:- 獲取電子工程、計算機科學(xué)或相關(guān)領(lǐng)域的學(xué)位
    發(fā)表于 02-19 10:39

    哪些專業(yè)適合學(xué)習(xí)嵌入式開發(fā)?

    哪些專業(yè)適合學(xué)習(xí)嵌入式開發(fā)? 傳統(tǒng)行業(yè)不斷被取代的當(dāng)下,對于大學(xué)生、從業(yè)者而言,選擇一個熱門主流的職業(yè)方向,是未來發(fā)展的關(guān)鍵因素之一。 嵌入式作為當(dāng)下高薪崗位之一,轉(zhuǎn)行、轉(zhuǎn)專業(yè)的人群已經(jīng)占據(jù)求職
    發(fā)表于 01-03 13:44

    嵌入式開發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺智能出品

    實用干貨!嵌入式開發(fā)學(xué)習(xí)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)關(guān)注觸覺智能持續(xù)為大家?guī)砀?b class='flag-5'>嵌入式開發(fā)內(nèi)容
    的頭像 發(fā)表于 12-31 10:51 ?117次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺智能出品

    如何使用 RISC-V 進行嵌入式開發(fā)

    RISC-V是一種開源的指令集架構(gòu)(ISA),它允許任何人設(shè)計、制造和銷售基于RISC-V的處理器,這為嵌入式開發(fā)提供了極大的靈活性和創(chuàng)新空間。以下是使用RISC-V進行嵌入式開發(fā)的基本步驟: 一
    的頭像 發(fā)表于 12-11 17:32 ?1924次閱讀

    基于Xilinx ZYNQ7000 FPGA嵌入式開發(fā)實戰(zhàn)指南

    電子發(fā)燒友網(wǎng)站提供《基于Xilinx ZYNQ7000 FPGA嵌入式開發(fā)實戰(zhàn)指南.pdf》資料免費下載
    發(fā)表于 12-10 15:31 ?37次下載

    嵌入式開發(fā)常見問題排查

    嵌入式開發(fā)問題排查很多人認(rèn)為嵌入式開發(fā)很難,主要是因為在這個過程中常常會遇到各式各樣的問題。這些問題的復(fù)雜性和多樣性使得許多人感到困惑和無所適從。然而,如果將這些問題逐一拆解,實際上大部分都可以
    的頭像 發(fā)表于 09-22 08:04 ?820次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>常見問題排查

    聚焦嵌入式開發(fā)的合規(guī)性工具、項目管理工具、版本迭代工具應(yīng)用

    ,就嵌入式開發(fā)與管理領(lǐng)域的最新趨勢、工具選擇以及DevSecOps實踐應(yīng)用等方面展開了深入探討。 本期對話龍智資深DevSecOps顧問徐晨暉, 分享嵌入式開發(fā)的合規(guī)性工具、項目管理和版本管理的工具選擇,以及DevSecOps
    的頭像 發(fā)表于 07-29 15:15 ?1066次閱讀