如何將PetaLinux移植到Xilinx FPGA上

發(fā)布時(shí)間:2015-4-13 15:41    發(fā)布者:eechina
關(guān)鍵詞: PetaLinux , 移植 , FPGA
作者:
Sweta
通信工程系研究生
印度班加羅爾PES理工學(xué)院(PES Institute of Technology)  sweta.v.walikar@gmail.com

Srikanth Chintala
衛星和無(wú)線(xiàn)部研發(fā)工程師
印度班加羅爾遠程信息處理開(kāi)發(fā)中心(C-DOT) chintala@cdot.in

Manikandan J
電子通信工程系(EC)信號處理領(lǐng)域教授和領(lǐng)域帶頭人
研究創(chuàng )新孵化學(xué)(CORI)教授
印度班加羅爾PES大學(xué)(PES University) manikandanj@pes.edu

用戶(hù)可輕松將這款高穩健操作系統安裝到目標FPGA平臺上,以供嵌入式設計項目使用。

從最初不起眼的膠合邏輯開(kāi)始,FPGA已經(jīng)歷了漫長(cháng)的發(fā)展道路。當前FPGA的邏輯容量和靈活性已將其帶入了嵌入式設計的中心位置。目前,在單個(gè)可編程芯片上可實(shí)現一個(gè)完整系統,這種架構有助于軟硬件的協(xié)同設計,并能將軟硬件應用進(jìn)行集成。
這些基于FPGA的嵌入式設計種類(lèi)需要穩健的操作系統。PetaLinux應運而生,已成為眾多嵌入式設計人員青睞的對象。它以開(kāi)源免費的方式提供,支持包括賽靈思MicroBlaze® CPU和ARM®處理器在內的多種處理器架構。要將PetaLinux移植到特定的FPGA上,必須針對目標平臺定制、配置和構建內核源代碼、引導載入程序、器件樹(shù)和根文件系統。

對于PES大學(xué)和C-DOT的一個(gè)設計項目而言,我們的研發(fā)團隊準備移植PetaLinux并在采用Kintex®-7 XC7K325T FPGA的賽靈思KC705評估板上運行多個(gè)PetaLinux用戶(hù)應用。結果證明整個(gè)過(guò)程相當便捷。

選擇PetaLinux的原因

在詳細介紹具體做法之前,有必要花點(diǎn)時(shí)間來(lái)探討針對基于FPGA的嵌入式系統提供的操作系統選項。PetaLinux是FPGA上最常用的操作系統,另外還有μClinux 和Xilkernel。μClinux為L(cháng)inux發(fā)行版,是一款包含小型Linux內核的移植型Linux操作系統,適用于無(wú)存儲器管理單元(MMU)的處理器[1]。μClinux配備有各種庫、應用和工具鏈。Xilkernel就其本身而言,是一款小型、高穩健性、模塊化內核,能夠提供高于μClinux 的定制性能,有助于用戶(hù)通過(guò)定制內核來(lái)優(yōu)化其設計尺寸與功能[2]。

同時(shí),PetaLinux也是一款完整的Linux發(fā)行版及開(kāi)發(fā)環(huán)境,適用于基于FPGA的片上系統(SoC)設計。PetaLinux包含預配置二進(jìn)制可引導映像、面向賽靈思器件的完全可定制Linux 以及配套提供的PetaLinux軟件開(kāi)發(fā)套件(SDK)[3]。其中SDK包括用于自動(dòng)完成配置、構建和部署過(guò)程中各種復雜工作的工具和實(shí)用程序。賽靈思提供可免費下載的PetaLinux開(kāi)發(fā)包,其中包括針對各種賽靈思FGPA開(kāi)發(fā)套件而設計的硬件參考項目。同時(shí)包含在內的還有適用于賽靈思FPGA的內核配置實(shí)用程序、交叉編譯器等軟件工具、硬件設計創(chuàng )建工具以及大量其它設計輔助功能。

據報道,Xilkernel 的性能優(yōu)于μClinux[4],而PetaLinux的性能又優(yōu)于Xilkernel [5]。由于這個(gè)原因,特別是由于已針對我們賽靈思目標板提供的軟件包原因,我們?yōu)槲覀兊捻椖窟x擇了PetaLinux。移植PetaLinux的另一大優(yōu)勢是用戶(hù)可以輕松實(shí)現遠程編程。這就意味著(zhù)用戶(hù)可使用遠程接入方式,通過(guò)遠程登錄,采用新的配置文件(或比特流文件)加載FPGA目標板。

有兩種方法可以創(chuàng )建用于構建PetaLinux系統的軟件平臺:在Linux終端上使用PetaLinux命令或通過(guò)下拉菜單使用GUI。

開(kāi)始安裝

下面詳細介紹我們項目團隊安裝PetaLinux的方法。第一步,我們下載了PetaLinux軟件包12.12版以及用于Kintex-7目標板的電路板支持包(BSP)。然后運行了PetaLinux SDK安裝程序,并在控制臺上使用下列命令把SDK安裝到了/opt/Petalinux-v12.12-final目錄下:

@    cd /opt

@    cd /opt/PetaLinux -v12.12-final-full.tar.gz

@    tar zxf   PetaLinux-v12.12-final-full.tar.gz

隨后,我們把從賽靈思網(wǎng)站獲得的PetaLinux SDK許可證復制并拷貝到.xilinx和.Petalogix文件夾中。接下來(lái),我們使用下列命令獲取適當設置,設置了SDK的工作環(huán)境:

@    cd /opt/PetaLinux-v12.12-final

@    source  settings.sh

為驗證工作環(huán)境是否設置正確,我們使用了以下命令:

@ echo $PETALINUX

如果環(huán)境設置正確,將顯示PetaLinux的安裝路徑。在本案例中,PetaLinux的安裝路徑是 /opt/PetaLinux-v12.12-final。


圖1:用于用戶(hù)設置的Linux終端窗口截屏

接下來(lái)的工作是安裝BSP,其中包含必要的設計文件、配置文件和預構建軟硬件包。這些軟硬件包已經(jīng)通過(guò)測試,可隨時(shí)下載到目標板上。另外軟件包還可用于在快速仿真器(QEMU)系統仿真環(huán)境下的引導。為了安裝BSP,我們在path /opt中創(chuàng )建了一個(gè)名為“bsp”的文件夾,并使用下列命令復制了KC705 BSP的ZIP文件:

@ cd  /opt/PetaLinux-v12.12-final-full

@    source  settings.sh

@    source /opt/Xilinx/14.4/ISE _DS/settings32.sh

@    PetaLinux-install-bsp /bsp/Xilinx-KC705

-v12.12- final.bsp

構建為新平臺定制的PetaLinux系統,有兩種創(chuàng )建和配置軟件平臺的方法。一種方法是使用Linux終端,在PetaLinux命令對應的路徑位置使用PetaLinux命令,如圖1所示。第二種方法是通過(guò)下拉菜單使用GUI,如圖2所示。您可使用其中任何一種方法來(lái)選擇平臺,配置Linux內核,配置用戶(hù)應用和構建鏡像。在操作系統安裝完成后,就可使用PetaLinux控制臺。而使用GUI則需要完成PetaLinux SDK插件的安裝。完成該插件的安裝后,就可使用PetaLinux Eclipse SDK中提供的PetaLinux GUI設置各種配置(圖2)。該GUI具有各種特性,如用戶(hù)應用和庫開(kāi)發(fā),以及PetaLinux及硬件平臺的調試、構建和配置等。

硬件構建

我們?yōu)轫椖渴褂昧嘶贙intex-7 FPGA的KC705評估板。設計需要的硬件接口有用于監控輸出的RS232接口、用于編程FPGA的JTAG接口以及用于遠程編程的以太網(wǎng)接口。除了PetaLinux SDK,所推薦設計需要的其它軟件還包括Xil-inx Platform Studio (XPS) [6,7] 和賽靈思軟件開(kāi)發(fā)套件(SDK)[7]。


圖2:用于用戶(hù)設置的PetaLinux SDK菜單截屏

在該嵌入式設計的硬件部分,我們的第一項任務(wù)就是使用XPS中的基本系統構建器(BSB)設計基于MicroBlaze處理器的硬件平臺。BSB允許選擇目標板上提供的一系列外設。您還可根據應用需求添加或刪除外設。我們所推薦應用采用的內核或外設集包括帶8Mb存儲器的外部存儲器控制器、在中斷情況下啟用的定時(shí)器、波特率為115,200Bps的RS232 UART、以太網(wǎng)、非易失性存儲器以及

LED。完成選擇后,我們就獲得了硬件外設及其總線(xiàn)接口(圖3)。對于基于MicroBlaze處理器的設計,PetaLinux需要支持MMU的CPU。因此我們在XPS窗口中雙擊MicroBlaze_0實(shí)例,選擇了帶MMU的低端Linux。


圖3:FPGA的硬件配置

此時(shí)硬件設計已完成,F在可以使用第一階段引導載入程序引導該內核。

接下來(lái),我們使用三步轉換流程將硬件配置轉換為比特流。首先,我們使用XPS生成了代表嵌入式硬件平臺的網(wǎng)表。隨后,我們將設計映射到FPGA邏輯中。最后我們將實(shí)現的設計轉換為能夠下載到FPGA上的比特流。XPS的最終輸出是system.bit和sys-tem_bd.bmm文件。

生成比特流后,我們將硬件平臺描述導出到SDK,以便在SDK中觀(guān)察目標硬件平臺。導出的系統xml文件包含SDK編寫(xiě)應用軟件并在目標硬件平臺上對其進(jìn)行調試所需的信息。我們的下一項任務(wù)是使用Xilinx Tools → Repository → New 在SDK中添加一個(gè)PetaLinux庫,然后選擇PetaLinux的安裝路徑。在本實(shí)例中,該路徑為$PetaLinux/Hardware/edk_user_repository。

接下來(lái),我們使用File → Board support package → PetaLinux創(chuàng )建了PetaLinux BSP。我們根據所需的應用選擇必要的驅動(dòng)程序,配置了PetaLinux BSP。隨后我們通過(guò)構建BSP并創(chuàng )建和配置第一階段的引導載入程序應用(fs-boot),引導了內核。該BSP可建立硬件和引導應用之間的交互。SDK的輸出為fs-boot.elf?墒褂脭祿酱鎯ζ鬓D換器命令data2mem

將system.bit、system_bd.bmm和fs-boot.elf 合并為一個(gè)名為download.bit的統一比特流文件,用作最終的FPGA比特流。

此時(shí)硬件設計已完成,其它方面還包括一個(gè)MicroBlaze內核和運行其上的PetaLinux操作系統,F在我們可以使用第一階段的引導載入程序引導內核。

構建軟件

完成硬件平臺的構建后,我們使用下列命令創(chuàng )建了針對硬件的定制PetaLinux軟件平臺:

$ cd/opt/PetaLinuxv12.12

$ PetaLinux-new-platform –c –v –p

其中–c 為支持的CPU類(lèi)型(這里是MicroBlaze處理器)、–v 為廠(chǎng)商名稱(chēng)(這里是賽靈思),而–p 則為產(chǎn)品名稱(chēng)(這里是KC705)。軟件平臺的配置文件在安裝PetaLinux的目錄下生成,即/opt/PetaLi-nuxv12.12/software/ PetaLinux-dist/vendors/Xilinx/ KC705。


圖4:內核配置菜單

為定制與硬件匹配的軟件平臺模板,我們使用PetaLinux-copy-autoconfig命令將現有平臺配置與內核配置進(jìn)行了合并。該命令可生成硬件配置文件Xilinx-KC705.dts、xparame-ters.h 和 config.mk。

我們使用GUI(PetaLinux SDK → Kernel Configuration)打開(kāi)內核配置菜單,配置了Linux內核。此外,您也可以在Linux終端上使用下列命令完成該工作:

$ cd /opt/PetaLinux_v12.12 $ PetaLinux-config-kernel

我們在內核配置彈出窗口中啟用該應用的驅動(dòng)程序(如圖4所示)。為通過(guò)用戶(hù)空間輸入/輸出(UIO)接口訪(fǎng)問(wèn)設備,完成所提出的工作,我們在內核配置菜單中啟用了UIO驅動(dòng)程序。

內核配置完成后,我們設計了一些應用。PetaLinux可提供用于C語(yǔ)言和C++編程的用戶(hù)應用模板[8]。這些模板包括應用源代碼和Makefile文件,方便為目標芯片配置和編譯應用并將其安裝在根文件系統中。創(chuàng )建新的PetaLinux用戶(hù)應用,既可使用GUI(File → PetaLinux New Application),也可在Linux終端上輸入下列命令:

$ cd /opt/PetaLinux_v12.12 $ PetaLinux-config-apps

隨后我們?yōu)樵撚脩?hù)應用起了個(gè)文件名。在本實(shí)例中,我們創(chuàng )建了gpio-dev-mem-test和gpio-uio-test用戶(hù)應用,并根據應用要求修改了模板源代碼。

接下來(lái)我們使用GUI構建了PetaLinux系統映像(如圖2所示)。此外,您還可以在Linux終端上使用make命令完成該任務(wù),如下圖所示:

$ cd $PETALINUX/software/ PetaLinux-dist $ make

支持操作系統(OS)和定制用戶(hù)應用的軟件平臺以及我們前文討論過(guò)的硬件設計現已可供使用。

測試運行在設備上的PetaLinux

下面介紹PetaLinux的引導方式。MicroBlaze處理器可處理駐留在Block RAM中的代碼。第一階段的引導載入程序(fs-boot)將初始化基本硬件、執行fs-boot.elf、搜索通用引導載入程序或U-Boot、在閃存分區中進(jìn)行尋址(因為U-Boot的地址已在配置fs-boot時(shí)設定)。隨后,fs-boot將從閃存中的U-Boot分區中獲取U-Boot映像,將其發(fā)送到設備的DDR3存儲器并運行內核。一旦構建好所有引導所需的映像后,您就可以通過(guò)JTAG、以太網(wǎng)或快速仿真器在硬件上測試這些映像了。QEMU是一種仿真器和虛擬機,允許您運行PetaLinux操作系統[9]。下面討論所有這三種解決方案的引導方法。

JTAG是編程和測試FPGA設計的傳統方法。為使用JTAG對FPGA進(jìn)行編程,我們使用了下拉菜單“Xilinx Tool → Program the FPGA”并下載了之前生成的download.bit文件。隨后我們使用GUI(PetaLinux SDK → BOOT JTAG [Li-nux])將映像下載到了電路板上,如圖2所示。您也可以在Linux終端上使用下列命令:

$ cd/opt/PetaLinux _v12.12/software/ PetaLinux-dist

$  PetaLinux-jtag-boot -i  images/image.elf

此外,您還可使用U-Boot執行間接內核引導,從而引導PetaLinux。系統首先使用GUI(PetaLinux SDK → BOOT JTAG [U-Boot])或以下命令通過(guò)JTAG接口下載U-Boot來(lái)進(jìn)行引導。

$ cd $PETALINUX/software/ PetaLinux-dist

$  PetaLinux-jtag-boot -i images/u -boot.elf

圖6是U-Boot控制臺的快照。

值得注意的是,FPGA電路板連接的是以太網(wǎng)接口。您必須在XPS的硬件資源部分選擇以太網(wǎng)接口。一旦U-Boot引導成功,就要檢查服務(wù)器和主機的IP地址是否相同。如果IP地址不同,請在U-Boot終端上使用下列命令設置主機IP。

u-boot>print serverip // prints 192.168.25.45(server ip)
u-boot>print ipaddr // prints IP address
of the board as // 192.168.25.68
u-boot>set serverip // Host IP 192.168.25.68
u-boot>set serverip 192.168.25.68192.168.25.68

現在服務(wù)器(PC)和主機(KC705電路板)具有相同的IP地址。請通過(guò)服務(wù)器運行網(wǎng)絡(luò )引導命令,下載PetaLinux映像和引導程序:

u-boot> run netboot

運行網(wǎng)絡(luò )引導命令后,您應該能夠看到PetaLinux控制臺,如圖5所示。

最后您可使用GUI(PetaLinux SDK → BOOT QEMU [Linux])或以下命令執行內核引導,這也很重要。

$ cd $ PETALINUX/software/ PetaLinux-dist $ PetaLinux-qemu-boot -i images/image.elf

使用這種快速方法,我們將看到圖7所示信息。

測試運行在設計上的應用

完成PetaLinux引導的測試后,接下來(lái)就是測試專(zhuān)為PetaLinux設計的用戶(hù)應用。MicroBlaze處理器將Kintex-7 FPGA電路板上的硬件外設視為一組存儲寄存器。每個(gè)寄存器都有自己的基址和結束地址。要訪(fǎng)問(wèn)一個(gè)外設,用戶(hù)必須知道它的基


圖5:確認操作系統引導成功的PetaLinux控制臺快照


圖6:通過(guò)通用引導載入程序(U-Boot)進(jìn)行的間接內核引導

址和結束地址。您可以在設備樹(shù)源(*.dts)文件中找到有關(guān)地址的詳細信息。就本設計而言,我們開(kāi)發(fā)并測試了四款應用,分別是訪(fǎng)問(wèn)DDR3、使用/dev/mem訪(fǎng)問(wèn)GPIO、使用UIO訪(fǎng)問(wèn)GPIO和文件傳輸。

1. 訪(fǎng)問(wèn)DDR3

我們使用名為DDR3-test.c的PetaLinux應用訪(fǎng)問(wèn)DDR3存儲器。該應用經(jīng)過(guò)精心設計,可向DDR存儲器位置寫(xiě)入數據并從這里讀取數據。DDR3是雙列直插式存儲器模塊,可提供用于存儲用戶(hù)代碼和數據的SDRAM。如上文所述,用戶(hù)需要知道DDR存儲器的開(kāi)始地址和結束地址,分別是0xC0000000和0xC7FFFFFF。存儲器的容量為512兆字節。Linux內核駐留在DDR存儲器的初始存儲器位置。因此需要選擇DDR3存儲器的寫(xiě)入位置,以避免破壞Linux內核。我們使用以下命令向DDR3存儲器寫(xiě)入數據:

#DDR3-test –g 0xc7000000 –o 15

其中DDR3-test是應用名稱(chēng)、-g是DDR3存儲器的物理地址、-o是輸出、15是準備在0xc7000000位置寫(xiě)入DDR3存儲器的值。為測試該值是否能寫(xiě)入預計的位置,我們使用以下命令從DDR3存儲器讀取數據:

#DDR3-test –g 0xc7000000 –i


圖7:通過(guò)QEMU運行PetaLinux

該應用旨在控制8位離散輸出,可通過(guò)將板載LED連接至GPIO進(jìn)行測試。

值15顯示在終端上,這說(shuō)明DDR3存儲器讀寫(xiě)操作正在成功進(jìn)行。

2. 使用/dev/mem訪(fǎng)問(wèn)GPIO

對于接下來(lái)的應用測試,我們使用名為gpio-dev-mem-test.c的PetaLinux應用訪(fǎng)問(wèn)了通用I/O(GPIO)。該應用的設計目的是控制8位離散輸出并通過(guò)將板載LED連接至GPIO來(lái)測試該輸出。要從用戶(hù)空間訪(fǎng)問(wèn)任何設備,就要先打開(kāi)/dev/mem,然后使用mmap()將設備映射至存儲器。我們所使用LED GPIO的開(kāi)始地址和結束地址分別是0x40000000 和0x4fffffff。

GPIO外設具有兩個(gè)寄存器:數據寄存器(GPIO_DATA)和方向寄存器(GPIO_TRI_OFFSET)。為了讀取GPIO的狀態(tài),我們將方向位設置為1(即GPIO_TRI_OFFSET=1)并且從數據寄存器讀取數據。為了將數據寫(xiě)入到GPIO,我們設置方向位為0并寫(xiě)入值到數據寄存器。在PetaLinux終端上使用下列命令將數據寫(xiě)入到GPIO:

#gpio-dev-mem-test –g 0x40000000 –o 255

其中g(shù)pio-dev-mem-test為應用名稱(chēng),-g為GPIO物理地址,-o為輸出,255為從GPIO(連接到LED)發(fā)送的值。LED按編寫(xiě)的程序點(diǎn)亮時(shí),測試的結果就得到了驗證。

3. 使用UIO訪(fǎng)問(wèn)GPIO

訪(fǎng)問(wèn)GPIO的另一個(gè)途徑是通過(guò)用戶(hù)空間輸入/輸出。我們通過(guò)UIO,使用名為gpio-uio-test.c的PetaLinux應用訪(fǎng)問(wèn)了GPIO。該應用旨在控制8位離散輸出,可通過(guò)將板載LED連接至GPIO進(jìn)行測試。UIO設備在文件系統中表現為/dev/uioX。為通過(guò)UIO訪(fǎng)問(wèn)GPIO,我們打開(kāi)了/dev/uioX或sys/class/ui0,然后使用了mmap()調用。我們配置了內核使之支持UIO,并在內核中啟用了UIO框架。隨后我們使用名為“Compatibility”的參數,根據UIO設備(而非標準GPIO設備)對LED的GPIO控制方式進(jìn)行了設置。此外,我們還將

設備的標簽從 gpio@40000000修改成了leds@40000000。

然后我們重新構建了PetaLinux,并使用UIO測試了GPIO訪(fǎng)問(wèn)。我們使用以下命令,獲得了所加載UIO模塊的詳細信息:

# ls /sys/class/uio/ uio0 uio1 uio2

UIO的名稱(chēng)和地址可在/sys/class/uio/uioX下找到。我們使用以下命令通過(guò)UIO驅動(dòng)程序訪(fǎng)問(wèn)了GPIO LED:

#    cd “/sys/class/uio/uioX

#    gpio-uio-test -d /dev/uio1 -o 255

其中g(shù)pio-uio-test為應用名稱(chēng)、-d為設備路徑、-o為輸出、255為通過(guò)UIO傳遞給GPIO的值。使用以上命令,LED按寫(xiě)入到GPIO線(xiàn)路上的數據點(diǎn)亮,驗證了該結果。

4. 文件傳輸應用

最后一項測試,我們將文件從服務(wù)器傳輸到了客戶(hù)端,這里的服務(wù)器是主機PC,客戶(hù)端是KC705電路板。在這項測試中,我們使用以太網(wǎng)線(xiàn)纜連接服務(wù)器和客戶(hù)端,并使用了小型文件傳輸協(xié)議(TFTP)。這種協(xié)議因簡(jiǎn)單而出名,通常用于自動(dòng)傳輸配置文件或引導文件。為測試使用TFTP從服務(wù)器向客戶(hù)端傳輸文件的情況,我們在/tftpboot位置為服務(wù)器PC創(chuàng )建了一個(gè)名為test的文件。我們使用以下命令在文件中寫(xiě)入了“世界,你好”并查看了該文件中的內容(如圖8所示):

@    echo “Hello World” > /tftpboot/test

@    more /tftpboot/test


圖8:在服務(wù)器中創(chuàng )建文件的快照


圖9:在客戶(hù)端接收文件的快照


圖10:從客戶(hù)端到服務(wù)器傳輸文件的快照


圖11:在服務(wù)器中接收文件的快照

為從服務(wù)器接收該文件,我們在以客戶(hù)端方式運行在KC705電路板上的PetaLinux終端窗口中輸入以下獲取命令(-g):

#    tftp -r test -g 192.168.25.68

#    ls –a

在客戶(hù)端中創(chuàng )建了一個(gè)名為“test”的新文件(如圖9所示)。我們可以使用更多內容命令查看該文件的內容,如圖9所示:

同樣,如果要從客戶(hù)端向服務(wù)器傳輸文件,可先在客戶(hù)端機器上創(chuàng )建一個(gè)名為test1的文件,其內容為“PetaLinux OS”。然后在運行在客戶(hù)端上的PetaLinux終端中使用以下“放置”命令(-p),便可將該文件從客戶(hù)端傳輸至服務(wù)器,如圖10所示:

# tftp -r test1 -p 192.168.25.68

可在服務(wù)器中創(chuàng )建一個(gè)空白文件test1,其內容可在文件傳輸工作完成后讀取。該內容可圖11所示方法進(jìn)行驗證。

在FPGA上實(shí)現嵌入式系統和運行PetaLinux,操作起來(lái)非常簡(jiǎn)單直觀(guān)。接下來(lái),我們計劃使用遠程編程實(shí)現設計,即引導文件通過(guò)以太網(wǎng)傳輸,客戶(hù)端能夠運行新應用。

參考資料

1.    Kynan Fraser,《運行uClinux的MicroBlaze》,摘自《高級計算機體系架構》:http://www.cse.unsw.edu.au/~cs4211
2.    賽靈思公司Xilkernel 3.0版,2006年12月
3.    賽靈思公司《PetaLinux SDK用戶(hù)指南》UG976,2013年4月
4.    Gokhan Ugurel和Cuneyt F. Bazlamacci,《在MicroBlaze上Xilkernel和μC/OS-II上下文切換時(shí)間及內存占用比較》,摘自2011年12月土耳其布爾薩的《第7屆電子電氣工程國際學(xué)術(shù)會(huì )議》第52頁(yè)至55頁(yè)。
5.    Chenxin Zhang、Kleves Lamaj、Monthadar Al Jaberi和Praveen Mayakar,《極小型網(wǎng)絡(luò )附加存儲(NAS)》”,摘自隆德大學(xué)機械學(xué)院(Lunds Tekniska Hogskola)《項目報告,高級嵌入式系統課程》2008年11月
6.    賽靈思公司《Platform Studio用戶(hù)指南》UG113,1.0版,2004年3月
7.    賽靈思公司《EDK概念、工具和技巧:高效嵌入式系統設計實(shí)際操作指南》UG683,14.1版本,2002年4月
8.    賽靈思公司《PetaLinux應用開(kāi)發(fā)指南》UG981,2013年4月
9.     賽靈思公司《PetaLinux QEMU仿真指南》UG982,2013年11月
本文地址:http://selenalain.com/thread-147911-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页