TQ15EG开发板教程:创建运行petalinux2019.1

工程网盘链接:https://pan.baidu.com/s/1vFRpzmbifXt7GypU9aKjeg 
提取码:0ylh 

首先需要使用与petalinux相同版本的vivado创建工程,与之前不同的是在创建硬件设计时需要勾选上添加bit文件,所以要在生成bit文件之后再创建硬件设计文件

打开装有对应版本的linux系统,设置petalinux的环境变量,在petalinux的安装目录中找到settings.sh,使用下面这条命令设置环境变量

source ./settings.sh

创建petalinux工程相关的命令我都会提供在工程目录的file文件夹中

创建petalinux工程,demoname为工程名称

把在vivado中创建的硬件配置文件,复制到上面的工程文件中

进入到工程目录中,配置petalinux

配置不作修改,摁右箭头选择Exit点击enter保存退出

等待配置完成后编译项目

修改设备树

设备树的内容如下,文件我也会放在file文件夹中

// SPDX-License-Identifier: GPL-2.0+

/*

 * dts file for Xilinx ZynqMP ZCU102 Rev1.0

 * (C) Copyright 2016 - 2018, Xilinx, Inc.

 *

 * Michal Simek <michal.simek@xilinx.com>

 */



/ {

model = "ZynqMP ZCU102 Rev1.0";

compatible = "xlnx,zynqmp-zcu102-rev1.0", "xlnx,zynqmp-zcu102", "xlnx,zynqmp";



gpio-keys {

compatible = "gpio-keys";

#address-cells = <1>;

#size-cells = <0>;

autorepeat;

sw19 {

label = "sw19";

gpios = <&gpio 22 0>;

linux,code = <108>; /* down */

gpio-key,wakeup;

autorepeat;

};

};



leds {

compatible = "gpio-leds";

heartbeat_led {

label = "heartbeat";

gpios = <&gpio 23 0>;

linux,default-trigger = "heartbeat";

};

};

};



&can1 {

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_can1_default>;

};



&gem3 {

phy-handle = <&phyc>;

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_gem3_default>;

phyc: phy@c {

reg = <0xc>;

ti,rx-internal-delay = <0x8>;

ti,tx-internal-delay = <0xa>;

ti,fifo-depth = <0x1>;

ti,rxctrl-strap-worka;

};

};



&gpio {

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_gpio_default>;

};



&pinctrl0 {

status = "okay";

pinctrl_i2c0_default: i2c0-default {

mux {

groups = "i2c0_3_grp";

function = "i2c0";

};



conf {

groups = "i2c0_3_grp";

bias-pull-up;

slew-rate = <1>;

io-standard = <1>;

};

};



pinctrl_i2c0_gpio: i2c0-gpio {

mux {

groups = "gpio0_14_grp", "gpio0_15_grp";

function = "gpio0";

};



conf {

groups = "gpio0_14_grp", "gpio0_15_grp";

slew-rate = <1>;

io-standard = <1>;

};

};



pinctrl_i2c1_default: i2c1-default {

mux {

groups = "i2c1_4_grp";

function = "i2c1";

};



conf {

groups = "i2c1_4_grp";

bias-pull-up;

slew-rate = <1>;

io-standard = <1>;

};

};



pinctrl_i2c1_gpio: i2c1-gpio {

mux {

groups = "gpio0_16_grp", "gpio0_17_grp";

function = "gpio0";

};



conf {

groups = "gpio0_16_grp", "gpio0_17_grp";

slew-rate = <1>;

io-standard = <1>;

};

};



pinctrl_uart0_default: uart0-default {

mux {

groups = "uart0_4_grp";

function = "uart0";

};



conf {

groups = "uart0_4_grp";

slew-rate = <1>;

io-standard = <1>;

};



conf-rx {

pins = "MIO18";

bias-high-impedance;

};



conf-tx {

pins = "MIO19";

bias-disable;

};

};



pinctrl_uart1_default: uart1-default {

mux {

groups = "uart1_5_grp";

function = "uart1";

};



conf {

groups = "uart1_5_grp";

slew-rate = <1>;

io-standard = <1>;

};



conf-rx {

pins = "MIO21";

bias-high-impedance;

};



conf-tx {

pins = "MIO20";

bias-disable;

};

};



pinctrl_usb0_default: usb0-default {

mux {

groups = "usb0_0_grp";

function = "usb0";

};



conf {

groups = "usb0_0_grp";

slew-rate = <1>;

io-standard = <1>;

};



conf-rx {

pins = "MIO52", "MIO53", "MIO55";

bias-high-impedance;

};



conf-tx {

pins = "MIO54", "MIO56", "MIO57", "MIO58", "MIO59",

       "MIO60", "MIO61", "MIO62", "MIO63";

bias-disable;

};

};



pinctrl_gem3_default: gem3-default {

mux {

function = "ethernet3";

groups = "ethernet3_0_grp";

};



conf {

groups = "ethernet3_0_grp";

slew-rate = <1>;

io-standard = <1>;

};



conf-rx {

pins = "MIO70", "MIO71", "MIO72", "MIO73", "MIO74",

"MIO75";

bias-high-impedance;

low-power-disable;

};



conf-tx {

pins = "MIO64", "MIO65", "MIO66", "MIO67", "MIO68",

"MIO69";

bias-disable;

low-power-enable;

};



mux-mdio {

function = "mdio3";

groups = "mdio3_0_grp";

};



conf-mdio {

groups = "mdio3_0_grp";

slew-rate = <1>;

io-standard = <1>;

bias-disable;

};

};



pinctrl_can1_default: can1-default {

mux {

function = "can1";

groups = "can1_6_grp";

};



conf {

groups = "can1_6_grp";

slew-rate = <1>;

io-standard = <1>;

};



conf-rx {

pins = "MIO25";

bias-high-impedance;

};



conf-tx {

pins = "MIO24";

bias-disable;

};

};



pinctrl_sdhci1_default: sdhci1-default {

mux {

groups = "sdio1_0_grp";

function = "sdio1";

};



conf {

groups = "sdio1_0_grp";

slew-rate = <1>;

io-standard = <1>;

bias-disable;

};



mux-cd {

groups = "sdio1_cd_0_grp";

function = "sdio1_cd";

};



conf-cd {

groups = "sdio1_cd_0_grp";

bias-high-impedance;

bias-pull-up;

slew-rate = <1>;

io-standard = <1>;

};



mux-wp {

groups = "sdio1_wp_0_grp";

function = "sdio1_wp";

};



conf-wp {

groups = "sdio1_wp_0_grp";

bias-high-impedance;

bias-pull-up;

slew-rate = <1>;

io-standard = <1>;

};

};



pinctrl_gpio_default: gpio-default {

mux-sw {

function = "gpio0";

groups = "gpio0_22_grp", "gpio0_23_grp";

};



conf-sw {

groups = "gpio0_22_grp", "gpio0_23_grp";

slew-rate = <1>;

io-standard = <1>;

};



mux-msp {

function = "gpio0";

groups = "gpio0_13_grp", "gpio0_38_grp";

};



conf-msp {

groups = "gpio0_13_grp", "gpio0_38_grp";

slew-rate = <1>;

io-standard = <1>;

};



conf-pull-up {

pins = "MIO22", "MIO23";

bias-pull-up;

};



conf-pull-none {

pins = "MIO13", "MIO38";

bias-disable;

};

};

};



&qspi {

is-dual = <1>;

flash@0 {

compatible = "m25p80"; /* 32MB */

#address-cells = <1>;

#size-cells = <1>;

reg = <0x0>;

spi-tx-bus-width = <1>;

spi-rx-bus-width = <4>; /* FIXME also DUAL configuration possible */

spi-max-frequency = <108000000>; /* Based on DC1 spec */

partition@qspi-fsbl-uboot { /* for testing purpose */

label = "qspi-fsbl-uboot";

reg = <0x0 0x100000>;

};

partition@qspi-linux { /* for testing purpose */

label = "qspi-linux";

reg = <0x100000 0x500000>;

};

partition@qspi-device-tree { /* for testing purpose */

label = "qspi-device-tree";

reg = <0x600000 0x20000>;

};

partition@qspi-rootfs { /* for testing purpose */

label = "qspi-rootfs";

reg = <0x620000 0x5E0000>;

};

};

};



&sata {

/* SATA OOB timing settings */

ceva,p0-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;

ceva,p0-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;

ceva,p0-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;

ceva,p0-retry-params = /bits/ 16 <0x96A4 0x3FFC>;



ceva,p1-cominit-params = /bits/ 8 <0x18 0x40 0x18 0x28>;

ceva,p1-comwake-params = /bits/ 8 <0x06 0x14 0x08 0x0E>;

ceva,p1-burst-params = /bits/ 8 <0x13 0x08 0x4A 0x06>;

ceva,p1-retry-params = /bits/ 16 <0x96A4 0x3FFC>;

phy-names = "sata-phy";

phys = <&lane3 1 1 1 125000000>;

};



/* SD1 with level shifter */

&sdhci1 {

//pinctrl-names = "default";

//pinctrl-0 = <&pinctrl_sdhci1_default>;

no-1-8-v;

disable_wp;

};

/*

&uart0 {

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_uart0_default>;

};



&uart1 {

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_uart1_default>;

};

*/



/* ULPI SMSC USB3320 */

&usb0 {

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_usb0_default>;

};



&dwc3_0 {

dr_mode = "host";

snps,usb3_lpm_capable;

phy-names = "usb3-phy";

phys = <&lane2 4 0 2 26000000>;

};



&zynqmp_dpsub {

//status = "disabled";

status = "okay";

};



&pcie {

//status = "okay";

status = "disabled";

};

修改完成后保存,再次编译

编译完成后生成启动文件

8把工程文件->images->linux 下的BOOT.bin和image.ub拷贝到SD卡中,我也会把这两个文件放到file文件夹中,需要测试的可以自取

把SD卡插入开发板,启动模式设置为SD卡启动,连接好串口线与电源线,打开串口开启电源

等待串口打印信息结束,在显示工程和login时表示启动成功

在串口输入账号和密码即可进入系统,我的这里的账号和密码都是root。或者在开发板上插入键盘和DP显示器也可以进行操作

File中的文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/427200.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

谷粒商城【成神路】-【8】——商品上架

目录 1.数据模型封装 1.es数据模型 2.将es数据模型封装为JAVA bean 3.根据前端发送请求,编写controller 2.模型实现 2.1服务controller 2.2服务service 2.3服务远程调用接口 2.4检索服务controller 2.5检索服务保存到es 2.6库存查询服务 1.数据模型封装 1.es数据模…

银河麒麟之Workstation安装

一、VMware Workstation简介 VMware Workstation是一款由VMware公司开发的虚拟化软件&#xff0c;它允许用户在一台物理计算机上运行多个操作系统&#xff0c;并在每个操作系统中运行多个虚拟机。VMware Workstation提供了一个可视化的用户界面&#xff0c;使用户可以轻松创建、…

纵行科技荣登“中国物联网企业投资价值50强”、“中国物联网行业创新产品榜”

近日&#xff0c;由深圳市物联传媒有限公司、AIoT星图研究院、IOTE组委会、深圳市物联网产业协会主办的“2023‘物联之星’中国物联网行业年度榜单”评选结果正式公布。厦门纵行信息科技有限公司&#xff08;以下简称“纵行科技”&#xff09;最终从500多家参评企业中脱颖而出&…

数据库-ODBC操作

一、ODBC 数据源配置 打开ODBC数据源管理器&#xff1a; 在Windows搜索栏中键入“ODBC数据源”并选择“ODBC数据源(64位)”&#xff08;如果你的系统是64位的&#xff09;。如果你的系统是32位的&#xff0c;你可以选择“ODBC数据源(32位)”。或者&#xff0c;你可以在控制面…

使用DockerFile构建Tomcat镜像

1、准备镜像文件tomcat压缩包&#xff0c;jdk的压缩包 tomcat链接&#xff1a;https://pan.baidu.com/s/1Xpecb-BSGR2sdxSL7FDtBw?pwd1234 提取码&#xff1a;1234 jdk链接&#xff1a;https://pan.baidu.com/s/1mQHInn27j1I9uuuicBsyAA?pwd1234 提取码&#xff1a;1234 …

网工学习 DHCP配置-接口模式

网工学习 DHCP配置-接口模式 学习DHCP总是看到&#xff0c;接口模式、全局模式、中继模式。理解起来也不困难&#xff0c;但是自己动手操作起来全是问号。跟着老师视频配置啥问题没有&#xff0c;自己组建网络环境配置就是不通&#xff0c;悲催。今天总结一下我学习接口模式的…

信息系统安全与对抗-作业2

目录 1、使用自己姓名拼音创建一个账户&#xff0c; 并使用命令和图形化查看 2、使用自己拼音打头字母创建一个隐藏账户 &#xff0c;并使用命令和图形化查看 3、使用命令启动 telnet 服务 4、使用命令打开防火墙 23 端口 5、熟悉LINUX系统&#xff0c;使用命令行创建用户…

docker基线安全修复和容器逃逸修复

一、docker安全基线存在的问题和修复建议 1、将容器的根文件系统挂载为只读 修复建议&#xff1a; 添加“ --read-only”标志&#xff0c;以允许将容器的根文件系统挂载为只读。 可以将其与卷结合使用&#xff0c;以强制容器的过程仅写入要保留的位置。 可以使用命令&#x…

不同控制方式下的无人机二维码识别降落对比

无人机技术的快速发展正在推动众多行业的革新&#xff0c;从农业监测、灾害响应到城市规划和物流配送&#xff0c;无人机的应用前景无限广阔。随着应用场景的多样化&#xff0c;无人机精准降落成为一大挑战。基于PX4飞控固件和ROS系统的开源自主无人机平台Prometheus应运而生。…

【Linux】进程间通信之共享内存

文章目录 引入共享内存的原理共享内存的相关接口shmget()shmat()shmdt()shmctl() 共享内存的简单使用共享内存的特点 引入 进程间通信&#xff0c;顾名思义就是一个进程和另一个进程之间进行对话&#xff0c;以此完成数据传输、资源共享、通知事件或进程控制等。 众所周知&am…

Vscode安装,ssh插件与配置

原因 发现很多新人在练习linux&#xff0c;可是只有windows机的时候&#xff0c;一般都是下载虚拟机&#xff0c;然后在虚拟机上安装ubuntu等linux平台。每次需要在linux中写代码&#xff0c;就打开ubuntu&#xff0c;然后在终端上用vim写代码&#xff0c;或者先编辑代码文本&…

hook函数——useReducer

目录 1.useReducer定义2.useReducer用法3.useState和useReducer区别 1.useReducer定义 const [state, dispatch] useReducer(reducer, initialArg, init?) reducer&#xff1a;用于更新 state 的纯函数。参数为 state 和 action&#xff0c;返回值是更新后的 state。state …

JVM相关问题

JVM相关问题 一、Java继承时父子类的初始化顺序是怎样的&#xff1f;二、JVM类加载的双亲委派模型&#xff1f;三、JDK为什么要设计双亲委派模型&#xff0c;有什么好处&#xff1f;四、可以打破JVM双亲委派模型吗&#xff1f;如何打破JVM双亲委派模型&#xff1f;五、什么是内…

Matlab|基于Logistic函数负荷需求响应

目录 1 基于Logistic函数的负荷转移率模型 2 程序示例 3 效果图 4 下载链接 负荷需求响应模型种类较多&#xff0c;有电价型和激励型等类型&#xff0c;本次和大家分享一个基于Logistic函数的负荷转移率模型&#xff0c;该模型属于电价型&#xff0c;由于该方法使用的较少&a…

C++ //练习 10.24 给定一个string,使用bind和check_size在一个int的vector中查找第一个大于string长度的值。

C Primer&#xff08;第5版&#xff09; 练习 10.24 练习 10.24 给定一个string&#xff0c;使用bind和check_size在一个int的vector中查找第一个大于string长度的值。。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /*****…

云母带(耐火云母带)市场空间不断扩展 电力系统领域为其最大需求端

云母带&#xff08;耐火云母带&#xff09;市场空间不断扩展 电力系统领域为其最大需求端 云母带又称耐火云母带&#xff0c;指以云母片为原材料&#xff0c;经过一系列加工工艺制成的带状材料。云母带具有耐燃烧、耐高温、绝缘性好、耐酸碱等特性&#xff0c;在航空航天、石油…

复现nerfstudio并训练自己制作的数据集

网站&#xff1a;安装 - nerfstudio GitHub - nerfstudio-project/nerfstudio&#xff1a;NeRF 的协作友好工作室 安装之前要确保电脑上已经有CUDA11.8或以上版本&#xff08;更高版本的可以安装11.8的toolkit&#xff09; 创建环境 conda create --name nerfstudio -y pyt…

Pandas基础介绍

文章目录 Pandas简介什么是Pandas&#xff1f;Pandas数据结构Pandas 应用 Pandas简介 什么是Pandas&#xff1f; Pandas 是一个开源的数据分析和数据处理库&#xff0c;它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具&#xff0c;特别适用于处…

santa-walks-into-a-bar攻防世界MISC

题目&#xff1a; 下载文件得到list.zip和santa-id.png list.zip中是大量png图片&#xff0c;内容均为二维码。 注意到santa-id.png上的ID&#xff1a;7ab7df3f4425f4c446ea4e5398da8847&#xff0c;可以发现存在对应名称的图片&#xff0c;扫码得到&#xff1a; Now I have Xa…

Bililive-go 实现直播自动监控录制

前言 最近有直播录制的需求&#xff0c;但是自己手动录制太麻烦繁琐&#xff0c;于是用了开源项目Bililive-go进行全自动监控录制&#xff0c;目前这个项目已经有3K stars了 部署 为了方便我使用了docker compose 部署 version: 3.8 services:bililive:image: chigusa/bilil…