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

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

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

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

常見的嵌入式程序加載方式介紹

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2021-01-20 16:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、大型的嵌入式系統(tǒng)ARM + Linux架構(gòu)為例)

類似于電腦程序,手機(jī)APP的加載方式,稍微大型的嵌入式系統(tǒng)(Linux),應(yīng)用程序經(jīng)過編譯、連接之后,形成一個(gè)類似于exe、apk的可執(zhí)行文件,將這個(gè)執(zhí)行文件放置到文件系統(tǒng)中的固定路徑下。以Linux為例,常用文件系統(tǒng)ext3、ext4等等,文件系統(tǒng)根目錄下有許多文件夾(可理解為C盤,D盤),如bin、root、usr、opt等。

進(jìn)入存放被執(zhí)行文件的路徑,使用./XXX命令,執(zhí)行該XXX程序。如果需要開機(jī)就執(zhí)行、該程序,則需要將該可執(zhí)行文件啟動(dòng),加載到開機(jī)啟動(dòng)項(xiàng)內(nèi)。

TIPS:如使用execve命令執(zhí)行該程序,通過ext4文件的fsopen函數(shù)找到XXX這個(gè)文件,然后解釋其ELF格式,在創(chuàng)建好頁表后,將code段和data段搬到內(nèi)存,初始化bss段,最后跳到entry所在的地方。

2、小型的嵌入式程序(51為例)

應(yīng)用程序在編譯、鏈接之后,會(huì)通過二進(jìn)制工具分析可執(zhí)行文件的格式,抽出code和data段數(shù)據(jù),生成.HEX格式或者.BIN格式,下載到SOC內(nèi)置的flash中。在上電之后就直接執(zhí)行了。

3、還有一種這樣的嵌入式系統(tǒng)架構(gòu),SOC的計(jì)算能力比較弱,但內(nèi)存資源在百K級別,其能支持簡單的操作系統(tǒng),例如UCOS,而其一般沒有外掛SDRAM,但其會(huì)將代碼存放在外置的存儲(chǔ)設(shè)備中,如nand和card,MP3、U盤就是這種嵌入式系統(tǒng)架構(gòu)的最典型應(yīng)用。MP3一般支持音樂、圖片、電子書等等應(yīng)用,代碼量比較大,不適宜放到內(nèi)置flash中,所以放到外置存儲(chǔ)中。其成本敏感,內(nèi)存要控制到最小,所以很多時(shí)候要對固件進(jìn)行優(yōu)化。那么它的應(yīng)用程序的加載過程如何呢?

1)應(yīng)用程序編譯、鏈接之后生成可執(zhí)行文件,可執(zhí)行文件格式一般比較復(fù)雜。通過二進(jìn)制工具將code、data和entry、bss等信息重新組成一個(gè)簡單的文件,這樣操作系統(tǒng)在加載這個(gè)文件的時(shí)候由于格式簡單,可以用較少的內(nèi)存和較少的計(jì)算就可以完成。這個(gè)簡單的文件會(huì)和OS一塊放到系統(tǒng)區(qū),即不是放到一般文件系統(tǒng)所管理的用戶數(shù)據(jù)區(qū)。當(dāng)然,在系統(tǒng)區(qū)也有文件系統(tǒng)管理,但這個(gè)文件系統(tǒng)往往是自定義的最簡單的文件系統(tǒng)(自己設(shè)計(jì)一個(gè)簡單文件系統(tǒng)),而不是ext4,fat這些文件系統(tǒng)。

2)當(dāng)需要運(yùn)行某個(gè)應(yīng)用時(shí),通過系統(tǒng)區(qū)的簡單文件系統(tǒng)找到這個(gè)文件,并進(jìn)行簡單的解釋,將code和data搬到內(nèi)存中,初始化bss后即跳到entry執(zhí)行。

來源:電子創(chuàng)新網(wǎng)

審核編輯黃昊宇

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

    關(guān)注

    5149

    文章

    19659

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    區(qū)別 單片機(jī)嵌入式系統(tǒng)和Linux嵌入式系統(tǒng)是兩種不同的嵌入式系統(tǒng)開發(fā)方式,它們在應(yīng)用領(lǐng)域、開發(fā)環(huán)境、資源需求等方面都有顯著的區(qū)別。以下是它們的主要區(qū)別: 1.應(yīng)用領(lǐng)域: 單片機(jī)
    發(fā)表于 06-20 09:46

    一文看懂:嵌入式與壁掛工控機(jī)安裝方式的關(guān)鍵差異

    在工業(yè)自動(dòng)化領(lǐng)域,工控機(jī)作為核心控制設(shè)備,其安裝方式的選擇直接影響設(shè)備運(yùn)行穩(wěn)定性與后期維護(hù)便捷性。嵌入式工控機(jī)和壁掛工控機(jī)是常見的兩種類型,它們的安裝
    的頭像 發(fā)表于 05-14 14:40 ?239次閱讀

    嵌入式應(yīng)用中常見的安全威脅

    越來越多的嵌入式設(shè)備存在互聯(lián)需求,在安全應(yīng)用開發(fā)中,除功能安全外,應(yīng)用還需考慮信息安全。
    的頭像 發(fā)表于 04-28 14:45 ?635次閱讀
    <b class='flag-5'>嵌入式</b>應(yīng)用中<b class='flag-5'>常見</b>的安全威脅

    嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境

    設(shè)備和智能傳感器)上,這些設(shè)備通常具有有限的計(jì)算能力、存儲(chǔ)空間和功耗。本文將您介紹嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性,以及常見的機(jī)器學(xué)習(xí)開發(fā)軟件與開發(fā)環(huán)境。 嵌入式機(jī)器學(xué)習(xí)的應(yīng)用特性與優(yōu)勢 由于
    的頭像 發(fā)表于 01-25 17:05 ?655次閱讀
    <b class='flag-5'>嵌入式</b>機(jī)器學(xué)習(xí)的應(yīng)用特性與軟件開發(fā)環(huán)境

    LDO在嵌入式系統(tǒng)中的應(yīng)用 常見LDO故障及解決方法

    的應(yīng)用及其常見故障和解決方法的概述。 應(yīng)用場景 電源轉(zhuǎn)換 :LDO可以將電池電壓或其他電源電壓轉(zhuǎn)換為嵌入式系統(tǒng)所需的穩(wěn)定電壓。 噪聲抑制 :LDO能有效降低電源線上的噪聲,為敏感的模擬電路提供干凈的電源。 功耗管理 :在低功耗應(yīng)用中,LDO可以提供穩(wěn)定的電源,同時(shí)減少功耗
    的頭像 發(fā)表于 12-13 09:08 ?2263次閱讀

    新手怎么學(xué)嵌入式?

    的基礎(chǔ)上增加了面向?qū)ο缶幊痰奶匦?,有助于編寫更?fù)雜的嵌入式程序。 3. 學(xué)習(xí)硬件知識(shí) 嵌入式技術(shù)與硬件緊密相關(guān),因此你需要了解一些基本的硬件知識(shí)。比如微控制器(MCU)、微處理器(MPU)的工作原理,了解
    發(fā)表于 12-12 10:51

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),它們通常嵌入在所控制的設(shè)備中。這些系統(tǒng)的關(guān)鍵特點(diǎn)是它們與硬件的緊密集成,這意味著軟件必須為特定的硬件平臺(tái)量身定制。以下是
    的頭像 發(fā)表于 12-09 09:38 ?960次閱讀

    嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用 閱讀體驗(yàn) +Hypervisor基礎(chǔ)概念

    本章詳細(xì)介紹了虛擬化技術(shù)的基本概念、實(shí)現(xiàn)方式以及應(yīng)用領(lǐng)域,著重介紹嵌入式虛擬化技術(shù)的特點(diǎn)、面臨的挑戰(zhàn)以及具體的解決方案。嵌入式Hyperv
    的頭像 發(fā)表于 10-08 15:08 ?1373次閱讀
    <b class='flag-5'>嵌入式</b>Hypervisor:架構(gòu)、原理與應(yīng)用 閱讀體驗(yàn) +Hypervisor基礎(chǔ)概念

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計(jì)算機(jī)硬件,其設(shè)計(jì)旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式主板如同是設(shè)備的“大腦”,主要功能是根據(jù)需要管理和控制設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?1607次閱讀

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

    歸結(jié)為相對簡單的小問題。接下來,我們將討論一些嵌入式開發(fā)中常見的問題及其解決方法。一、問題復(fù)現(xiàn)要有效解決問題,首先需要能夠穩(wěn)定地復(fù)現(xiàn)它。一般來說,容易復(fù)現(xiàn)的問題也相對
    的頭像 發(fā)表于 09-22 08:04 ?824次閱讀
    <b class='flag-5'>嵌入式</b>開發(fā)<b class='flag-5'>常見</b>問題排查

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個(gè)復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開發(fā)、應(yīng)用程序開發(fā)等多個(gè)方面。以下是嵌入式Linux開發(fā)的基本步驟,以及每個(gè)步驟的說明。 硬件選擇 在開始嵌入式
    的頭像 發(fā)表于 09-02 09:11 ?1233次閱讀

    嵌入式五種常見模擬電路

    嵌入式系統(tǒng)設(shè)計(jì)中,模擬電路是不可或缺的一部分。它們負(fù)責(zé)處理真實(shí)世界中的信號,如聲音、溫度、壓力等,并將這些信號轉(zhuǎn)換成數(shù)字信號,或者對這些信號進(jìn)行放大、濾波等處理。以下是五種常見的模擬電路及其
    發(fā)表于 08-28 15:31

    學(xué)習(xí)hypervisor嵌入式產(chǎn)品安全設(shè)計(jì)

    第一部分(第1~2章)介紹Hypervisor基礎(chǔ),涵蓋虛擬化技術(shù)與實(shí)現(xiàn)、主流的嵌入式Hypervisor產(chǎn)品,以及基于分離內(nèi)核的嵌入式Hypervisor等內(nèi)容。第二部分(第3~12章)介紹
    發(fā)表于 08-25 09:11

    嵌入式系統(tǒng)中的實(shí)時(shí)操作系統(tǒng)

    嵌入式RTOS是嵌入式應(yīng)用程序運(yùn)行、相互交互和與外界通信的底層軟件機(jī)制。在本節(jié)中,您將了解嵌入式軟件開發(fā)人員使用哪些流行RTOS以及它們運(yùn)行的嵌入式
    的頭像 發(fā)表于 08-20 11:28 ?881次閱讀

    嵌入式QT常見開發(fā)方式有哪些?

    嵌入式QT常見開發(fā)方式有哪些? 嵌入式工程師在學(xué)習(xí)和使用Qt進(jìn)行開發(fā)時(shí),常見的幾種開發(fā)方式包括
    發(fā)表于 08-12 10:05