zynq7000 从github拉取源码进行编译,运行. 快速进行外设验证
创始人
2024-02-25 02:35:41
0

zynq7000 编译

前言

使用SylixOS进行驱动开发, 需要快速验证板上的外设是否完好. 嫌弃官方的SDK占用磁盘空间巨大, 本教程直接使用 github 上的源码进行快速编译运行.

1. 资源获取

  1. Ubuntu 开发环境 (自行解决)
  2. 编译链工具 gcc-arm-linux-gnueabi , 版本自由, 从 xilinx SDK 获取, 也可从 Linaro GCC 获取
  3. Kernel镜像, 从 github 获取.
  4. initramfs 获取

2. 编译 kernel

交叉编译此 ARM 源代码,请导出环境变量

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-
  1. 使用默认配置配置内核。ARM 处理器的配置文件位于 //arch/arm/configs/ 中。使用“xilinx_zynq_defconfig”配置内核。
make distclean
make xilinx_zynq_defconfig
  1. 如果要进一步更改内核配置,请启动menuconfig。
make menuconfig
  1. 使用如下所示的命令编译内核
make -j4  ARCH=arm UIMAGE_LOADADDR=0x8000 uImage CROSS_COMPILE=~/Downloads/zynq/gcc-arm-linux-gnueabi/bin/arm-linux-gnueabihf-  dtbs 

如果构建过程成功,则 Linux 内核映像zImage和uImage将在 //arch/arm/boot/ 中创建。同时会在 //arch/arm/boot/dts/中生成设备树文件.

3. 根文件系统

根文件系统映像
单独的Linux内核实际上没有用,因为它甚至没有用户界面。Shell,或使Linux内核有用的所有必要工具称为“发行版”。Shell 位于根文件系统中,并在挂载根文件系统时执行。

为了简单起见,我们将使用虚拟硬盘(initrd)作为根文件系统。initrd 被加载到
DRAM 中,然后作为根文件系统挂载。因此,重新启动设备时它将丢失。从 Xilinx wiki 下载.

这必须转换为 U-Boot 映像文件(添加包装器以使其可被 U-Boot 识别)。为此,请使用 U-Boot 源代码树中的“mkimage”实用程序。

export PATH=${PATH}://tools
mkimage -A arm -T ramdisk -C gzip -d arm_ramdisk.image.gz uramdisk.image.gz

然后,将生成U-Boot“uramdisk.image.gz”的虚拟硬盘映像。

4 引导 Linux

所以现在,所有必要的文件都准备好了,可以启动 Linux。将所有这些文件(BOOT.bin,uImage,zynq_zc706.dtb和uramdisk.image.gz)复制到SD卡的启动分区中。插入SD卡并打开电源,将串行控制台连接到USB-UART。

当U-Boot启动时,我们要做的是;

  1. 将这 3 个文件(内核映像、设备树和虚拟硬盘)加载到内存中
    从SD卡中读取到内存
   fatload mmc 0:1 0x8000 uImagefatload mmc 0:1 0x500000 zynq-zc706.dtbfatload mmc 0:1 0x600000 uramdisk.image.gz
  1. 从内存启动 Linux
    要加载这些文件,请在 U-Boot 提示符下键入命令
    bootm
    所以现在,通过键入以下内容来启动 Linux。

    bootm 0x8000 0x600000 0x500000
    如果 Linux 内核被引导,它将显示 Linux shell。如果有一些错误,那么U-Boot或Linux内核会告诉你出了什么问题。

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...