petalinux常用命令 及 建立工程

#########################################################################################
. 必須使用su用戶下,才能用jtag下載程序##

#########################################################################################
0.定位目錄
先在shell中找一個準備存放工程的地方,(我的是/media/keith/work),命令行:cd /media/keith/work

1.定位編譯鏈
根據安裝petalinux的路徑:
source /media/keith/work/petalinux/settings.sh

2.創建petalinux工程
在目錄下面,創建一個工程:
petalinux-create --type project --template zynq --name zynq_hb
h1_petalinux_test是工程名,該命令會自動在PRO文件夾裏創建zynq_hb文件夾

3.引用剛纔輸出的硬件描述文件
把之前導出的硬件描述文件system_wrapper.hdf拷貝到虛擬機中的h1_petalinux_test工程文件夾下,然後:
petalinux-config --get-hw-description=/media/keith/work/z7_tmp/bsp
會進入一個配置界面,在裏面我們可以配置一些系統參數,主要的配置包括:啓動方式,啓動存儲器分區表,啓動文件名稱等等,本文暫不對其修改(默認是從SD卡中啓動),然後等待其配置(時間較長),然後就可以輸入petalinux-build來編譯了,是整個工程直接編譯。

4.獲取文件夾權限
在上一步完成後,輸入命令sudo chmod -R 777 /home/hlf獲取文件夾權限(工程文件夾和petalinux的安裝文件夾),否則編譯的時候,會發生錯誤

目前爲止,在shell中的命令既可以以超級用戶su的身份運行也可以以普通用戶的方式運行(建議全部都用普通用戶的方式,免得切換),但是等下編譯u-boot和kernel以及rootfs的時候,必須以普通用戶的身份運行命令行,否則會報錯的

5.編譯u-boot
注意:到此處的時候,不能再用超級用戶了,要切換到普通用戶下,之後的所有操作都在普通用戶下
普通用戶的shell中輸入petalinux-config -c u-boot(依然要事先輸入source /home/hlf/mnt/petalinux/settings.sh命令),然後等待GUI出來,這裏暫時不改動啥,直接save(save爲u-boot.config,名字隨便取但不要留空),然後繼續等(新建工程要等的時間還是比較長的,後來就會好的)
這裏寫圖片描述

6.編譯kernel
命令petalinux-config -c kernel,操作同上(save爲kernel.config)

7.編譯rootfs
命令petalinux-config -c rootfs,操作同上(save爲默認即可)

8.設備樹配置
若要修改,直接在工程文件夾下,Ctr+F搜索.dts就可以找到相關文件,做出相應修改”
暫時默認吧,不修改,按照它自動生成的設備樹

9.編譯工程
輸入命令petalinux-build,等待即可,最後生成的文件在 image/linux下

10.生成BOOT.BIN
把shell定位到image/linux目錄下,執行命令
petalinux-package --boot --format BIN --fsbl zynq_fsbl.elf --fpga system_wrapper.bit --u-boot,在文件夾下就可以發現,多了一個BOOT.BIN

11.使用jtag下載鏡像到板子,需先切換到su
petalinux-package --prebuilt --fpga <FPGA bitstream>
petalinux-boot --jtag --prebuilt 3


12.編譯工具鏈,可以獨立編譯應用
petalinux-build -c meta-toolchain


13.添加一個自己的應用
petalinux-create -t apps --template install --name myapp --enable ,編譯完成後

14.配置內核模塊,關閉版本校驗,避免每次都要重新編譯內核模塊
CONFIG_MODULE_FORCE_LOAD:y

CONFIG_MODVERSIONS:n

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章