petalinux笔记

        记录一下这两天用正点原子开发板学petalinux的过程,众所周知,ZYNQ可以跑逻辑的FPGA,也可以跑裸机的SDK代码,还能跑个linux系统。在SDK开发中,只是在搭好的FPGA上跑一些简单的c代码,还没有安装上一个系统。

1.首先是petalinux2018.3版本的安装

        建议参考正点原子的安装方法,注意事项就是使用ubuntu16.04版本而不是ubuntu18。要么就用ubuntu16.04配上petalin2018.3版本,要么就是ubuntu18配上petalinux2019.1的版本

2.其次是petalinux的使用

        首先得先用vivado搭一个bit(用zynq的ip核)文件出来,然后在ubuntu16.04中进行开发。

主要流程是:

1.搭建vivado工程,配置好zynq核,DDR啥的,得到hdf硬件描述文件;

2.在ubuntu整好petalinux,在shell下source petalinux的settings.sh,打开这个配置好的环境,也可以把这个环境设计为默认启动;

3.petalinux-create -t project --template zynq -n ALIENTEK-ZYNQ 新建工程,然后cd进入工程的文件夹

4.petalinux-config配置,导入hdf文件,在窗口中进行配置,正点原子这里需要修改一下Serial Settings的串口为ps7_uart_0(两个串口一个是ps7_uart_0,一个是RS232/485)。

5.配置内核 petalinux-config -c kernel

6.配置linux根文件系统 petalinux-config -c rootfs

7.修改设备树

8.编译petalinux工程 petalinux-build

9.制作BOOT.BIN文件,使用petalinux-package指令来进行

10.格式化SD卡,两个盘一个是FAT32格式的启动盘,一个是ext4格式的根目录,复制BOOT.BIN即可以。

11.开发板打开sd启动模式(两个no),使用串口连接板卡。

        如果没有路由器,比如我……

        可以先连接板卡,配置一下IP,ifconfig eth0 192.168.1.10,

        再用windows的网络管理把对应的以太网的ip设置为192.168.1.2以及对应的掩码,这里这样设置后开发板和电脑就在一个网段内,可以进行后续的scp以及ssh通信等过程。

3.xsdk的使用

        主要是三种运行的方法,第一种是软件内的TCF Agent,只需要对应开发板的IP就可以运行;

第二种是NFS的文件共享;第三种是ssh的远程连接。

4.uboot移植

        这里主要讲到uboot的具体移植方法,我个人兴趣不大,没有仔细看。

5.linux驱动开发

        首先需要按照它给出的方式,用另外一种方式编译ZYNQ镜像,个人觉得配置的过程相当繁琐……

        配置好后,可以跑一下第一个例子,即字符设备驱动

        使用arm-linux-gnueabihf编译一下驱动程序产生 chrdevbase.ko的驱动模块

        使用scp将文件传输到我们的开发板上

        再用insmod或者modprobe加载模块

        之后可以用lsmod查看加载的mod模块

        再用mknod创建设备节点文件,使用

        ./chrdevbaseApp /dev/chrdevbase 1  测试读操作

        ./chrdevbaseApp /dev/chrdevbase 2  测试写操作

        最后用 rmmod chrdevbase.ko来卸载模块。

        驱动开发需要编写驱动程序以及对应的驱动测试程序,然后通过交叉编译驱动程序,将其编译为ko格式的驱动模块,之后在linux系统中加载这个模块并创建对应的设备节点文件,最后用这个设备模块来测试我们自己编写的对应驱动测试程序。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jun_luo_yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值