ZYNQ_linux學習筆記(待整理)
阿新 • • 發佈:2021-01-28
- ZYNQ=PL(FPGA)+PS(2*Cortex-A9 ARM核心)
- 執行Linux的要求:有MMU(可以進行實體地址到虛擬地址的對映和翻譯,Cortex-A9有MMU)
#查詢win和Ubuntu的共享資料夾
cd /mnt/hgfs
#ls後白色的可執行檔案代表我們沒有執行許可權,可以
chmod a+x 檔名
#之後變成綠色,有執行權
#每次開啟新終端時會執行一個指令碼,通過下面命令可以編輯該指令碼,插入自己期望的命令
vi ~/.bashrc
- petalinux設計流程
1、在Windows平臺建立工程,匯出hdf檔案
2、建立工程
petalinux-create -t project --template zynq -n ALIENTEK-ZYNQ
3、將hdf匯入工程(會自動彈出字元圖形化配置介面,可以設定串列埠除錯助手)
petalinux-config --get-hw-description ../hdf/Navigator_7020.sdk/
4、配置
petalinux-config -c u-boot //配置u-boot
petalinux-config -c kernel //配置核心
petalinux-config -c u-boot //配置根檔案系統
5、編譯工程
可以編譯整個petalinux工程(包括U-boot、kernel、裝置樹、rootfs、fsbl、bit流)
也可以單獨編譯上述各項
petalinux-build//編譯整個工程 petalinux-build-c kernel //編譯核心
5.5、製作啟動映象檔案:boot.bin(多個映象檔案整合)
對於zynq:boot.bin = fsbl映象檔案+bitstream檔案(不用PL就不需要)+使用者程式映象檔案(SDK中的c程式碼)
petalinux-package --boot --fsbl --fpga --u-boot --force --boot 生成啟動映象 --fsbl 用於指定fsbl映象檔案路徑 zynq_fsbl.elf --fpga 指定bitstream檔案路徑 system.bit --u-boot 指定u-boot檔案路徑(使用者程式映象)u-boot.elf --force 強制覆蓋本路徑下的生成檔案
對於zynq啟動嵌入式Linux需要image.ub(rootfs+kernel+裝置樹)和boot.bin (rootfs+fsbl+bit流)
5.6 製作SD啟動卡
將映象檔案image.ub和boot.bin 拷貝到SD卡的FAT32分割槽,插入板載的TF卡槽
df -h //檢視sd卡
umount /media/zynq/boot //解除安裝sd卡 umount /掛載點
(1)建立個FAT分割槽
sudo fdisk /dev/sdx
(2)格式化
sudo mkfs.vfat -F 32 -n boot /dev/sdb1
(3)拷貝image.ub和boot.bin
cp -a image.ub boot.bin /media/zynq/boot
(4)同步、解除安裝
sync
umount /media/zynq/boot
6、啟動開發板
將SD卡插入卡槽,開啟串列埠終端軟體(MobaXterm)
完全啟動後會進入Linux系統 列印Linux命令列
若板子沒有正常啟動進入Linux系統,而是停留在了U-boot階段(列印顯示zynq >)此時執行下列命令回覆U-boot環境變數,在執行boot命令啟動核心。
env default -a
預設的使用者名稱和密碼都是root