1. 程式人生 > >讀懂 PetaLinux:讓 Linux 在 Zynq 上輕松起“跑”(轉)

讀懂 PetaLinux:讓 Linux 在 Zynq 上輕松起“跑”(轉)

自己的 化工 鏡像 雲端 vnet idt 流程 驅動 命令行

對於Zynq這樣一個“ARM+可編程邏輯”異構處理系統我們已經不陌生,其創新性大家也有目共睹。不過想要讓更多的應用享受到這一“創新”帶來的紅利,讓其真正“落地”則需要大量系統性的工作,去營造一個完善的生態系統。從之前幾篇文章中,我們已經看到Xilinx在這方面做出的努力,特別是不斷叠代的先進的硬件開發(Vivado)和軟件開發(Xilinx SDK)工具。而在嵌入式開發中,還有一個非常重要的環節需要關註,這就是操作系統。

對於日益智能和復雜的嵌入式系統來說,通過一個嵌入式操作系統來統領軟硬件資源的調度和控制是必然之選,如果需要更為全面的功能,開發者就要考慮嵌入式Linux這樣體量更“大”更復雜的OS。而面對Zynq這樣一個大家都想“嘗鮮”的創新硬件處理平臺,如果能有一種便捷的方式,讓嵌入式Linux在它上面“跑”起來,當然是開發者的福利。

技術分享圖片

圖1,基於Zynq平臺的嵌入式系統結構

這樣的事兒,Xilinx早已想到並著手布局了,最終呈現在開發者面前的就是Petalinux。PetaLinux是一個工具集,包括了Linux, u-boot的源代碼、庫,以及Yocto Recipes,可以讓客戶很方便地配置、Build以及Deploy Linux。PetaLinux支持Zynq UltraScale+ MPSoC、 Zynq-7000全可編程SoC,以及MicroBlaze,可與Xilinx硬件設計工具Vivado協同工作,大大簡化了Linux系統的開發。

使用PetaLinux工具,開發人員可以定制u-boot、Linux內核或Linux應用,開發者還可以通過網絡或JTAG在隨附的全系統仿真器 (QEMU) 或物理硬件上添加新的內核、器件驅動程序、應用和庫,以及啟動並測試軟件協議棧,完成從系統啟動到執行的所有操作。在主機端提供的PetaLinux工具包括:

  • 命令行接界面
  • 應用、器件驅動程序、庫生成器以及開發模板
  • 可引導的系統鏡像生成器
  • 調試代理程序
  • GCC工具
  • 集成的QEMU全系統仿真器
  • 自動化工具
  • 支持Xilinx系統調試器
    技術分享圖片

    圖2,Petalinux工具

    值得一提的是,為了能夠讓PetaLinux這一“簡便”工具的使用變得更為簡便,Avnet在近日舉辦的MiniZed Speedway培訓活動中,專門設置了一個培訓模塊,從如何安裝PetaLinux開始,全方位講解如何使用PetaLinux在MiniZed板上創建一個嵌入式Linux,並進行應用開發。培訓中重點的知識點包括:

  • Petalinux概覽
  • Petalinux設計流程介紹
  • Yacto項目概述
  • 設備樹(Device Tree)基礎
  • Petalinux用戶應用開發
  • 定制化Petalinux

這次PetaLinux工具培訓相關的實驗環節,更突出實操性,學員可以學習到如何使用PetaLinux工具導入自己的FPGA硬件設計,集成用戶應用程序,以及配置和定制化Linux。在實驗中,還特別通過一個具體的物聯網應用範例,指導用戶使用範例提供的應用代碼通過TE Connectivity的HTU21D I2C傳感器獲取數據,並將周期性發布的傳感器數據利用MQTT協議將其傳送至雲端。通過實驗,學員可以掌握的開發技能包括:

  • 工具安裝:安裝虛擬機-VirtualBox、Ubuntu、Vivado、SDK和Petalinux
  • 使用Petalinux創建、配置和創建最小化的Linux
  • 使用MiniZed經過Wi-Fi鏈接至LAN
  • 使用Xilinx SDK為MiniZed創建Linux應用
  • IoT應用實例:將MQTT集成到一個Linux 應用中

可以說,PetaLinux為Zynq應用開發提供了有力的助推,“讀”懂了TA,就可讓Zynq去應對更多應用場景的需要,也讓更多基於嵌入式 Linux的用戶應用在Zynq上暢快地奔跑起來!

http://xilinx.eetrend.com/

讀懂 PetaLinux:讓 Linux 在 Zynq 上輕松起“跑”(轉)