高版本Vivado和Linux 4.x内核移植Digilent Driver

news2024/11/13 9:35:31

移植环境

  1. Vivado 2022.2
  2. Ubuntu 22.04
  3. petalinux 2022.2
  4. Linux内核4.14(xilinx-linux-2018.3)
  5. linux-digilent

主要问题

https://github.com/Digilent/linux-digilent 这些驱动支持Linux kernel release 4.x,然而和Vitis 2022.2 套件对应的内核版本是5.x
如果要在Vitis 2022.2 套件下移植 Linux 并使用 Digilent Linux 驱动,该怎么办呢?

Vivado 2022导出的硬件文件是 .xsa 文件,可以生成设备树文件
petalinux 2022可以用于构建 rootfs 系统
之前写过 Linux系统移植 ,核心部分就是移植 U-Boot 和 Kernel ,整个过程没用到 petalinux

所以,如果不使用 petalinux 来构建核心部分,使用内核4.x 下的 Digilent Linux 驱动也是可以的

我试过了 xilinx-linux-2019.2 的内核是 4.19, 但是构建过程和我之前 Linux系统移植 的方法已经有出入了

比如U-Boot 默认图形配置文件变成了 xilinx_zynq_virt_defconfig
在这里插入图片描述

所以最后还是选择了 xilinx-linux-2018.3 来移植内核,对应的 U-Boot 也选择 2018.3 版本的就行了

移植过程中存在的区别

移植 digilent_encoder 驱动

对于 petalinux 2019.1或者更高的版本,其内部有部分函数进行了修改,需要将 digilent_encoder.c 中的

drm_mode_connector_update_edid_property(connector, edid);

替换为

drm_connector_update_edid_property(connector, edid);

移植内核出现 /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc’; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here 错误

cd /scripts/dtc 找到 dtc-lexer.lex.c_shipped ,搜索 yylloc

在这里插入图片描述
找到 YYLTYPE yylloc; 前面加上 extern 改为 extern YYLTYPE yylloc; 即可

遇到Make zynq-zc770-xm011.dtb出错

粗暴一点,直接在 Makefile 里将 zynq-zc770-xm011.dtb 去掉就行,反正也不用

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

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

相关文章

Microsoft Visual Studio 2019下载及安装流程记录

第一周任务: 1.笔记本上安装vc2019的环境 2.再把OpenCV安装上 3.根据网上的教程,试着写几个opencv的程序 一、安装Visual Studio 2019社区版 首先先完成安装vc2019的环境, 因为: Microsoft Visual C是用于C编程的工具集合&am…

华为昇腾阿木实验室FMT,开展无人飞艇开发者线下体验活动!

活动背景 气球机器人是一种利用气球作为飞行平台的可编程飞行器,它利用浮力作为主要升力,在灵活性、稳定性和安全性方面展示了巨大的潜力。近年来,这些机器人已在航拍、气象观测、水文学、侦察和特勤等领域发挥了重要作用。 气球机器人是未来…

Chrome中设置安全来源域名

目的: 使得本地映射的域名能被浏览器安全访问,允许调用设备资源 步骤: 在Chrome中导航栏打开 chrome://flags/#unsafely-treat-insecure-origin-as-secure 填入hosts域名:如 http://h5-twzc003.local.com 参考: h…

带哨兵位的单链表

认识 链表分为两种:带头结点的和不带头结点的 之前我们学习了不带哨兵位的单链表,并实现了相关代码 现在我们认识一下带哨兵位头结点的单链表: plist指向带哨兵位的头结点 这个结点不存储有效数据 如果为空链表: 不带头&#…

在Python中调用imageJ开发

文章目录 一、在ImageJ中进行Python开发二、在Python中调用imageJ开发2.1、简介2.2、环境配置2.3、测试一2.4、测试二 Python imageJ 解决方案,采坑记录 一、在ImageJ中进行Python开发 原生ImageJ仅支持JS脚本(JAVAScript),而Im…

milvus采坑一:启动服务就会挂掉

原因一 硬盘满了,Eric数据文件存储在硬盘上,当硬盘不足,它就会启动后就挂掉。 此时pymilvus连接一直是timeout。 解决方法:更换存储路径。

在建筑设计方面3DMax和Maya哪一个更好?

对于建筑设计可视化工具,有许多渲染程序提供了一套非常复杂的工具,使专业人员能够做到最好。ArchViz工具对建筑师和设计师来说非常重要,因为它们可以让他们更准确地识别设计发展阶段的问题,并更有效地与客户交流设计理念。 在今天…

AlmaLinux download

前言 一个开源的、社区拥有和管理的、永远免费的企业级Linux发行版,专注于长期稳定性,提供一个健壮的生产级平台。AlmaLinux操作系统是1:1二进制兼容RHEL和pre-Stream CentOS。 AlmaLinux download VersionAlmaLinux downloadAlmaLinux backup阿里云…

代码随想录算法训练营第四十一天【动态规划part03】 | 343. 整数拆分、96.不同的二叉搜索树

343. 整数拆分 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路: 动规五部曲 确定dp数组及其下标含义:dp[i] 拆分i,可以得到的最大乘积为dp[i]确定递推公式:从1开始遍…

DAY03 类与对象

概述 对象:真实存在的事物 类: 多个对象抽取其共同点形成的概念 静态特征提取出的概念称为成员变量, 又名属性 动态特征提取出的概念称为成员函数, 又名方法 类与对象的关系 在代码中先有类后有对象 一个类可以有多个对象 多个对象可以属于同一个…

同城跑腿服务预约小程序的作用是什么

随着生活质量逐渐提升,围绕人们生活的行业或产品非常多,同时互联网赋能下,也出现了很多便捷人们日常消费的场景,如外卖服务、快递服务等。 跑腿仅依赖微信私聊及电话预约是很低效且容易出错及造成极大工作压力的,同时…

深度学习人体跌倒检测 -yolo 机器视觉 opencv python 计算机竞赛

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的人体跌倒检测算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满…

内网穿透的应用-如何在Docker中部署MinIO服务并结合内网穿透实现公网访问本地管理界面

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼…

企业微信机器人定时发送图文信息,后续无需人工操作

企业微信群机器人是企业微信的内置功能,可以理解为是一个群提醒通知工具,接收数据并自动发送信息到企业微信群中。 数环通实现打通定时器和企业微信机器人的对接,定时执行自动化流程,无需人工干预,实现工作流程自动化&…

大型 APP 的性能优化思路

做客户端开发都基本都做过性能优化,比如提升自己所负责的业务的速度或流畅性,优化内存占用等等。但是大部分开发者所做的性能优化可能都是针对中小型 APP 的,大型 APP 的性能优化经验并不会太多,毕竟大型 APP 就只有那么几个&…

UE 材质,如何只取0~1之间的值,其余值抛弃

假如0~1,floor为0,abs为0,Saturate为0,1-x为1,很好 假如1~2,floor为1,abs为1,Saturate为1,1-x为0,很好 假如2~3,floor为2,abs为2&am…

拼多多API接口,百亿补贴商品详情接口系列

随着互联网的快速发展,电子商务在日常生活中扮演着越来越重要的角色。拼多多,作为中国领先的社交电商巨头,以其独特的商业模式和创新的API接口,为广大开发者提供了一个全新的电商生态系统。本文将详细介绍拼多多的API接口及其应用…

打印工具HandyPrint Pro Mac中文版软件特点

HandyPrint Pro Mac是一款打印工具,它支持AIrPrint协议,可以让用户在iPhone、iPad、iPod等设备上进行打印操作,只需要将这些设备连接到Mac电脑的WiFi网络中即可实现打印功能。 ​ HandyPrint Pro Mac软件特点 简单易用:用户只需…

汽车级全保护型六路半桥驱动器NCV7708FDWR2G 原理、参数及应用

NCV7708FDWR2G 是一款全保护型六路半桥驱动器,特别适用于汽车和工业运动控制应用。六个高压侧和低压侧驱动器可自由配置,也可单独控制。因此可实现高压侧、低压侧和 H 桥控制。H 桥控制提供正向、逆向、制动和高阻抗状态。驱动器通过标准 SPI 接口进行控…

极速进化,融合“新“生 | StarRocks Summit 2023 技术交流峰会圆满落幕

2023年11月17日,由 StarRocks 社区发起、镜舟科技主办的 StarRocks 年度大型技术交流峰会 StarRocks Summit 2023 在上海成功举行。 本次峰会以「极速进化,融合"新"生」为主题,40余场分享演讲在全天密集开展,来自平安银…