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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 用户行为路径分析(User Path Analysis)「建议收藏」

    用户行为路径分析(User Path Analysis)「建议收藏」什么是用户行为路径?用户行为路径即抽象用户在网站或APP中的访问路径。其可用桑基图展现,称为用户路径图。什么是用户行为路径分析?用户路径分析追踪用户从某个开始事件直到结束事件的行为路径,即对用户

    2022年7月2日
  • 基于java的酒店管理系统的设计与实现_java酒店管理系统源码

    基于java的酒店管理系统的设计与实现_java酒店管理系统源码前言:项目是使用Javaswing开发,可实现基础数据维护用户登录、系统首页酒店信息管理、主要模块是开房管理、退房管理、房间信息管理、顾客信息管理等功能。界面设计比较简介、适合作为Java课设设计以及学习技术使用。引言在信息高度发达的今天,酒店业务涉及的各个工作环节已不再仅仅是传统的住宿、结算业务,而是更广、更全面的服务性行业代表。酒店宾馆作为一个服务性行业,从客房的营销即客人的预定开始,到入住登记直到最后退房结账,整个过程应该能够体现以宾客为…

    2022年9月24日
  • acwing-2983. 玩具(计算几何)

    acwing-2983. 玩具(计算几何)计算玩具收纳盒中,每个分区内的玩具数量。约翰的父母有一个烦恼—-约翰每次玩完玩具以后总会将玩具乱扔。他们为约翰准备了一个长方形的玩具收纳盒,用来放他的玩具。但是约翰非常调皮,每次都非常随意的将玩具扔进盒子中,使得所有玩具都随意混在一起,这让约翰难以找到他喜欢的玩具。对此,约翰的父母想出了一个对策,用若干个纸板将收纳盒分隔成若干个分区,这样至少扔到不同分区的玩具之间还是能分开的。下面是一个收纳盒的俯视图示例。1.jpg你的任务是,每当约翰将玩具扔进收纳盒中时,确定每个分区中有多少个玩具。输

    2022年8月9日
  • 解决使用Nginx错误 Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING问题

    解决使用Nginx错误 Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING问题Failedtoloadresource:net::ERR_INCOMPLETE_CHUNKED_ENCODING问题先说解决办法:直接删除Nginx缓存文件即可;问题描述:使用Nginx代理的服务,一直使用正常,突然昨天就访问不了了;通过IP访问和端口能正常访问。原本以为是请求头文件过大导致资源未加载完问题;然后修改了Tomcat中配置中的请求头文件,在Tomcat的…

    2022年10月23日
  • httprunner3源码解读(4)parser.py「建议收藏」

    httprunner3源码解读(4)parser.py「建议收藏」源码结构目录可以看到此模块定义了4个属性和12个函数,我们依次来讲解属性源码分析#匹配http://或https://absolute_http_url_regexp=re.compil

    2022年8月7日
  • 卷积神经网络实现图像识别及过程可视化

    卷积神经网络实现图像识别及过程可视化卷积神经网络实现图像识别及过程可视化本博文提供经典的卷积神经网络实现代码,将CNN的工具类等代码分别封装,并提供接口自行替换使用的模型(可以换成自己的神经网络及图片样本),代码中提供模型保存和读取,并对卷积层的计算结果反卷积还原成图片输出到tensorboard中,最后可以在tensorboard中观察CNN训练的过程和结果数据,并查看过程中卷积核提取的具体特征。实验环…

    2022年6月8日

发表回复

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

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