petalinux笔记[通俗易懂]

petalinux笔记[通俗易懂]记录一下这两天用正点原子开发板学petalinux的过程,众所周知,ZYNQ可以跑逻辑的FPGA,也可以跑裸机的SDK代码,还能跑个linux系统。在SDK开发中,只是在塔好的FPGA上跑一些简单的c代码,还没有安装上一个系统。1.首先是petalinux2018.3版本的安装建议参考正点原子的安装方法,注意事项就是使用ubuntu16.04版本而不是ubuntu18。要么就用ubuntu16.04配上petalin2018.3版本,要么就是ubuntu18配上pet…


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

        记录一下这两天用正点原子开发板学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系统中加载这个模块并创建对应的设备节点文件,最后用这个设备模块来测试我们自己编写的对应驱动测试程序。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194903.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • STM32与S3C2440的区别

    STM32与S3C2440的区别在学习嵌入式的路上,我们可能会接触到这两个比较典型的MCU。其中最大的区别就是S3C2440能跑linux操作系统,常常作为学习嵌入式linux的硬件平台。可能大家会问既然S3C2440能跑linux操作系统,似乎比stm32厉害多了,为什么不直接去学习S3C2440呢?下面我就大概解释一下大家遇到的困惑:1.先来说说stm32stm32是ST公司推出的基于Cortex-M3内核的

    2022年4月30日
  • initializecomponent()什么意思(丹参的功效与作用)

    初始你的控件的初始值用的,一般说来你拖放一个控件到Vs.net里,并设置相应的控件属性值,这些都由Vs.net自动放在InitializeComponent()这个函数里,明白了吧InitializeComponent从字面上理解就是初始化组件的意思:)

    2022年4月14日
  • Unity3d的安装

    Unity3d的安装**Unity3d的安装**1.在线安装a.获取在线安装程序第一步:进入官网:https://unity.com/cn第二步:在主页的底部点击下载第三步:来到UnityStore,拖到该页面的最底部,点击资源下面的Unity旧版本第四步:来到Unity下载存档,拖动页面可以看到很多版本的Unity第五步:选择一个版本,这里我们选择Unity2017.x中的2017.1.0…

    2022年6月27日
  • JSP实现留言板「建议收藏」

    JSP实现留言板「建议收藏」JSP实现留言板submitMsg.jsp<%@pageimport=”java.util.ArrayList”%><%@pageimport=”bean.Message”%><%@pageimport=”java.util.List”%><%@pagelanguage=”java”contentType=”text/html;…

    2022年10月9日
  • node.js第十课(HTTPserver)

    node.js第十课(HTTPserver)

    2021年12月5日
  • oracle触发器类型

    http://www.cnblogs.com/roucheng/p/3506033.html触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异

    2021年12月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号