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将在 /<Linux 内核源代码 Dir>/arch/arm/boot/ 中创建。同时会在 /<Linux 内核源代码 Dir>/arch/arm/boot/dts/中生成设备树文件.

3. 根文件系统

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

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

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

export PATH=${PATH}:/<U-Boot source dir>/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 kernel address> <ramdisk address> <device tree address>
    所以现在,通过键入以下内容来启动 Linux。

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

zynq7000 从github拉取linux源码进行编译,运行. 快速进行外设验证。全流程教程相关推荐

  1. jenkins 拉取git源码超时

    由于项目使用自购服务器搭建的 gitea 管理源码,服务器带宽较小.试了几次后都没发现是构建任务的时间不足,原因就是10分钟也挺久的,谁会去等10分钟噻. 最后第二天再看之前构建的任务,发现报错如下 ...

  2. linux源码包编译安装与rpm安装方法介绍

    linux下的软件包安装 linux下安装软件包有两种方法:源文件编译安装(source)和 rpm 安装. 1.源文件包安装的通用方法. 一般安装源代码的程序你得要看它的README,一般在它的目录 ...

  3. linux编译安装含义,linux源码包编译安装详解

    linux下安装软件包有两种方法:源文件编译安装(source)和 rpm 安装. 1.源文件包安装的通用方法. 一般安装源代码的程序你得要看它的README,一般在它的目录下都有的. 01.配置: ...

  4. linux 源码包编译,源码包编译安装

    程序包编译安装: Application-VERSION-release.src.rpm–> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装 源代码 –> 预处理 ...

  5. mingw编译linux源码,minGW编译cgminer源码

    运行autogen.sh脚本后,出现错误日志如下: libtoolize: copying file `m4/ltversion.m4' libtoolize: copying file `m4/lt ...

  6. 迅为3588开发板Linux源码包编译Buildroot

    Buildroot 是一款集成的编译集合包,解决了以前交叉编译麻烦的问题,本小节将介绍 buildroot 镜像的编译流程,分为单独编译和完整全自动编译. 首先输入以下命令,选择 buildroot ...

  7. 抓取网络源码python_使用Python进行网络抓取的新手指南

    抓取网络源码python 有很多很棒的书可以帮助您学习Python,但是谁真正读了这些A到Z? (剧透:不是我). 接下来是我的第一个Python抓取项目指南. 假定的Python和HTML知识很少. ...

  8. 如何在 GitHub 上高效阅读源码?

    原文链接: 如何在 GitHub 上高效阅读源码? 之前听说过一个故事,一个领导为了提高团队战斗力,把团队成员集中起来,搞封闭开发,重点还是在没有网的条件下. 结果就是一个月过去了,产出基本为零. 我 ...

  9. android视频缓存框架 [AndroidVideoCache](https://github.com/danikula/AndroidVideoCache) 源码解析与评估

    文章目录 android视频缓存框架 [AndroidVideoCache](https://github.com/danikula/AndroidVideoCache) 源码解析与评估 引言 使用方 ...

最新文章

  1. Android开发学习笔记:WebView 一
  2. Deformable ConvNets--Part2: Spatial Transfomer Networks(STN)
  3. 将SVN的代码推送到码云的步骤
  4. K8S的 Custom Resource Definition(CRD)之初体验
  5. 微信小程序的点击复制功能
  6. java Concurrent包学习笔记(一):ExecutorService
  7. hdu 3074 线段树 OR 树状数组
  8. pop!_os_Pop!幕后花絮_OS Linux
  9. 怎么才能成为一名PHP专家?
  10. leetcode_sql_1,176,177
  11. 格式化日期为xxxx-xx-xx hh:mm:ss
  12. 数据库面试题及优化手段
  13. 联想主板9针开关接线图_空气开关、断路器、漏电保护,汇总学习一下
  14. LED字体下载,可视化大屏,数据可视化必备
  15. mapbox/minemap 首屏固定比例尺为1:20
  16. hdu 2079 选课时间(题目已修改,注意读题)
  17. C++阶段03笔记03【文件操作(文本文件读写、二进制文件读写)】
  18. 联友科技软件测试,联友科技
  19. C语言进阶 之 字符串函数(4)
  20. 2020世界人工智能大会 -- 落地AI,赋能未来

热门文章

  1. Win11系统启动文件夹是空的怎么解决?
  2. 2021-2022下沉市场研究报告合集(共46份)
  3. promise获取所有文件路径_python使用os.listdir和os.walk获得文件的路径
  4. Instagram API平台文档
  5. 【论文阅读ACL2020】Leveraging Graph to Improve Abstractive Multi-Document Summarization
  6. 复习中国近现代史纲要--“政治编年史”
  7. 知物由学 | iOS AssetBundle资源保护
  8. Spring面试常问
  9. 处理Whitelabel Error Page
  10. 【报告分享】2021民宿行业数据报告-云掌柜(附下载)