课件首页flash课件网络试题教案学档说课稿考研真题课时学案精品作文工作总结实用文档教学论文个人简历论文中心考试中心教学素材文学作品法律文书幼儿教育软件科技英语学习学习教程党团社会故事大王科普知识中考专题高考专题

Zybo全栈开发入门教程——连载二:移植Linux操作系统

发布时间:2018-02-22 23:19  作者:极品课件站  点击数:

这篇文章将向大家介绍向Zynq SoC移植Linux操作系统,具体划分为制作Boot.bin文件、设备树文件、内核镜像以及根文件系统。开始之前需要大家对u-boot、Linux内核以及Git工具具有一定的了解,这样下面的步骤才能够顺利的进行。

资源下载:

U-boot:与ZYBO板卡硬件设计相关

 Linux 内核源码

根文件系统

:相关资料可以在Digilent的GitHub账户上找到(即https://github.com/DigilentInc)

步骤一:编译生成u-boot.elf文件


使用git clone命令从github上下载u-boot源码,注意使用主分支(master),使用tar命令对下载的压缩文件解压,tar zxvf u-boot-digilent-2012.04-digilent-13.01.tar.gz。 如果下载的是zip文件用unzip u-boot-digilent-2012.04-digilent-13.01.zip


编译u-boot之前我们要先设置好交叉编译环境变量,设置环境变量方法为source settings64.sh(见第一篇文章),然后根据上图编译u-boot,使用命令make CROSS_COMPILE= arm-xilinx-linux-gnueabi-


编译完成后会在u-boot-Digilent-Dev目录下生成u-boot文件,我们要给其加上‘.elf’,并且预先拷贝到sd_image目录下。

步骤二:制作FSBL文件


首先打开vivado,点击File->Export->Export Hardware for SDK,选择第一篇文章建立好的硬件工程,注意Launch SDK选项要打勾。


在新打开的SDK界面下选择File->New->Project新建工程


根据上图完成各项配置,将工程名字设置为FSBL,选择hw_platform_0,OS platform选择standalone。然后点击Next弹出下面对话框。

SDK为我们提供了Zynq FSBL应用模板,FSBL(first stage bootloader)即为第一阶段启动引导文件。SDK会自动编译生成FSBL.elf文件,位于目录zybo_base_system/source/vivado/hw/zybo_bsd.sdk/SDK/SDK_Export/FSBL/Debug/。

步骤三:生成boot.bin文件

首先,我们需要在fsbl hook中设置mac地址。可以将FSBL project中的fsbl_hooks.c文件和source/vivado/SDK/fsbl目录下的fsbl_hooks.c互换。然后点击build重新编译。


在SDK界面选择Xilinx Tools->Create Zynq Boot Image弹出上面对话框来生成boot文件。依次按顺序添加FSBL.elf、system.bit和u-boot.elf文件。System.bit在zybo_base_system/source/vivado/hw/zybo_bsd/zybo_bsd.sdk/SDK/SDK_Export/hw_platform_0/目录下, u-boot.elf在zybo_base_system/sd_image/目录下。最后制定输出目录生成BOOT.BIN文件。

步骤四:编译Linux内核



编译Linux内核首先我们也要先下载源码并解压,设置交叉编译环境,导入内核配置,然后编译(具体命令如上图所示)。

步骤五:制作uimage

经过步骤四编译后生成的文件为zImage,位于arch/arm/boot/目录下,这里我们需要制作未经压缩过的内核镜像uImage。

步骤六:制作根文件系统uramdisk.image.gz

这里我们要借助u-boot目录下的mkimage工具,首先从本文开头的连接下载ramdisk8M.image.gz文件,设置好文件路径根据上图命令生成uramdisk.image.gz文件。

步骤七:制作设备树文件

在下载的Linux内核源码目录下已经有预先设备号的设备树源文件zynq-zybo.dts,按照上图命令即可生成devicetree.dtb文件(注意生成文件名字不可修改)。


(责任编辑:ioter)

用户喜欢...

联想与迪士尼共同开发的首款沉浸式AR游戏设备正式问世

在德国柏林消费电子展(IFA 2017)上,联想与迪士尼合作的一款由智能手机驱动的增强现实头戴设备——Lenovo Mirage,...


Maxim推出新版EE-Sim DC-DC设计工具,帮助用户快速开发高品质电源

Maxim宣布推出免费的EE-Sim DC-DC转换器设计和仿真工具,帮助电源设计新手快速、自信地创建自己的电源,并助力电...


借助reVISION加速监控系统的开发

监控系统严重依靠嵌入式视觉系统提供的功能加速在广泛市场和系统中的部署。这些监控系统的用途非常广泛,包括事件和流量监控、安全与安防用途、ISR 和商业智能。用途的多样性也带来...


ROHM开发出车辆检测领域性能最好的地磁传感器(MI传感器)“BM1422AGMV”

“BM1422AGMV”是融合了合作伙伴爱知制钢株式会社的MI元件开发技术和ROHM所擅长的半导体生产技术、传感器控制技术优...


带有 JESD204B 高速模拟的 Xilinx Kintex® UltraScale™ FPGA DSP 开发套件

支持 JESD204B 高速模拟的 Xilinx Kintex® UltraScale™ FPGA DSP 开发套件可提供一个综合平台,用于通过宽带模拟数据采集对高性能数字信号处理应用进行快速原型设计。高级设计方法、IP 和经过确认...


ADI开发套件可简化空气质量传感器系统设计

空气质量检测对于健康和安全至关重要,在教室和其他教育场所等特定区域甚至是强制性要求。不过对开发人员而言,空气传感器系统的设计可能问题重重。空气质量传感器在设置期间往往看起...


大联大友尚集团推出ST物联网开发套件,为开发物联网带来最高灵活性

致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下友尚推出意法半导体(ST)最新的ST...


使用 LoRa 进行低速率、长距离物联网应用开发

设计人员可以使用各种各样的无线技术将产品连接到物联网 (IoT)。每种技术适用于不同的应用,需要设计人员仔细考虑作用距离和数据速率、成本、功耗、体积和外形等因素。 本文将介绍 LoR...


嵌入式开发32位MCU加速取代8位MCU应用

目前在嵌入式MCU开发领域,8位MCU仍占据1/3以上份额,在工业控制、安防、物联网、消费类电子等诸多领域,8位MCU的身影依然处处可见,根据IHS的预测,2018年8位MCU的市场规模将增长到78亿美元...


恩智浦PCA8538评估板评测

PCA8538是恩智浦(NXP)公司推出的最新的基于COG技术的液晶显示节段驱动器,该芯片最多可以支持918个像素。爱板网第...


you might also like

Transceiver能否使用内部MMCM/PLL输出的全局时钟做参考钟,有什么

5G毫米波无线电的最优技术选择

FPGA源同步时钟输出

Imagination:SoC GPU的崛起和重新调整

如何让MCU更多功能、更少功耗?

NI毫米波收发器系统硬件介绍

用十张图解释机器学习的基本概念

物联网处理器指南

Imagination加入特隆论坛的开放物联网平台倡议

 关于本站    网站帮助    广告合作    下载声明  
Copyright ©2006-2010ss All Rights Reserved.
浙ICP备09021635号

友情链接/网站合作咨询: