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

news2024/11/19 16:43:41

工程网盘链接: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中的文件

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爬虫入门到精通_框架篇13(PySpider框架基本使用及抓取TripAdvisor实战)_PySpider下载安装,项目实战

1 PySpider框架基本用法 PySpider框架&#xff1a; 去重处理PyQuery提取错误重试多进程处理代理简洁JavaScript渲染结果监控WebUI管理 安装PySpider: pip install pyspider报错&#xff1a; 主要是async是python3.7的保留字&#xff0c;pyspider库中的有些文件与之重复而出…

仿牛客项目Day02:http、调试、日志、git

http状态码 后端调试 f8&#xff1a;逐行执行 f7&#xff1a;进入语句内部 f9&#xff1a;执行到下一个断点 前端调试 f10&#xff1a;逐行调试 f11&#xff1a;进入语句内部 f8&#xff1a;执行到下一个断点 日志 按照级别开启日志 日志的测试类 比如把application里…

如何在Windows系统部署Jellyfin Server并实现公网访问内网影音文件

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及&#xff0c;各种各样的使用需求也被开发出来&…

Hypermesh2019使用Include文件

1、打开模型&#xff0c;在Includes View查看各个零部件,可以单独显示&#xff1b;最后按D进入display面板显示整个模型&#xff1b; 2、创建新的Include文件&#xff0c;并将车门移入到新创建的Include File中&#xff08;Originize includes)&#xff1b; 3、创建新的Include…

qnx启动中控屏黑屏

bmetrics_service boot metrics service, 用于记录统计启动性能信息,读取/dev/bmetrics可以获取到这些信息 # use memorydump memorydump Sets the debug cookies, copies MMU info into reset_info asinfo, sets the secure monitor(TZ) dump buffer, starts tracelogger Usa…

【好书推荐-第十期】《AI绘画教程:Midjourney使用方法与技巧从入门到精通》

&#x1f60e; 作者介绍&#xff1a;我是程序员洲洲&#xff0c;一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公众号&#xff1a;洲与AI。 &#x1f388; 本文专栏&#xff1a;本文收录…

怎么会有这么多的Windows系统版本,傻傻分不清!

Win10的各个版本之间的区别主要体现在功能、适用场景和面向的用户群体上。以下是各版本之间的详细区别: Windows 10 家庭版(Windows 10 Home) 主要功能:包含Windows 10的基本功能,如全新的开始菜单、Edge浏览器、Windows Hello生物特征认证登录以及虚拟助手Cortana。此外,…

吴恩达deeplearning.ai:数据增强数据合成迁移学习

以下内容有任何不理解可以翻看我之前的博客哦&#xff1a;吴恩达deeplearning.ai专栏 让我们看看为你的程序添加数据的技巧。在构建神经网络的时候&#xff0c;我们总是想要更多的数据&#xff0c;但是获取更多的数据往往是十分昂贵又缓慢的。相反地&#xff0c;添加数据的另一…

ssGSEA -- 学习记录

文章目录 biref统计学原理其他注意事项代码实现部分 biref 前情提要链接&#xff1a; https://blog.csdn.net/jiangshandaiyou/article/details/136536349 https://blog.csdn.net/jiangshandaiyou/article/details/134457515 相比起GSA&#xff0c;GSEA不再关注于差异基因&…

蓝色经典免费wordpress模板主题

蓝色经典配色的免费wordpress建站主题&#xff0c;万能的wordpress建站主题。 https://www.wpniu.com/themes/24.html

Java注解介绍

Java注解 注解介绍元注解RetentionTargetDocumentedInherited接口类测试结果 注解介绍 Java注解&#xff08;Annotation&#xff09;是一种元数据&#xff08;Metadata&#xff09;的形式&#xff0c;它可以被添加到Java代码中的类、方法、变量、参数等元素上&#xff0c;以提…

GSA、GSEA、ssGSEA、GSVA用到的统计学知识点

文章目录 概率密度函数&#xff08;probability density function&#xff0c;PDF&#xff09;分布函数&#xff08;Cumulative Distribution Function&#xff0c;CDF&#xff09;核密度估计&#xff08;KDE&#xff09;经验累计分布函数&#xff08;Empirical Cumulative Dis…

C++ Qt开发:QFileSystemWatcher文件监视组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍如何运用QFileSystemWatcher组件实现对文件或…

JsonCreator注解InvalidDefinitionException报错解决

"stack_trace": "c.f.j.d.e.InvalidDefinitionException: More than one argument (#0 and left as delegating for Creator [constructor for (

【性能测试】Jmeter+InfluxDB+Grafana 搭建性能监控平台

一、背景 为什么要搭建性能监控平台&#xff1f; 在用 Jmeter 获取性能测试结果的时候&#xff0c;Jmeter自带的测试报告如下&#xff1a; 这个报告有几个很明显的缺点&#xff1a; 只能自己看&#xff0c;无法实时共享&#xff1b;报告信息的展示比较简陋单一&#xff0c;不…

Nacos2.2.3之MySQL8.X持久化详细配置过程

Nacos2.2.3之MySQL8.X持久化详细配置过程 文章目录 Nacos2.2.3之MySQL8.X持久化详细配置过程1. 官网与下载1. 官网2. Naocs是什么&#xff1f;3. 下载 2. 安装与持久化配置1. 解压安装2. 创建数据库1. 连接数据库2. 创建nacos数据库3. 导入脚本4. 查看表 3. 持久化配置1. appli…

Jmeter事务控制器实战

在性能测试工作中&#xff0c;我们往往只测试业务功能相关主要接口的数据请求和返回。然而实际上用户在使用web应用时&#xff0c;可能会加载诸多资源&#xff1a;htmldom、cssdom、javaScript、ajax请求、图片等。 从打开一个页面到界面渲染完成需要一定的加载时间&#xff0…

Linux学习之线程

目录 线程概念 1.什么是线程&#xff1f; 2.线程的优缺点 3.线程异常 4.线程用途 线程操作 1.如何给线程传参 2.线程终止 3.获取返回值 4.分离状态 5.退出线程 线程的用户级地址空间&#xff1a; 线程的局部存储 线程的同步与互斥 互斥量mutex 数据不一致的主要过…

2024 AI 辅助研发的新纪年

随着人工智能技术的持续发展与突破&#xff0c;2024年AI辅助研发正成为科技界和工业界瞩目的焦点。从医药研发到汽车设计&#xff0c;从软件开发到材料科学&#xff0c;AI正逐渐渗透到研发的各个环节&#xff0c;变革着传统的研发模式。在这一背景下&#xff0c;AI辅助研发不仅…

操作系统内存管理-组织方式

目录 前言 数据单位 位&#xff08;bit&#xff09; 字节&#xff08;byte&#xff09; 组织方式 连续分配方式 非连续分配方式 段页式存储管理 虚拟内存管理 NUMA&#xff08;Non-Uniform Memory Access&#xff09;架构下的内存管理 逻辑地址与物理地址的映射关系 逻辑…