在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

SoC系統(tǒng)中的軟件結(jié)構(gòu)設(shè)計(jì)

冬至子 ? 來源:TrustZone ? 作者:Hkcoco ? 2023-09-25 15:14 ? 次閱讀

在一個(gè)SoC的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中,除了硬件結(jié)構(gòu)以外,軟件結(jié)構(gòu)的設(shè)計(jì)對(duì)整個(gè)SoC的性能有很大的影響。

盡管硬件的結(jié)構(gòu)設(shè)計(jì)無論對(duì)哪個(gè)公司來說都是一種挑戰(zhàn),卻不能忽略系統(tǒng)級(jí)上的挑戰(zhàn)。

因?yàn)橐粋€(gè)SoC產(chǎn)品不只包括硬件,而是軟件和硬件的結(jié)合。在很多的SoC中,軟件設(shè)計(jì)的復(fù)雜度和開發(fā)周期都要超過整個(gè)硬件的設(shè)計(jì)。軟件設(shè)計(jì)在很大程度上決定了SoC中硬件電路的性能發(fā)揮。

1.數(shù)據(jù)流的路徑

在很多嵌入式系統(tǒng)中,數(shù)據(jù)流在硬件和軟件中的路徑?jīng)Q定了系統(tǒng)的效率和性能。

數(shù)據(jù)流的路徑通常是從數(shù)據(jù)位通過物理接口流入系統(tǒng)開始的, 并經(jīng)硬件設(shè)備輸入接口流入硬件設(shè)備輸入控制器 。軟件驅(qū)動(dòng)程序?qū)?shù)據(jù)輸入操作系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),然后再送入應(yīng)用存儲(chǔ)器空間中。

應(yīng)用程序間的通信直接通過 共享的全局存儲(chǔ)器交換數(shù)據(jù) ,或者 通過操作系統(tǒng)以消息的形式傳送數(shù)據(jù)

在輸出端,應(yīng)用通常通過操作系統(tǒng)向設(shè)備驅(qū)動(dòng)程序傳送數(shù)據(jù), 它將數(shù)據(jù)輸入一個(gè)硬件輸出控制器然后通過操作系統(tǒng)向設(shè)備驅(qū)動(dòng)程序傳送數(shù)據(jù)經(jīng)硬件設(shè)備輸出接口傳出

2.軟件環(huán)境

SoC芯片中的軟件環(huán)境包括應(yīng)用軟件的運(yùn)行環(huán)境和應(yīng)用軟件的開發(fā)環(huán)境。開發(fā)環(huán)境包括應(yīng)用軟件源代碼、編譯器、連接器、開發(fā)界面和硬件調(diào)試接口等。

其中,軟件源代碼位于開發(fā)環(huán)境的最上層,而調(diào)試接口則是環(huán)境中的底層。對(duì)于一個(gè)SoC來說,如果其中的處理器采用MIPS、ARMTensilica的處理器時(shí), SoC上應(yīng)用的開發(fā)者可以從提供商那里獲得開發(fā)環(huán)境,而不用自己去開發(fā)

這也是很多的就是解決方案,給你從芯片到帶著小系統(tǒng)的東西。

但即使標(biāo)準(zhǔn)的開發(fā)環(huán)境也從來都不是標(biāo)準(zhǔn)的。為了在新的系統(tǒng)中去實(shí)現(xiàn)包括更多新的功能,在每一個(gè)開發(fā)周期中,需要在開發(fā)環(huán)境中增加各種開發(fā)工具。

SoC中應(yīng)用軟件的運(yùn)行環(huán)境主要由

  • 應(yīng)用程序、
  • 操作系統(tǒng)核心、
  • 各種驅(qū)動(dòng)、
  • 芯片本身構(gòu)成。

圖4-13所示為軟件的運(yùn)行環(huán)境及開發(fā)工具。(對(duì)于一些 不太需要任務(wù)管理、資源管理及進(jìn)程管理的應(yīng)用 ,SoC也往往不會(huì)采用操作系統(tǒng)。想起了當(dāng)時(shí)面試的時(shí)候面試官問我玩過一下操作系統(tǒng)沒,但當(dāng)時(shí)都是玩的裸機(jī)。唯一一個(gè)也是基于協(xié)議棧的東西。)

在應(yīng)用軟件運(yùn)行環(huán)境的最上層是應(yīng)用程序。應(yīng)用程序?qū)崿F(xiàn)了系統(tǒng)的各種特定應(yīng)用,如音頻視頻解碼等。應(yīng)用程序之間可以通過某種標(biāo)準(zhǔn)接口(如網(wǎng)絡(luò)協(xié)議)進(jìn)行通信。相同類型的應(yīng)用可以在這種方式下獲得好處。

在這種消息傳遞中能夠?qū)崿F(xiàn)可靠的接口,但會(huì)帶來性能的問題 。應(yīng)用程序之間的通信也可以通過操作系統(tǒng)核心以存儲(chǔ)器共享的方式通信來提高速度。比如某一應(yīng)用程序?qū)⒁粔K數(shù)據(jù)放到緩存中,并把指針傳遞給另一個(gè)應(yīng)用軟件,但以這樣的方式交換數(shù)據(jù)往往也會(huì)帶來某些問題。

在應(yīng)用程序的下一層是操作系統(tǒng)核心,負(fù)責(zé)任務(wù)的創(chuàng)建、任務(wù)的調(diào)度和存儲(chǔ)器管理等。

在操作系統(tǒng)的下一層由

  • 各種I/O接口(如UARTUSB、IDE、WLAN、LCD等)驅(qū)動(dòng)、
  • 硬件加速器驅(qū)動(dòng)和
  • 其他實(shí)現(xiàn)如異常處理、
  • 中斷服務(wù)程序、
  • 初始化、
  • 復(fù)位及Bootloader等的系統(tǒng)軟件構(gòu)成。

3.軟硬件接口

在一個(gè)真實(shí)的SoC系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中還必須考慮到軟硬件接口(Interface)。主要的軟硬件接口有:

  • ①存儲(chǔ)空間映射(Memory Map),包括所有設(shè)備的可配置寄存器的地址映射;
  • ②設(shè)備驅(qū)動(dòng);
  • ③初始化、復(fù)位、Bootloader程序;
  • ④中斷服務(wù)程序及中斷向量;
  • ⑤I/O引腳的復(fù)用等。

這些是在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)時(shí)必須定義好的,在硬件設(shè)計(jì)時(shí)必須按照定義做,這樣才能保障系統(tǒng)軟件正常工作。

1.存儲(chǔ)空間映射

通常情況下,SoC中的各個(gè)片上模塊及與之通信的片外設(shè)備,如Flash及Flash控制器的寄存器、RAM及存儲(chǔ)器控制模塊中的寄存器,以及各種外設(shè)等, 均采用統(tǒng)一地址空間進(jìn)行編址訪問,為每一個(gè)設(shè)備分配一定數(shù)量的地址空間的過程稱為存儲(chǔ)空間映射 。圖4-14所示為一款I(lǐng)BM的SoC的存儲(chǔ)空間映射的例子。

圖4-14 基于IBM的PLB和OPB總線協(xié)議的SoC的存儲(chǔ)空間映射實(shí)例

2.設(shè)備驅(qū)動(dòng)

在SoC設(shè)計(jì)中,需要大量投資來開發(fā)設(shè)備驅(qū)動(dòng)(I/O接口驅(qū)動(dòng)、硬件加速器驅(qū)動(dòng)),這是產(chǎn)品成功的關(guān)鍵。

設(shè)備驅(qū)動(dòng)的作用是在操作系統(tǒng)內(nèi)核與I/O硬件設(shè)備之間建立連接。

其目的是,對(duì)于軟件設(shè)計(jì)者而言,這個(gè)接口屏蔽了各類設(shè)備的底層硬件細(xì)節(jié),使軟件設(shè)計(jì)者可以像處理普通文件一樣對(duì)硬件設(shè)備進(jìn)行打開、讀寫、關(guān)閉等操作。

設(shè)備驅(qū)動(dòng)主要完成的工作包括:

  • 初始化(如設(shè)定傳輸率,定時(shí)器的周期等),
  • 中斷服務(wù)處理(如對(duì)硬件中斷的處理),
  • 輸入/輸出設(shè)備的接口服務(wù)(如啟動(dòng)和停止定時(shí)器、DMA傳輸?shù)龋?/li>

操作系統(tǒng)提供商通常會(huì)提供常見設(shè)備的驅(qū)動(dòng)包 。這些驅(qū)動(dòng)程序可以作為參考設(shè)計(jì),而實(shí)際上應(yīng)用開發(fā)者還是需要做出大量修改。參考設(shè)計(jì)畢竟只是參考,最后的產(chǎn)品中很少完全使用參考設(shè)計(jì)。與桌面系統(tǒng)不同,嵌入式系統(tǒng)與接口和應(yīng)用密切相關(guān),一個(gè)操作系統(tǒng)獲得成功很大程度上取決于各種最新驅(qū)動(dòng)程序的可獲程度。

3.初始化、復(fù)位、Bootloader程序

SoC設(shè)計(jì)中的初始化程序主要負(fù)責(zé)整個(gè)SoC各個(gè)關(guān)鍵組件的初始化工作。

初始化

這些初始化工作主要包括:

  • 初始化CPU內(nèi)部的一些特殊寄存器、
  • 初始化Cache參數(shù)、
  • 初始化存儲(chǔ)器管理單元MMU(Memory Management Unit)、
  • 初始化其他SoC組件(如URAT、Timer等)、
  • 初始化設(shè)置中斷向量表等,
  • 并開始執(zhí)行應(yīng)用程序或操作系統(tǒng)。

復(fù)位主要是在上電時(shí)完成處理器、SoC芯片及整個(gè)系統(tǒng)的復(fù)位工作。

它使得CPU的指令指針指到某一個(gè)特定的存儲(chǔ)器地址,然后從這個(gè)地址取指并執(zhí)行一系列的復(fù)位中斷服務(wù)程序。

例如,一款I(lǐng)BM公司的PowerPC 405GP處理器在上電復(fù)位時(shí),將從地址0XFFFFFFFC開始執(zhí)行相關(guān)的程序,而這段程序可能是在通過PCI連接的存儲(chǔ)器上。

復(fù)位

復(fù)位主要是在上電時(shí)完成處理器、SoC芯片及整個(gè)系統(tǒng)的復(fù)位工作。它使得CPU的指令指針指到某一個(gè)特定的存儲(chǔ)器地址,然后從這個(gè)地址取指并執(zhí)行一系列的復(fù)位中斷服務(wù)程序。

例如,一款I(lǐng)BM公司的PowerPC 405GP處理器在上電復(fù)位時(shí),將從地址0XFFFFFFFC開始執(zhí)行相關(guān)的程序,而這段程序可能是在通過PCI連接的存儲(chǔ)器上。

Bootloader

Bootloader是在操作系統(tǒng)運(yùn)行之前執(zhí)行的一小段程序。

通過這部分程序,設(shè)計(jì)者可以初始化硬件設(shè)備、建立內(nèi)存空間的映射表,從而建立適當(dāng)?shù)南到y(tǒng)軟硬件環(huán)境,為最終調(diào)用操作系統(tǒng)內(nèi)核做好準(zhǔn)備。

Bootloader的主要運(yùn)行任務(wù)就是將內(nèi)核映象加載到RAM中,然后跳轉(zhuǎn)到內(nèi)核的入口點(diǎn)去運(yùn)行,即開始啟動(dòng)操作系統(tǒng)。

Bootloader是基于特定硬件平臺(tái)來實(shí)現(xiàn)的,因此,幾乎不可能為所有的SoC建立一個(gè)通用的Bootloader。Bootloader不但依賴于處理器的體系結(jié)構(gòu),還依賴于SoC中各設(shè)備模塊的配置。

因此一般交付的時(shí)候芯片廠商會(huì)將芯片和Bootlloader一起交付,同時(shí)一些安全的啟動(dòng)方案就在這個(gè)地方會(huì)出現(xiàn)。

4.中斷服務(wù)程序及中斷向量

當(dāng)處理器正在處理內(nèi)部數(shù)據(jù)時(shí),外界發(fā)生了緊急情況,要求處理器暫停當(dāng)前的工作轉(zhuǎn)去處理這個(gè)緊急事件。

處理完畢后,再回到原來被中斷的地址,繼續(xù)原來的工作,這樣的過程稱為中斷,而對(duì)于緊急事件的處理程序稱為中斷服務(wù)程序。

各類中斷服務(wù)程序的入口地址均存放在中斷向量表中。

5.I/O引腳的復(fù)用

I/O引腳的數(shù)量將影響到芯片乃至系統(tǒng)板的面積。 通常為了減小面積會(huì)將兩個(gè)或兩個(gè)以上不在同一個(gè)時(shí)間使用的不同功能的I/O引腳進(jìn)行復(fù)用。

例如,用在測(cè)試時(shí)的掃描鏈信號(hào)引腳與正常使用時(shí)的UART模塊的引腳復(fù)用。

6.模型

為了能及時(shí)開發(fā)出目標(biāo)系統(tǒng)所需要的軟件,在SoC芯片能夠獲得之前,需要有一種SoC模型來開發(fā)和運(yùn)行軟件。

以前, SoC模型通常是基于FPGA 。隨著電子系統(tǒng)級(jí)設(shè)計(jì)的發(fā)展,一種虛擬的仿真模型出現(xiàn)了。仿真模型的速度雖然相對(duì)實(shí)際芯片要慢一些,但可以更早地展開軟件的開發(fā),而且隨著服務(wù)器等處理速度的提高,相對(duì)來說提高了仿真模型的速度。

這里也就是原型驗(yàn)證的意義所在。

隨著SoC設(shè)計(jì)中越來越多地使用多核,軟件開發(fā)環(huán)境需要為應(yīng)用開發(fā)者提供新的編程模型。

比如,在每一個(gè)獨(dú)立的處理器上運(yùn)行標(biāo)準(zhǔn)的操作系統(tǒng),這樣可以為應(yīng)用開發(fā)者提供相當(dāng)?shù)撵`活性。但應(yīng)用開發(fā)者要面臨著協(xié)同這些處理器中的所有任務(wù)的問題。

而更加普遍的做法或許是,為開發(fā)者提供一個(gè)多處理器多線程的開發(fā)模型,每一個(gè)線程映射到不同的獨(dú)立處理器上。

這種模型限制了對(duì)每個(gè)處理器的訪問,卻降低了在應(yīng)用層可能發(fā)生的同步問題。

這些編程模型只是為處理器提供通用的開發(fā)環(huán)境,而實(shí)際的芯片是一個(gè)更大并包括復(fù)雜通信的系統(tǒng),這樣的系統(tǒng)需要在開發(fā)環(huán)境中被建模。

軟件的復(fù)雜性正在不斷地增長,并且軟件通常能夠更好地處理復(fù)雜性的問題。軟件系統(tǒng)的功能和復(fù)雜性的進(jìn)一步發(fā)展也使得SoC設(shè)計(jì)方法學(xué)的極限得以擴(kuò)展。

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

    關(guān)注

    113

    文章

    16783

    瀏覽量

    181886
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7595

    瀏覽量

    165688
  • 連接器
    +關(guān)注

    關(guān)注

    99

    文章

    15013

    瀏覽量

    138563
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3657

    瀏覽量

    130506
  • SoC系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    10858
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

    ,等級(jí)森嚴(yán)!這種系統(tǒng)學(xué)術(shù)味道較濃!實(shí)際完全按照這種結(jié)構(gòu)進(jìn)行設(shè)計(jì)的操作系統(tǒng)不多,也沒有廣泛的應(yīng)用。可以這么說,現(xiàn)在的操作系統(tǒng)設(shè)計(jì)是在整體式系統(tǒng)
    發(fā)表于 09-13 10:10

    手機(jī)結(jié)構(gòu)設(shè)計(jì)心得

    手機(jī)結(jié)構(gòu)設(shè)計(jì)心得
    發(fā)表于 11-07 09:59

    淺談產(chǎn)品結(jié)構(gòu)設(shè)計(jì)特點(diǎn) 

    `  產(chǎn)品結(jié)構(gòu)設(shè)計(jì)是根據(jù)產(chǎn)品功能而進(jìn)行的內(nèi)部結(jié)構(gòu)的設(shè)計(jì),是機(jī)械設(shè)計(jì)的主要內(nèi)容之一。產(chǎn)品結(jié)構(gòu)設(shè)計(jì)內(nèi)容有零件的分件、部件的固定方式、產(chǎn)品使用和功能的實(shí)現(xiàn)方式、產(chǎn)品使用材料和表面處理工藝等。要求產(chǎn)品
    發(fā)表于 02-25 17:24

    軟件結(jié)構(gòu)設(shè)計(jì)

    軟件結(jié)構(gòu)設(shè)計(jì),,
    發(fā)表于 09-26 13:55

    嵌入式系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì)

    嵌入式系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì)
    發(fā)表于 09-26 13:57

    軟件無線電結(jié)構(gòu)設(shè)計(jì)的器件選擇方法

    ASIC、FPGA和DSP的應(yīng)用領(lǐng)域呈現(xiàn)相互覆蓋的趨勢(shì),使設(shè)計(jì)人員必須在軟件無線電結(jié)構(gòu)設(shè)計(jì)重新考慮器件選擇策略問題。本文從可編程性、集成度、開發(fā)周期、性能和功率五個(gè)方面論述了選擇ASIC、FPGA
    發(fā)表于 07-26 06:09

    SOC系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

    嵌入式系統(tǒng)SOC的基本結(jié)構(gòu)所謂嵌入式系統(tǒng)是計(jì)算機(jī)應(yīng)用的一種方式。 在嵌入式系統(tǒng),計(jì)算機(jī)硬件
    發(fā)表于 10-29 17:14 ?0次下載

    結(jié)構(gòu)設(shè)計(jì)的鋼筋混凝土構(gòu)造

    結(jié)構(gòu)設(shè)計(jì)的鋼筋混凝土構(gòu)造摘要: 在長期進(jìn)行設(shè)計(jì)工作, 通過使用規(guī)范和手冊(cè), 結(jié)合工程實(shí)際經(jīng)驗(yàn), 發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)的鋼筋混凝土構(gòu)造問題是個(gè)重
    發(fā)表于 04-26 11:17 ?20次下載

    結(jié)構(gòu)設(shè)計(jì)方面資料

    結(jié)構(gòu)設(shè)計(jì)方面資料
    發(fā)表于 08-09 17:02 ?0次下載

    軸系結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)

    實(shí)驗(yàn)六 軸系結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?熟悉并掌握軸系結(jié)構(gòu)設(shè)計(jì)中有關(guān)軸的結(jié)構(gòu)設(shè)計(jì)、滾動(dòng)軸承組合設(shè)計(jì)的基本方法。 二、實(shí)
    發(fā)表于 03-13 19:04 ?5.8w次閱讀
    軸系<b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>實(shí)驗(yàn)

    基于ARM的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)

    基于ARM的嵌入式系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)
    發(fā)表于 12-16 21:32 ?0次下載

    面向可維護(hù)性的軟件體系結(jié)構(gòu)設(shè)計(jì)

    面向可維護(hù)性的軟件體系結(jié)構(gòu)設(shè)計(jì)_胡文生
    發(fā)表于 01-08 15:15 ?1次下載

    淺談產(chǎn)品結(jié)構(gòu)設(shè)計(jì)類別及產(chǎn)品結(jié)構(gòu)設(shè)計(jì)的重要性

    產(chǎn)品設(shè)計(jì)中所涉及的產(chǎn)品結(jié)構(gòu)設(shè)計(jì),主要是產(chǎn)品的外部殼體結(jié)構(gòu)設(shè)計(jì)。目前殼體材料主要是金屬材料通過鈑金沖壓工藝成型和塑料通過注塑工藝成型。常見產(chǎn)品的結(jié)構(gòu)設(shè)計(jì)主要有鈑金結(jié)構(gòu)的設(shè)計(jì)、塑料產(chǎn)品的
    的頭像 發(fā)表于 05-26 14:21 ?1.4w次閱讀

    DSPMAC的微系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

    DSPMAC的微系統(tǒng)結(jié)構(gòu)設(shè)計(jì)(高頻開關(guān)電源技術(shù)指標(biāo))-該文檔為DSPMAC的微系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
    發(fā)表于 09-22 13:24 ?3次下載
    DSP<b class='flag-5'>中</b>MAC的微<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>結(jié)構(gòu)設(shè)計(jì)</b>

    FPC的結(jié)構(gòu)設(shè)計(jì).zip

    FPC的結(jié)構(gòu)設(shè)計(jì)
    發(fā)表于 03-01 15:37 ?1次下載
    主站蜘蛛池模板: 欧美色视频网 | 美女屁屁免费视频网站 | 国产在线黄 | 永久手机看片福利盒子 | 一级a爱片久久毛片 | 日本视频网站在线www色 | 亚洲一区在线视频 | 激情.com | 亚洲韩国日本欧美一区二区三区 | 久久国产精品亚洲综合 | 特级毛片永久久免费观看 | 天天曰天天操 | 久操视屏| 婷婷四房综合激情五月性色 | 欧美毛片网站 | 女人爽到喷水的视频大全在线观看 | 寂寞午夜影院 | 欧美色乱 | 69xxxx日本| 噜噜噜天天躁狠狠躁夜夜精品 | 苍井优一级毛片免费观看 | 毛片爱爱| se94se最新网站| 日本网站黄色 | 97理论三级九七午夜在线观看 | ts人妖另类国产 | 一级毛片q片 | 2022欧美高清中文字幕在线看 | 五月天婷婷丁香中文在线观看 | 国产精品手机在线 | 少妇被按摩 | 大尺度视频网站久久久久久久久 | 欧美成人区 | 国产精品好好热在线观看 | 伊人电影综合网 | 视频在线观看一区 | 四虎最新永久在线精品免费 | 欧美性猛交xxxx乱大交中文 | 四虎影视大全免费入口 | jizz免费一区二区三区 | 久久亚洲精品玖玖玖玖 |