TQZC706开发板教程:编译zynq linux内核2019_R1

您需要下载对应版本的Linux系统文件以及IMG1.3.1镜像文件。为了方便您的操作,本文所使用的所有文件以及最终生成的文件,我都已经整理并放置在本文末尾提供的网盘链接中。您可以直接通过该链接进行下载,无需在其他地方单独搜索和获取。希望这能为您的使用带来便利。

Linux系统文件:https://github.com/analogdevicesinc/linux

由于从GitHub上直接下载文件可能速度较慢且容易失败,我们推荐您使用脚本进行下载。以下是具体的下载步骤:

gedit au.sh    //创建脚本文件
//au.sh内容如下
--------------------------au.sh--------------------------
#!/bin/bash 
AUTHOR=$1
PROJECT=$2
INFO=$3
while(true);
do
{echo "doing..."git clone --recursive  https://github.com/$AUTHOR/$PROJECTif [ $? -eq 0 ];thenecho "success"breakelseecho "failed"firm -rf $PROJECTsleep 1;
} 
donetar -zcvf $INFO-$AUTHOR-$PROJECT.tar.gz  ./$PROJECT 
rm  -rf  $PROJECT echo "git clone recursive done..."
------------------------------------------------------------
chmod 777 au.sh
./au.sh analogdevicesinc linux 240417

运行脚本后,该脚本会持续尝试下载由第一和第二个参数构成的链接,直到下载成功为止。一旦下载完成,脚本将自动对下载的内容进行压缩,并且压缩包的名称将由您提供的三个参数共同组成。具体而言,脚本的第一个参数是您希望从GitHub上下载的用户名称,第二个参数是项目名称,第三个参数则用作压缩包的命名标识,您可以根据需要填写时间、项目名称或其他相关信息。从我之前提供的下载链接中,您可以观察到“analogdevicesinc”是第一个参数,“linux”是第二个参数,而第三个参数则可以根据您的具体需求进行灵活填充。

下载完成后解压文件并进入解压完成后的文件夹

tar xzfv 2024_04_17-analogdevicesinc-linux.tar.gz 
cd linux/

查看版本-->找到需要的版本-->进行版本切换,注意使用git branch -a命令后需要输入退出查看

git branch -a            //q退出
git checkout 2019_R1

在windows环境使用git工具,也可进行版本切换,使用的命令相同,下面提供了git工具的下载链接

git:https://git-scm.com/download/win

版本切换完成后就可以开始编译内核了,下图是编译32位的zynq配置

source /tools/Xilinx/Vivado/2018.3/settings64.sh
export ARCH=arm
export CROSS_COMPILE="arm-linux-gnueabihf-"
make zynq_xcomm_adv7511_defconfig
make -j5 UIMAGE_LOADADDR=0x8000 uImage

在编译MPSOC时,我们遇到了修改环境变量和配置文件的难题。由于对相关修改方法不够了解,我们甚至一度怀疑是编译器本身存在问题,因此还尝试更换了其他编译器。然而,在资深专家的协助下,我们最终认识到问题的根源在于配置不当,并在其指导下成功解决了这一难题。在此,我们衷心感谢这位专家的无私帮助。具体的配置细节如下所述

export ARCH=arm64
export CROSS_COMPILE="aarch64-linux-gnu-"
make xilinx_zynqmp_defconfig 

内核编译完成后在目录arch/arm/boot中会生成 uImage 文件,复制到用 img1.3.1制作的U盘BOOT分区中

 使用img制作启动U盘的流程如下

在下载img文件后使用Win32 Disk Imager工具把SD卡制作为启动盘。选择文件-->选择盘号-->写入

等待烧写过程结束后,请打开BOOT盘。若在此时出现提示询问是否需要对BOOT盘进行格式化,请务必选择“否”。这样做可以避免不必要的数据丢失或系统配置变动。

进入BOOT盘zynq-common目录中,可以看到有一个ulmage文件,这个是img提供给我们使用的,可以正常运行。但是需要修改编译内核时则需要安装上面步骤生成ulmage文件。把ulmage复制到BOOT盘中(自己制作的或img提供的都可以)。BOOT盘中还有个zynqmp-common文件夹,这里面存放MPSOC的ulmage文件

回到BOOT盘进入zynq-zc706-adv7511目录,复制 BOOT.BIN和 devicetree.dtb 文件到BOOT盘中,这两分别为启动文件和设备树文件。

把SD卡插入开发板,启动模式设置为SD模式,插好电源,DP和USB鼠标或者键盘

开启电源,等待开发板启动,可以DP接口的屏幕上看图形界面的显示,可以通过鼠标键盘来进行操作

参考链接

内核编译网址:
https://github.com/analogdevicesinc/linux/tree/2019_R1?tab=readme-ov-file#how-to-build
https://wiki.analog.com/resources/tools-software/linux-build/generic/zynq内核下载网站:版本选择2019r1
https://github.com/analogdevicesinc/linuxgit下载网站
https://git-scm.com/download/win

网盘链接,带OK的表示为编译过的工程

链接:https://pan.baidu.com/s/1jIjdZyMggoEujwbTXBXfTA 
提取码:v3p9 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python安装和开发环境搭建

Python的下载 访问Python语言官网(Welcome to Python.org)进行下载相关安装包,根据需要和系统环境、下载相应的windows/linux/macOs安装包。 ​ 更新的还是挺快的,都到3.12.3了。 直接点Download哪里的Python 3.12.3。 ​ 我这边系统是64位&#xf…

龙迅LT8618SXB TTL /BT656/BT601/BT1120桥接到HDMI 1.4,低功耗HDMI1.4发射机

龙迅LT8618SXB描述: LT8618SX是Lontium基于ClearEdgeTM技术的低功耗版本HDMI发射机。它支持24位颜色深度HDMI1.4(高清多媒体接口)规范。它们完全向后兼容Lontium的第一代HDMI发射机LT8618EX。LT8618SX是一款高性能、低功耗的部件&#xff0c…

30 消息队列

原理 操作系统可以通过页表映射在共享区创建一块共享内存,也可以申请一个队列。A进程和B进程可以向这个队列发送数据块,两个进程接收数据块来通信 函数 申请数据块 参数中的key来自于ftok函数 删除消息队列 同样消息队列也有数据结构管理&#xff…

MATLAB——M文件

M文件 MATLAB允许编写两种程序文件- 脚本−脚本文件是扩展名为.m的程序文件。在这些文件中,您编写了一系列要一起执行的命令。脚本不接受输入,也不返回任何输出。它们对工作区中的数据进行操作。 函数−函数文件也是扩展名为.m的程序文件。函数可以接…

(回溯)记忆化搜索和dp

动态规划的核心就是 状态的定义和状态的转移 灵神 的 回溯改递归思路 首先很多动态规划问题都可以采用 回溯 的思想 回溯主要思想就是把 一个大问题分解成小问题 比如 采用子集类回溯问题中的核心思想-> 选或不选 或者 选哪个 记忆化搜索之后 我们可以发现 每个新节点依…

java多线程-创建

简介 定义:多条执行流程并行的技术优点:异步执行,避免同步等待 创建-继承Thread 代码实现 继承Thread类重写run方法新建自建线程的实例调用start方法 继承Thread类重写run方法 /*** 1. 继承Thread类* 2. 重写run方法*/ public class MyThrea…

代码随想录第43天|1049.最后一块石头的重量II 494. 目标和

1049.最后一块石头的重量II 1049. 最后一块石头的重量 II - 力扣(LeetCode) 代码随想录 (programmercarl.com) 动态规划之背包问题,这个背包最多能装多少?LeetCode:1049.最后一块石头的重量II_哔哩哔哩_bilibili 有…

rCore-Turorial-Book第三课(计算机启动流程和程序内存布局与编译流程探索)

本节任务:梳理程序在操作系统中被编译运行的全流程,大体了解我们在没有操作系统的情况下,我们会面对那些困难 重点 1. 计算机组成基础 面对的困难:没有操作系统,我们必须直面硬件资源,管理起他们并为应用程…

PLSQL数据库

目录 什么是PLSQL数据库 PL数据库的实现方法 PL数据库的基本语法 1.作用 2.语法 3.赋值输出 4.引用 5.异常处理 6.if 判断 7.loop循环 8.while循环 9.for循环 10.游标 11.参数游标 12.索引 13.分区表 什么是PLSQL数据库 PL/SQL(Procedure Language/…

mysql面试题八(SQL语句)

目录 1.SQL 基本组成部分 常用操作示例 创建表 插入数据 查询数据 更新数据 删除数据 创建索引 授予用户权限 2.常见的聚合查询 1. 计数(COUNT) 2. 求和(SUM) 3. 平均值(AVG) 4. 最大值&…

全新商业模式!链动3+1模式 无限链动收益!

链动31模式解析 的链动31模式,是一种精心设计的运营模式,它针对运营中的脱发问题提供了有效的解决方案。然而,这一模式并非完美无缺,它也有其固有的劣势。接下来,我们将通过详细的示例,对这一模式进行深入…

CVE-2024-3159:Out of bounds memory access in V8

前言 这个洞在今年的 Pwn2Own 上被利用,目前还没有公开报告。该漏洞可以说是 CVE-2023-4427 漏洞未正确修复,其原理和利用跟 CVE-2023-4427 没有本质区别,CVE-2023-4427 之前分析过,所以这里不作过多说明,仅仅做记录 …