Petalinux学习笔记一(流程)

我的环境是Windows10+WSL2+Petalinux,不想搞一套Ubuntu的独立系统。关于如何搭建,可以参考我的另外一个笔记。

在windows开始菜单右边的搜索框里输入ubuntu或wsl,或者powershell里面输入bash,根据自己喜好选择

1,创建工程

先source petalinux的设置脚本

$source /opt/Xilinx/p201/settings.sh

以模板创建空工程,或者以BSP来创建工程。我这里用Xilinx ZCU104开发板,用104的BSP建工程。详细见UG1157

$petalinux-create -t project -s /opt/xilinx/p201/bsp/z104.bsp

  1. 导入硬件XSA文件,2019.1以前是HDF文件,配置一下uart,sd,ethernet

$petalinux-config –get-hw-description=../

默认以太网是打开dhcp client的,如果没有,建议打开,每退出一层菜单,需要连续按两次ESC键,配置完,退出最后菜单时候,提示保存配置,选YES

配置rootfs,这里我们把python选上

$petalinux-config -c rootfs

配置内核

记得提前打开Xlaunch,因为配置内核的时候会调用gnome-terminal打开窗口

$petalinux-config -c kernel

$petalinux-build

由于用的是BSP创建工程,我们早期修改安装目录的petalinuxbsp.conf里面的DL_DIR,SSTATE_DIR不会被传递过来,这个国内网络有时可能要个把小时不止,马上终止掉,修改本工程目录下的petalinuxbsp.conf

重新再来,发现快多了!重点检查一下网络接口配置,默认是选上的。

Build工程

       可以发现,WSL2用全了主机的线程,我的计算机是4核8线程的APU.

$petalinux-build

5, 下载上板测试

由于WSL2目前还不支持串口,USB,所以没法直接通过JTAG下载,如果你是跑的VM或者实体ubuntu,那可以用如下命令下载UBOOT或KERNEL

       $peatlinux-boot –jtag –uboot  

       $petalinux-boot –jtag –kernel

6,打包boot.bin

       所有生成的最终文件都在images/linux目录下,工具也会自动拷贝一份到/tftpboot下

$petalinux-package --boot --fsbl images/linux/zynqmp_fsbl.elf --pmufw images/linux/pmufw.elf  --fpga images/linux/system.bit  --u-boot 

UG1157关于package有如下例子:

可以看到,我们package了fsbl,pmufw,bl131,dtb,u-boot,当然也可以加—kernel把内核也打包进来。

7,分区SD卡

       用Windows10自带磁盘管理比较难实现ubuntu里面的fdisk功能,但是Windows还带有命令行的分区工具diskpart,运行它。

输入help可以查看有哪些命令可用

先list一下磁盘,我这里SD卡是磁盘6,大家一定要小心,选错盘,数据丢了是很难找回来的啊!先把SD分区全清掉

创建2个主分区,一个4GB,一个32GB

激活分区一

退出diskpart, 格式化,Petalinux需要boot分区是FAT32格式

把刚才生成的BOOT.BIN文件跟image.ub拷贝到SD卡,插卡到板上,设置好ZCU104的配置开关为SD启动,打开Hyperterminal,设置好串口

U-BOOT起来后,网络正常的话,那以后调试就很方便了。

打开TFTP软件,这个软件是可以开DHCP SERVER服务的,都设置好。

bootp image.ub 从tftpboot目录传内核文件到内存,bootp会自动去获取ip地址

 

在超级终端上,输入bootm,从内存启动(刚才load进来的image.ub)。关于uboot的命令,可以自行网络搜索一下。

       如果要更新SD卡的BOOT.BIN文件,也可以在UBOOT下操作,先通过TFTP获取BOOT.BIN文件,记得要先把BOOT.BIN拷贝到tftpboot目录。

tftpboot BOOT.BIN    或  bootp BOOT.BIN

记住tftp最开始会显示拷贝到内存的地址,比如0x8000000,结束的时候会显示文件长度,比如98105462 (5D8 F876 HEX)

       输入命令,把BOOT.BIN写入SD卡分区1

       fatwrite mmc  0  0x8000000  BOOT.BIN   0x5D8F876

       成功后会显示写入长度(十进制)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值