《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > MicroBlaze處理器的PetaLinux操作系統移植
MicroBlaze處理器的PetaLinux操作系統移植
單片機與嵌入式系統
薛慧敏,武傳華,路后兵
摘要: 引言隨著FPGA(FieldPrograromableGateArray,現場可編程門陣列)技術的迅速發展,SOPC(SystamOnaPrograromableChip,可編程片上系統)作為一種特殊的嵌入式微處理器系統,已逐漸成為一個新興的技術方向。
Abstract:
Key words :

引言
    隨著FPGA(Field Prograromable Gate Array,現場可編程門陣列)技術的迅速發展,SOPC(Systam On a Prograromable Chip,可編程片上系統)作為一種特殊的嵌入式微處理器系統,已逐漸成為一個新興的技術方向。SOPC融合了SoC和FPGA各自的優點,并具備軟硬件在系統可編程、可裁減、可擴充、可升級的功能。其核心是在FPGA上實現的嵌入式微處理器核,而如何針對特定的微處理器選擇合適的嵌入式操作系統是SOPC開發的難點之一。本文針對Xilinx公司的MicroBlaze軟核,介紹了PetaLinux嵌入式操作系統及其移植方法,研究了PetaLinux的相關配置和啟動方案。

1 基于MicroBlaze處理器的系統設計
1.1 MicroBlaze處理器簡介
    MicroBlaze軟核處理器是一種針對Xilinx FPGA器件而優化的功能強大的微處理器。它內部采用RISC架構的32位指令和數據總線,支持CoreConnect片上總線的標準外設計集合,具有兼容性和重復利用性,且可根據性能需求和邏輯區域成本任意裁減,極大地擴展了應用范圍,其最精簡的核只需要將近400個Slice。
    MicroBlaze的CoreConnect總線、它能夠將FPGA內各種不同的IP核連接到一起構成一個完整的系統。CoreConnect總線是一個總線標準的集合,它包括PLB總線(Processor Local Bus,處理器本地總線),LMB總線(Local Memory Bus,高速本地存儲器總線),FSL(Fast Simplex Link,快速單連接)總線,以及XCL(Xilinx CacheLink)總線等。
1.2 系統結構和外部設備概述
    本系統主要是在Virtex-4開發板上構建一個以MicroBlaze處理器為中心的嵌入式信號處理系統,在FPGA內部實現系統的總線架構、數據存儲、地址譯碼、外設接口等系統部件和功能。各功能部件在FPGA內部都以IP核的形式構建并連接,整個系統的結構框圖如圖1所示。

a.JPG


    其中,SysACE用于存放文件系統和應用程序配置文件,INTC用來實現中斷控制;GPIO和UART 16550用于系統調試,自定義IP核DDC用來實現數字接收機下變頻功能,這些外設通過PLB總線與MicroBlaze處理器和DDR相連;用于快速傅里葉變換的自定義IP核FFT通過FSL總線與Micr-oBlaze內部通用寄存器直接相連,實現了數據的快速傳輸;DDR通過XCL總線與MicroBlaze處理器相連,實現了MicroBlaze處理器對片外存儲器的高速訪問。
1.3 嵌入式操作系統的選擇
    選用PetaLinux嵌入式操作系統。它是PetaLogix公司專門針對FPGA的片上系統設計的嵌入式Linux開發套件,在滿足應用工程的邏輯編程能力和對嵌入式Linux要求的同時,可極大地縮短產品開發周期。PetaLinux作為專門針對于Xilinx FPGA的嵌入式Linux解決方案,不但提供了專門的BSP生成器,而且提供了眾多的參考設計,可以幫助設計者快速掌握PetaLinux的配置方法。PelaLinux內核正在不斷的完善之中,且不斷地加入基于Xilinx FPGA嵌入式系統IP核的設備驅動,比如XilinxUSB、SysACE、FSL總線設備驅動、10/100/1000M三態以太網MAC等。這些設備驅動極大地減輕了嵌入式系統開發者的工作量,縮短了產品開發的周期。

2 PetaLinux系統移植
    在SOPC硬件系統構建完成后,就要針對此結構配置操作系統內核,下面介紹具體步驟。
2.1 建立交叉編譯環境
    嵌入式系統開發一般采用交叉編譯的方法,即在宿主機上對內核和應用程序進行編譯,生成目標機處理器可執行的二進制位流文件,將此文件下載到目標機運行。PetaLinux針對MicroBlaze處理器建立了交叉編譯器,運行source./settings.sh腳本,系統會自動建立交叉環境。
2.2 建立硬件平臺
    PetaLinux為每個應用工程建立一個文件夾,里面保存該工程的硬件配置。在移植PetaLinux時,只需選擇相應的硬件平臺,內核就會讀取該工程文件夾下的配置文件。使用PetaLinux-new-platform命令建立硬件平臺,如果使用MMU(虛擬內存管理單元),則在此命令后添加-m選項。硬件平臺建立起來后,運行make menuconfig命令,在Vendor/Product Seletion選項中,選擇該硬件平臺。
    另外,還需將在EDK下生成的配置文件轉換成Linux操作系統可以識別的格式。在工程文件夾下運行PetaLinux-copy-autoconfig命令,自動完成格式轉換,并拷貝配置文件到已選擇的工程文件夾下。
2.3 添加自定義設備驅動
    本系統自定義了IP核,因此必須開發驅動程序并將其添加到PetaLinux配置中。添加自定義設備驅動主要步驟如下:
    ①在平臺配置目錄下Makefile文件中添加語句platobj-$(CONFIG_PETALOGIX_DDC)+=ddc.o和$(obj)/ddc.o:.config使設備初始化函數ddc.C與內核配置相關聯;
    ②在驅動程序所在目錄下的Makefile文件中添加obj-$(CONFIG_PETALOGIX_DDC)+=ddc_adapter.o使設備驅動程序ddc_adapter.c與內核配置相關聯;
    ③修改設備驅動程序所在目錄下的Kconfig文件,使配置內核時可以選擇該設備驅動,并添加以下語句:
b.JPG
    通過以上文件的修改,就可以在配置PetaLinux內核時選擇自定義的設備驅動。
2.4 配置PetaLinux內核
    由于Linux內核的可裁減性,能夠方便地對內核進行修改、裁減、編譯,最終移植到一個嵌入式系統中。運行圖形編輯工具make menuc-onfig命令,對內核和系統環境進行配置。
    在內核配置的設備驅動選項中,一定要選擇與系統硬件配置一致的硬件設備驅動,否則內核編譯時就會出錯。針對本系統的硬件配置,主要配置以下幾項驅動:
    ①[Block devices]塊設備。選擇Xilinx SystemACEsupport。
    ②[Misc device]混雜設備。選擇FSL FIFO driver,然后進入FSL Channel Selection,選擇FIFO on FSLO,并選擇自添加設備驅動Pet-aLogix DDC101 Driver。
    ③[Network device support]網絡設備。選擇Ethernet(1000Mbit)子菜單中的Xilinx 10/100/1000 LLTEMAC support。
    ④[Character devices]字符設備。選擇Serial drivers子菜單中的8250/16550 and compatible serial support和Console on 8250/16550 and compatible serial port。
    文件系統選項中,默認選擇了ext2、romfs和cramfs文件系統,其他文件系統可以根據需要自行選擇。本系統需要掛載DOS文件系統的CF卡,因此進行以下配置:
    ①[DOS/FAT/NT Filesystems]。選擇MSDOS fssupport。
    ②[Native Language Support]。選擇Codepage 437(United States,Canada)。
    內核配置中的其他配置可以根據目標系統的不同靈活配置,配置完成后保存退出,自動進入系統環境配置菜單。系統環境配置是對Peta-Linux的屬性、命令進行配置,主要有以下幾個選項:
    ①[System Settings]系統設置。配置系統的網絡地址、默認用戶名、默認登陸密碼和所用根文件系統等內容。
    ②Core Applications]內核應用。主要配置內核的常用特性。
    ③[Network Applications]網絡應用。配置網絡應用時的相關命令。
    ④[Miscellaneous Applications]混雜應用。配置系統內核中的命令。
    ⑤[BusyBox]。配置系統內核中的命令。
    PetaLinux已經設置好了編譯規則,因此配置完成后,依次執行命令make dep、make clean、make all,建立文件依賴關系,清除舊的文件,編譯內核,生成內核image。

3 PetaLinux啟動方案
    經過編譯的PetaLinux內核image文件主要有image.bin、image.elf、image.ub。根據選擇image文件的不同,PetaLinux有4種啟動方案:XMD下載啟動、TFTP網絡下載啟動、Flash啟動和SysACE CF卡啟動。其中,XMD和TFTP網絡下載啟動方案,在每次系統上電后都必須重新下載,適用于系統調試;Flash啟動方案在系統上電后自動從Flash中讀取配置文件,但Flash燒寫速度較慢,更改系統配置較為不便。因此,本系統選用SysACECF卡啟動方案。
    使用SysACE CF卡啟動PetaLinux,先將硬件比特流文件和image.elf制作成ACE文件,再復制到CF卡中,配置CF卡啟動PetaLinux。制作ACE文件,可在EDKShell窗口運行命令:
    xmd-tcl genace.tcl(命令工具)
    -jprog-board m1402(所需的開發板)
    -hw implementation/download.bit(生成的比特流文件)
    -elf image.elf(編譯Linux內核生成的可執行網表文件)
    -ace system.ace(需生成的ACE文件)
    成功后,適合于ML-402開發板的ACE文件就生成了。
    Linux運行需要根文件系統的支持,啟動時必須加載文件系統以支持系統的運行,而image.elf中不包含文件系統。因此,使用SysACE CF卡啟動時必須手動加載文件系統。在編譯PetaLinux內核時,已經生成了以romfs文件夾為名稱的文件系統,所以只需將CF卡分區和格式化,然后掛載此文件系統。具體步驟如下:
    ①將CF卡掛載到Linux系統中,運行命令fdisk/dev/sda把CF卡分成3個區。第1分區存放system.ace文件,第2分區為Linux Swap交換分區,第3分區存放根文件系統。
    ②Linux下格式化第3分區為ext2文件系統,運行命令mke2fs/dev/sda3。在/ete/fstab下輸入命令/dev/sda3/mnt/rootfs auto defaults,user,noauto 0 0。把設備sda3掛在/mnt/rootfs文件下,文件系統為默認的ext2,普通用戶,能掛載,不轉儲,啟動時不掃描文件系統。通過命令mount/mnt/rootfs掛載該目錄,這樣就可以把根文件系統rootfs拷貝到CF卡的該分區上。
    ③Windows下格式化第1分區為FAT32文件系統,把system.ace復制到這個分區。
    ④Linux下格式化第2分區為交換分區,運行命令mkswap/dev/sda2。
    一切準備就緒后,插入CF卡,開啟電源,就可以從CF卡啟動PetaLinux。

結語
    本文介紹了一種可用于MicroBlaze處理器的嵌入式Linux操作系統——PetaLinux,并詳細討論了其內核配置和啟動方案。通過移植Peta-Linux,本文開發的SOPC可以直接用于實際工程。該嵌入式操作系統移植快速、簡單,由于其基于Linux2.6內核,可以保證較高的穩定性。因此,在SOPC應用日益復雜的背景下具有較高的實用價值。
    本文創新點:實現了PetaLinux在MicroBlaze處理器的移植,并成功實現PetaLinux中自定義硬件設備驅動的添加和SysACE CF卡的啟動方案。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产日韩欧美电影在线观看| 一本久久a久久免费精品不卡| 欧美美女喷水视频| 久久尤物视频| 久久亚洲综合| 噜噜噜噜噜久久久久久91| 久久精品网址| 久久久美女艺术照精彩视频福利播放| 欧美专区亚洲专区| 欧美主播一区二区三区美女 久久精品人| 亚洲一区三区电影在线观看| 亚洲伊人伊色伊影伊综合网| 亚洲伊人观看| 欧美一区二区三区电影在线观看| 欧美在线免费播放| 久久精品72免费观看| 久久精品女人天堂| 麻豆久久精品| 欧美福利视频在线观看| 欧美精品久久99| 欧美日韩中文在线| 国产精品久久久久久久久久久久| 国产乱码精品一区二区三区不卡| 国产欧美日韩精品一区| 国产亚洲成av人在线观看导航| 国产主播在线一区| 亚洲成人在线网| 日韩视频免费观看高清在线视频| 亚洲天天影视| 西西裸体人体做爰大胆久久久| 欧美专区在线观看| 亚洲人成人一区二区在线观看| 日韩一区二区免费高清| 亚洲男人的天堂在线观看| 欧美亚洲在线播放| 久久网站热最新地址| 欧美黄免费看| 国产精品国产三级欧美二区| 国产在线国偷精品产拍免费yy| 亚洲二区精品| 亚洲天堂偷拍| 亚洲国产乱码最新视频| 一区二区三区欧美在线| 性欧美1819sex性高清| 久久亚洲高清| 欧美日韩国产一区二区| 国产精品稀缺呦系列在线| 黄色成人av网站| 99精品久久| 欧美在线观看视频| 夜夜嗨av一区二区三区四季av| 午夜在线一区| 欧美va亚洲va国产综合| 国产精品国产三级国产aⅴ无密码| 国产一区二区三区免费观看| 91久久精品国产91久久| 亚洲欧美国产高清va在线播| 亚洲人www| 性做久久久久久久免费看| 男女精品网站| 国产精品一区二区欧美| 亚洲高清一二三区| 亚洲在线成人精品| 日韩写真视频在线观看| 久久国产日韩欧美| 欧美三级在线视频| 尤妮丝一区二区裸体视频| 亚洲一区bb| 亚洲精品久久久久久久久久久久久 | 99精品欧美一区二区三区综合在线 | 亚洲欧美中文另类| 欧美二区乱c少妇| 国产日韩亚洲欧美| 99精品久久久| 亚洲人成久久| 久久疯狂做爰流白浆xx| 欧美午夜三级| 亚洲欧洲三级| 亚洲国产高清在线| 欧美一区二区三区免费在线看| 欧美日韩国产91| 亚洲风情亚aⅴ在线发布| 小辣椒精品导航| 亚洲综合激情| 欧美激情国产精品| 黄色国产精品| 欧美一级大片在线免费观看| 亚洲欧美日韩精品久久亚洲区| 欧美伦理91| **网站欧美大片在线观看| 欧美一区二区精品久久911| 亚洲欧美国产三级| 欧美日韩一区二区精品| 亚洲二区三区四区| 久久精品一区二区国产| 久久精品成人一区二区三区蜜臀| 国产精品黄页免费高清在线观看| 亚洲精品免费一区二区三区| 亚洲黄一区二区| 久久亚洲欧美国产精品乐播| 国产区日韩欧美| 亚洲免费在线视频| 亚洲影视在线| 欧美小视频在线| 在线一区欧美| 亚洲婷婷综合久久一本伊一区| 欧美日韩国产成人高清视频| 亚洲青涩在线| 亚洲精品日韩精品| 欧美成人一区二区三区片免费 | 亚洲国产免费看| 亚洲国产一区二区精品专区| 久久躁狠狠躁夜夜爽| 国产在线视频欧美一区二区三区| 欧美一区二粉嫩精品国产一线天| 香蕉久久夜色精品国产| 国产精品美女| 亚洲欧美激情精品一区二区| 午夜精品免费在线| 国产精品入口夜色视频大尺度 | 黄色精品一区| 久久精品视频在线免费观看| 久久躁日日躁aaaaxxxx| 在线观看视频日韩| 亚洲日本中文| 欧美激情久久久久| 亚洲精品一区二区在线观看| 亚洲私人影吧| 国产欧美日韩在线| 久久精品女人的天堂av| 麻豆精品一区二区av白丝在线| 亚洲国产精品美女| 一本色道久久88亚洲综合88| 欧美日韩亚洲一区二区三区四区 | 欧美在线不卡| 韩国精品在线观看| 亚洲三级电影在线观看| 欧美日韩精品免费观看视频完整| 亚洲桃色在线一区| av72成人在线| 欧美一区二区国产| 黄色成人免费观看| aa级大片欧美三级| 国产精品免费电影| 欧美一区1区三区3区公司| 美女视频黄免费的久久| 亚洲日本电影在线| 亚洲一区二区免费视频| 国产精品亚洲综合一区在线观看| 欧美中文字幕视频| 欧美激情第三页| 亚洲五月婷婷| 久久一二三四| 亚洲精品一二区| 性娇小13――14欧美| 在线观看日韩www视频免费| 一区二区三区国产在线观看| 国产麻豆精品theporn| 久久9热精品视频| 欧美精品一卡二卡| 午夜精品久久久久久久久久久久久 | 久久国产精品黑丝| 亚洲国产视频一区| 亚洲欧美日韩国产成人| 韩日午夜在线资源一区二区| 一区二区三区视频在线观看| 国产日韩欧美精品综合| 亚洲精品一品区二品区三品区| 欧美午夜欧美| 亚洲国产婷婷香蕉久久久久久99 | 亚洲一区在线观看免费观看电影高清| 久久综合激情| 亚洲性av在线| 欧美成人精品| 欧美一区网站| 欧美午夜激情小视频| 久久成人免费电影| 国产精品成人免费精品自在线观看| 亚洲第一精品在线| 国产精品videosex极品| 最新中文字幕亚洲| 国产欧美日韩综合精品二区| 999在线观看精品免费不卡网站| 国产视频自拍一区| 中文高清一区| 在线免费高清一区二区三区| 欧美一区二区三区在线| 亚洲毛片在线观看.| 久久一区二区三区国产精品| 亚洲婷婷国产精品电影人久久| 欧美成人日韩| 欧美一区免费视频| 国产精品国产三级国产a| 亚洲精品视频二区| 国产一区二区毛片| 香蕉国产精品偷在线观看不卡| 亚洲精品免费一二三区| 老色鬼久久亚洲一区二区| 午夜精品区一区二区三| 欧美日韩在线视频观看|