<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于32位RISC處理器SoC平臺(tái)的Linux操作系統(tǒng)實(shí)現(xiàn)

          基于32位RISC處理器SoC平臺(tái)的Linux操作系統(tǒng)實(shí)現(xiàn)

          ——
          作者:馬俊 上海交通大學(xué)電子學(xué)院 陳宏銘 智原科技(上海)技術(shù)咨詢部 時(shí)間:2007-01-26 來(lái)源:《電子元器件》 收藏

          引言

          智原科技的fie8100 soc平臺(tái)是一種低功耗、便攜式視頻相關(guān)應(yīng)用開發(fā)soc平臺(tái),也可用于基于fa526 cpu的soc設(shè)計(jì)驗(yàn)證。

          基于fa526的linux軟件開發(fā)套件,開發(fā)人員可將linux一2.4.19軟件環(huán)境在fie8100平臺(tái)上安裝實(shí)現(xiàn),并完成對(duì)平臺(tái)上所有ip的驅(qū)動(dòng)程序安裝和對(duì)fa526的內(nèi)部調(diào)試。

          本文引用地址:http://www.ex-cimer.com/article/21367.htm

          fa526介紹

          fa526是一顆有著廣泛用途的32位risc處理器。它包括一個(gè)同步cpu內(nèi)核(core)、獨(dú)立的指令/數(shù)據(jù)緩存(cache)、獨(dú)立的指令/數(shù)據(jù)暫存器(scratchpads)、一個(gè)寫緩存(write buffer)、一個(gè)內(nèi)存管理單元(memory management unit)和jtag在線仿真(ice)接口。cpu內(nèi)核是6級(jí)流水線(pipeline)的哈佛(harvard)結(jié)構(gòu),包括取指令(fetch)、解碼(decode)、搬移(shift)、執(zhí)行(execution)、數(shù)據(jù)訪存(memory)、寫回(write)等。為了提高整體性能,fa526 cpu還包含了一個(gè)分支運(yùn)算緩存(branch target buffer:btb),故可減少分支運(yùn)算的開銷(penalties)。

          fa526 cpu內(nèi)核的指令是兼容arm v4的結(jié)構(gòu),并使用amba ahb接口與外部設(shè)備進(jìn)行通訊。因此,fa526 cpu有著廣泛的應(yīng)用領(lǐng)域,特別是針對(duì)那些需要高性能和低功耗的應(yīng)用。fa526 cpu內(nèi)核采用完全同步方式。其基于單相時(shí)鐘(single-phase clock)的結(jié)構(gòu)可以很容易集成開發(fā)系統(tǒng)級(jí)芯片(system on chip:soc)。fa526 cpu內(nèi)核的方框圖如圖1所示。

          fie8100 soc平臺(tái)介紹

          fie8100 soc平臺(tái)的系統(tǒng)架構(gòu)如圖2所示。它提供有多種外設(shè)接口。其內(nèi)部的高性能處理器內(nèi)核和功耗管理功能特別適合mpeg一4和jpeg的市場(chǎng)需求。目前,智原的mpeg4/jpeg圖codec所支持的格式為simple profile version 3.1,其中包含xvid編碼和一部分的divx編碼。

          fie8100 soc平臺(tái)包含有非常豐富的功能模塊以支持多種應(yīng)用。包括fa526(32bit risc cpu)、mpeg-4/jpeg編解碼引擎、usb2.0設(shè)備控制器、usb2.0phy(物理層)、lcd控制器、dma控制器、tv encoder(解碼器)、capture(視頻捕捉器)和amba總線架構(gòu)。為了讓用戶能將自己的ip或功能模塊順利的運(yùn)行在fa526上,智原科技將ahb總線從cpu的引線中拉出,并搭配各類接口和片外芯片,從而開發(fā)制作了一個(gè)基于fie8100 soc的仿真平臺(tái):mediacreative!。

          受基于fa526的linux安裝

          本開發(fā)系統(tǒng)所需的主開發(fā)硬件環(huán)境,一是兼容intel x86的pc,二是標(biāo)準(zhǔn)16550 uart接口。而軟件主要是linux操作系統(tǒng)(redhat 7.3~8.0或更高版本)和fa526一linux軟件包。而通用平臺(tái)系統(tǒng)所需的器件,主要是一片mediacreative!(含fie8100/fwab326aa芯片)和一片64 mb sdram及32 mb flash。

          通過(guò)fa526一linux可以將linux-2.4.19軟件環(huán)境在faraday fa526處理器和外設(shè)ip上進(jìn)行安裝。

          fa526一linux軟件包通常以"arm-linux一20050429.tgz"打包文件并遞交(此程序發(fā)布于april 29,2005)表1所列是安裝linux所需的硬盤空間大小。

          安裝fa526一linux軟件包的具體流程如下:

          (1)拷貝文件arm-linux一20050429.tgz至目錄/usr/src:

          #cp arm-linux一20050429.tgz/usr/src

          (2)解包文件"arm-linux一20050429.tgz":

          #cd/usr/src

          #tar zxvf arm-linux一20050429.tgz

          (3)安裝toolchain(gcc一2.95.3,binutils一2.11.2,glibc一2.2.3)至目錄/usr/local:

          #cp/usr/src/arm-linux/toolchain/arm-linux-toolchain.tgz/usr/local/

          #cd/usr/local

          #tar zxvf arm-linux-toolchain.tgz

          #rm-f arm-linux-toolchain.tgz

          此步驟將在目錄/usr/local/arm解壓gcc一2.95.3,binutils一2.11.2和glibc一2.2.3的輸出文件。

          (4)添加gcc執(zhí)行路徑shell環(huán)境。

          可執(zhí)行以下命令來(lái)添加路徑:

          #export path=$path:/usr/local/arm/2.95.3/bin

          在完成以上四個(gè)安裝步驟后,就可以在自己的系統(tǒng)下解壓打包文件(如arm-linux20050429.tgz),之后,系統(tǒng)會(huì)自動(dòng)生成一組目錄。表2列出了這些源目錄的定義。用戶的應(yīng)用程序包含在目錄/usr/src/arm-linux/user/下,而客戶定制的ram-disk則包含在目錄/usr/src/arm-linux/images/下。

          fa526-linux的構(gòu)建和開發(fā)

          在嵌入式系統(tǒng)里配置和構(gòu)建fa526一linux內(nèi)核時(shí),如果fa526的linux內(nèi)核子目錄路徑為:/usr/src/arm-linux/arm-linux一2.4.19/,那么,fa526一linux目錄的結(jié)構(gòu)將和標(biāo)準(zhǔn)linux內(nèi)核一樣,其版本為2.4.19。表3列出了linux內(nèi)核子目錄的內(nèi)容。

          內(nèi)核構(gòu)建

          為fa526架構(gòu)生成內(nèi)核映像時(shí),必須先對(duì)內(nèi)核進(jìn)行配置,配置文件路徑為/.config。

          通常,用戶可能為了一些如下的因素要求重新配置fa526一linux,具體方法為:

          (1)定制處理器和板子的功能:修改uart時(shí)鐘、系統(tǒng)時(shí)鐘等。

          (2)定制硬件設(shè)備:添加或刪除某些特殊設(shè)備。

          (3)定制內(nèi)核功能:添加或刪除一個(gè)內(nèi)核的功能(如網(wǎng)絡(luò)支持)。

          linux內(nèi)核配置為配置這些可選項(xiàng)目提供了兩種常用方式:一是使用菜單顯示來(lái)選擇項(xiàng)目(#make menuconfig);二是使用gui顯示來(lái)選擇項(xiàng)目(#make xconfig)。

          圖3則是針對(duì)fa526和cpe開發(fā)板的fa526一linux的menuconfig介面。

          fa526系統(tǒng)中的主要選項(xiàng)有以下幾種:

          (cpe)arm system type,默認(rèn)值選是中cpe開發(fā)板來(lái)支持faraday cpe(common platform environment)。

          [*]support fa526 processor,設(shè)置fa526系列處理器選項(xiàng)來(lái)支持fa526 cpu。

          (fie8100)platform environment從a320、fie8100、fie7000中選擇平臺(tái)設(shè)定。

          (44000000) system clock,fie8100的默認(rèn)值是44 mhz。開發(fā)人員應(yīng)根據(jù)實(shí)際電路板設(shè)定來(lái)調(diào)整。

          (22118400)uart clock.fie8100的uart時(shí)鐘是22.184 mhz。開發(fā)人員可根據(jù)實(shí)際的電路板設(shè)定來(lái)設(shè)置uart時(shí)鐘頻率。

          需要說(shuō)明的是:第一次make linux內(nèi)核時(shí),可清除所有目標(biāo)文件,并重新創(chuàng)建從屬文件(dependency)。如果要修改內(nèi)核的配置,則可調(diào)用"make dep"。操作步驟如下:

          #make clean

          #make dep(fa526一linux提供了內(nèi)核腳本文件(shell-script)"mkbootp.sh",這可以使make內(nèi)核更容易。)

          #./mkbootp.sh

          上述操作可創(chuàng)建名為bootplmage的最終內(nèi)核映像文件(kernel image)和名為vmlinux的內(nèi)核elf文件。以下操作是修改mkbootp.sh的一個(gè)例子:

          (1)使用定制的ram-disk來(lái)為特殊規(guī)格的ramdisk修改"make bootpimage initrd="??尚薷?default ram disk size"來(lái)滿足ramdisk的大小(見(jiàn)圖4)??稍?block devices"配置界面里通過(guò)"make xconfig"來(lái)設(shè)置。

          (2)復(fù)制輸出映像到特定目錄:

          在mkbootp.sh檔案上修改"cp"這一行以符合需求。

          mkbootp.sh的內(nèi)容是:

          "make hootpimage initrd=/usr/src/arm-linux/images/ramdisk.gz

          "cp arch/arm/boot/bootpimage/tftpboot/mbootpimage"

          建立armboot

          fa526一linux使用armb00t來(lái)裝載操作系統(tǒng)。fa526的armboot使用一個(gè)名為"faraday.h"的配置文件來(lái)配置各種不同的硬件環(huán)境。此文件被放在/usr/src/arm-linux/armboot一1.1.o/faraday.h。其可修改的內(nèi)容和值包括(通常不需要改動(dòng)):

          修改系統(tǒng)時(shí)鐘。對(duì)于mediacreative!平臺(tái),它的默認(rèn)值是44 mhz。

          修改uart時(shí)鐘。對(duì)于mediacreative!平臺(tái),應(yīng)為22.1184 mhz。

          修改flash塊號(hào)。對(duì)于mediacreative!平臺(tái),flash的塊號(hào)是1。

          修改好mac和ip后,就可以通過(guò)以下命令來(lái)建立armboot:

          #cd/usr/src/arm-linux/armboot-1.1.0

          #make

          此時(shí),系統(tǒng)會(huì)在目錄里自動(dòng)生成"armboot.bin"文件。此后便可根據(jù)這個(gè)指令將armboot燒人到fie8100的flash器件里,并編寫特定鏡像文件armboot.bin至flash地址0x80400000。

          通過(guò)armboot啟動(dòng)fa526 linux

          在開發(fā)階段的好多部分,開發(fā)人員必須要做前期規(guī)劃來(lái)修改或下載代碼直到得到想要的結(jié)果。在這樣的情況下,需要armboot來(lái)下載和運(yùn)行代碼的具體步驟如下:

          (1)在linux主機(jī)上設(shè)置trip服務(wù)器,并設(shè)置/etc/xinetd.d/tftp。

          (2)在此狀態(tài)下使用linux making shell(mkbootp.sh)編譯代碼,并生成linux代碼至目錄/tftpboot.要運(yùn)行l(wèi)inux代碼,需按以下步驟執(zhí)行:

          重啟fie8100開發(fā)板(mediacreative!)。

          選擇"90) go armb00t"。

          確認(rèn)linux-host和f1e8100的ip地址是正確的,(printenv)。

          輸入命令:tftp ox2000000 mbootplmage,以下載代碼。

          通過(guò)命令"go ox2000000"啟動(dòng)linux,直至出現(xiàn)linux啟動(dòng)信息。

          linux的使用

          在完成以上操作后,armboot就可燒入在mediacreative!開發(fā)板上的flash里。以后,要通過(guò)armboot來(lái)運(yùn)行l(wèi)inux操作系統(tǒng)以對(duì)fie8100平臺(tái)進(jìn)行開發(fā)驗(yàn)證,可執(zhí)行以下操作:

          (1)開啟mediacreative!開發(fā)板,運(yùn)行"mpeg4 burnin",使系統(tǒng)出現(xiàn)linux運(yùn)行選項(xiàng);

          (2)鍵入"空格"鍵,進(jìn)入linux操作系統(tǒng)。

          結(jié)束語(yǔ)

          以上通過(guò)智源科技的fie8100 soc平臺(tái)的設(shè)計(jì)使用,介紹了兼容arm v4指令集的32位risc處理器和該soc平臺(tái)的linux操作系統(tǒng),它具有低功耗、便攜帶的優(yōu)點(diǎn)、開發(fā)人員可將linux--2.4.19軟件在fie8100的平臺(tái)上安裝實(shí)現(xiàn),并進(jìn)行二次開發(fā)和驗(yàn)證。



          關(guān)鍵詞: SoC ASIC

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();