PetaLinux操作系統在MicroBlaze系統中的移植解析
大多使用linux的人都對WINE程序比較熟悉,WINE程序是可以在不需要Windows的情況下使用Windows的軟件。下面是小編整理的關於PetaLinux操作系統在MicroBlaze系統中的移植,希望大家認真閲讀!
FPGA生產商Xilinx公司提供了全面的嵌入式處理器解決方案,包括PowerPC、MicroBlaze和PicoBlaze三款RISC結構的處理器核。其中,MicroBlaze是32位嵌入式軟核處理器解決方案,支持CoreConnect總線的標準外設集合,具有兼容性、可配置性以及重複利用性,能夠根據成本和性能要求提供高性價比的處理性能。
支持MicroBlaze處理器的嵌入式操作系統很多,比如uc/os—II、BuleCat ME Linux、RTA MB、ThreadX、PetaLinux等等。本文介紹了PetaLogix公司發佈的PetaLinux操作系統,並分析了Xilinx公司所使用BSP自動生成技術。最後總結出PetaLinux操作系統在MicroBlaze平台上的移植方法和步驟。
1 PetaLinux操作系統介紹
PetaLinux操作系統是面向MicroBlaze軟核處理器的全功能嵌入式Linux操作系統。其發佈採用了“all inone”的整合方式,將針對MicroBlaze處理器定製的Linux2.4/z.6內核源碼、U—boot源碼、相關的開發工具以及開發板參考硬件平台配置,集成在一個壓縮包內發行,極大地方便了開發人員的使用。該操作系統主要具有以下幾大特點:
①針對FPGA嵌入式開發的特點採用了板級支持包。
②自動生成工具,可以根據用户定義的嵌入式硬件平台信息自動生成板級支持包,簡化了操作系統的移植。
③PetaLinux發佈的源碼樹中包含了部分常用IP核的驅動程序(如GPIO、EthernetLite、UartLite等),減少了用户移植、編寫驅動程序的工作量。
④根據設計的不同需求,可以通過配置菜單將PetaLinux配置成without MMU support和MMU support兩種版本,即ttClinux和標準Linux。
PetaLinux包含了大量的腳本命令(如petalinux-copy-autoconfig、petalinux-new-platform、petalinux-new—app等),給用户的使用提供了便捷條件。
頂級目錄下各子目錄的結構和功能如圖1所示。在PetaLinux的目錄結構中有硬件、軟件和工具3個頂級目錄,分別包含與之相關的文件和代碼。針對宿主機操作系統不同的shell類型,具有C shell和Bash shell兩種PetaLinux環境變量設置腳本。
2 基於MLD的BSP生成技術
在嵌入式系統中,BSP(Board Support Package,板級支持包)是指給目標板提供特定操作系統支持的`代碼,介於底層硬件和操作系統之間,是完成嵌入式操作系統移植和相關驅動程序開發的關鍵。
Xilinx公司在嵌入式開發軟件)a玲中採用了以MLD(Microprocessor Library Definition,微處理器庫定義)專有格式為基礎的動態可定製的BSP生成技術,實現了BSP和軟件庫的自動化生成。每個操作系統和庫都有各自唯一的MLD文件和與之相關的1℃L(Tool Command Language,工具命令語言>文件。MLD文件是數據定義文件,通過XPS中設置的一組參數來定義庫和操作系統。這些參數值將保存在XPS內部數據庫中,在輸出生成時供腳本文件使用。TCL文件是腳本文件,包含了一組可以訪問整個設計數據庫的程序。XPS軟件通過調用它來創建定製BSP。
3 PetaLinux內核的移植方法
3.1搭建交叉開發環境
為了便於在Windows平台下開發基於PetaLinux的嵌入式系統,本文利用VMWare虛擬機軟件來搭建交叉開發環境。首先,在主機的Windows平台上安裝虛擬機軟件,然後通過虛擬機來安裝紅帽子企業版Red Hat Enterprise 4,最後在桌面Linux系統中安裝PetaLinux源碼樹。Windows和Linux兩種系統間的數據交換通過設置共享目錄來實現。
PetaIJnux操作系統採用整合方式發佈,下載的壓縮包內已經包含了完整的交叉開發工具鏈,安裝方法非常簡單。
(1)建立工作目錄
在Linux操作系統的終端模式下運行“mkdir/home/embed”命令,新建embed文件夾作為嵌入式開發的工作目錄。
-
Linux權限管理基本知識大全
Linux系統有什麼基本權限,權限管理命令是什麼?下面跟yjbys小編一起來看看吧!一、基本權限linux權限機制採用UGO模式。其中u(user)表示所屬用户、g(group)表示所屬組、o(other)表示除了所屬用户、所屬組之外的情況。u、g、o都有讀(read)、寫(write)、執行(excute...
-
Linux解壓縮命令詳解2016
在Linux下的tar壓縮解壓縮命令是什麼呢?有什麼是必須記得的命令嗎?下面跟yjbys小編一起來學習一下吧!tar-c:建立壓縮檔案-x:解壓-t:查看內容-r:向壓縮歸檔文件末尾追加文件-u:更新原壓縮包中的文件這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但...
-
學習Linux的一些建議
RHCE的難度可算是最高,因為在很多人的心目中,RHCE是繼CCIE之後另一張最難考取的專業證書。下面是小編整理的關於學習Linux的一些建議,歡迎大家參考!為什麼要得到它是那麼困難?當然是要通過RHCE的LabTest測驗部份,除此之外,其考試費亦相當昂貴,每一次參加RHCE的考試費...
-
linux配置dns服務器配置命令
Linux系統的DNS服務器怎麼配置,配置命令有哪些?下面跟yjbys小編一起來了解一下吧!一、實驗目的熟悉Linux系統中DNS服務器的配置方法。理解配置過程的基本步驟的.作用。二、實驗任務(1)建立正向搜索區域,為網絡個台服務器建立主機記錄、別名記錄。為網絡建立郵件...
相關文章
- 英語閲讀:African Union Leaders Talk Mali, Chinese Investmen
- 高中英語作文:My approach to difficulties in learning
- Liu Xiang in a TV Commercial Film英語美文
- Linux系統是怎麼辨別gmtime和localtime
- 國中英語作文To Bea Computer Expert Is My Ideal
- 英文短文:Spill Some Oil? Magnetize It for Cleanup
- 託福英語寫作範文:Examinations exert a pernicious influence on educat
- linux系統命令makeclean的用法講解
- Module 3 Unit 2 I love my pocket calculator説課稿
- Win10系統提示Officebackgroundtaskhandler.exe彈窗問題的解決方