- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
在Microzed上构建嵌入式linux系统(ubuntu16.04下)
我们要生成四个文件:Linux启动需要4个文件:
1.boot.bin2.device_tree.dtb3.uImage4.uramdisk.image.gz
a1.生成boot.bin文件需要:(生成boot.bin时,下面三个文件顺序不能错。)
(1)FSBL:第一级启动引导程序,选择ZynqFSBL模版,生成zynq_fsbl_0.elf(2)system.bit:
硬件比特流(硬件工程文件,有的命名为zynq_system_wrapper.bit)(3)u-boot:u-boot.elf。
LinuxBootloader。u-boot是用于多种嵌入式CPU的bootloader程序。体系结构:api,arch
(u-boot支持的cpu架构,子目录arm使我们用到的),board(和已有开发板相关文件),
common(u-boot命令行下支持的命令),disk,doc,drivers(u-boot支持的设备驱动程序),
fs(支持的文件系统),include(头文件,对各种硬件平台支持的汇编文件,系统的配置文
件和对文件系统支持的文件。configs/zynq_common.h是我们开发板相关的文件),lib(与
体系结构相关的库文件),net,tools(生成u-boot的工具,例如,mkimage,crc等,还包
括Makefile和boards.cfg)
启动过程参考:
a2.device_tree.dtb
devicetree.dtb:Linux系统设备树文件,通过u-boot加载到内存。在运行时,构建系统硬件
的设备树信息传递给内核,进行系统的启动运行。作为u-boot和Linux内核之间的动态接
口。设备树的引入,减少内核对系统硬件的严重依赖,提高代码重用。并且加速了Linux
支持包的开发。这样,使得单个内核镜像能支持多个系统,通过降低硬件所带来的需求变
化和成本,降低对内核设计和编译的要求。使用设备树运行时配置的linux内核,它允许
同一内核镜像可以在不同的硬件配置上运行(Linuxkernelthatusedeviceforrun-TIme
configuraTIonwhichallowsthesamekernelimagetorunondifferenthardware
configuraTIons)。.dts是设备树源文件的格式
a3.uImage
uImage:Linux内核镜像,通过u-boot加载到内存。Linux源码采用汇编语言和C语言编
写,了解内核源码的整体分布情况,有利于理解Linux如何组织各项功能的实现。arch(硬
件体系结构,kernel,lib,mm,math-emu,boot),DocumentaTIon,drivers,fs,include,init,ipc(进
程间通信),kernel,lib,mm,net,scripts,block,crypto,security,sound,usr.
a4.uramdisk.image.gz
uramdisk.image.gz:Linux文件系统,通过u-boot加载到内存。文件系统是解决如何在存储
设备上存储数据的一种方法,其中包括存储布局、文件命名、空间管理、安全控制等。Linux
操作系统支持很多现代的流行文件系统,比如ext2、ext3和ramdisk。
1.构建交叉编译环境
(1)在网上下载:arm-2013.05-24-arm-none-linux-gnueabi-x86_64-linux-gnu.tar.bz2
(2)解压缩。我直接解压到/home/ds下,解压后路径/home/ds/arm-2013.05
(3)gedit/etc/environment将
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:
文档评论(0)