在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9959|回复: 4

[活动] 【zynq征文】u-boot image生成

[复制链接]
发表于 2013-2-18 10:26:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x


这节介绍一下如何生成u-boot image文件,在SDK软件中点击Xilinx Tools→Create Boot Image工具即可生成,但是生成image文件需要首先集齐3个文件:u-boot.elfsystem.bitfsbl.elf。以下分别介绍一下3个文件的生成过程:

1.u-boot.elf


u-boot.elf的生成在《u-boot编译》中有所介绍,笔者使用虚拟机搭建了ubuntu环境,首先建立交叉编译环境,然后通过git克隆xilinxu-boot资源,执行以下代码:





  1. cd u-boot-xlnx         #转换到u-boot目录
  2. make zynq_zed_config  #配置zed板
  3. make                #执行编译


复制代码




在当前目录下生成了u-boot文件,如图1所示,添加elf后缀,u-boot.elf文件则生成完成。

snap1.jpg

1


2. system.bit


system.bitPL部分的BIT文件,首先在ISE软件中新建工程,加入zynq系统,在EDK中配置ARM核及其外设,返回ISE生成TOP HDL Source,点击generate Programming File即可生成Bit文件,如图2所示,然后点击Export Hardware Design To SDK with Bitstream进入下一步。

snap2.jpg

2


3.fsbl.elf


fsbl.elf文件需要在SDK软件中生成,首先新建工程,选择Xilinx CProject,然后选择Zynq FSBL,编译工程即可生成zynq_fsbl_0.elf文件,过程如图345所示。

Snap3.jpg

3


Snap4.jpg


4

Snap5.jpg

5


Image生成


集齐u-boot.elfsystem.bitfsbl.elf就可以生成Image文件了,在SDK软件中点击Xilinx Tools→CreateBoot Image,如图6所示,然后选择3个文件,点击Create Image,生成文件如图8所示,其中u-boot.bin文件就是需要的u-boot image文件,将其重命名为BOOT.BIN后拷贝到SD卡中。

Snap6.jpg

6

Snap7.jpg

7

Snap8.jpg

8


zynq芯片上电初始化,进入u-boot,会自动加载devicetreezImageRootFS,然后启动Linux

发表于 2014-3-19 10:33:41 | 显示全部楼层
楼主你好,我按你的步骤生成的boot.bin文件考到SD卡后,出现如下启动不了的错误:终端输出信息如下:
U-Boot 2012.04.01 (Mar 19 2014 - 09:37:51)

DRAM:  512 MiB
WARNING: Caches not enabled
MMC:   SDHCI: 0
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   zynq_gem
Hit any key to stop autoboot:  0
Copying Linux from SD to RAM...
Device: SDHCI
Manufacturer ID: 41
OEM: 3432
Name: SD8GB
Tran Speed: 25000000
Rd Block Len: 512

Tran Speed: 25000000
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 7.4 GiB
Bus Width: 4-bit
reading zImage

2458680 bytes read
reading devicetree.dtb

9660 bytes read
reading ramdisk8M.image.gz

3694108 bytes read
## Starting application at 0x00008000 ...
Uncompressing Linux... done, booting the kernel
这个怎么解决啊?望楼主指教!
发表于 2016-7-11 14:37:34 | 显示全部楼层
图7有明显错误,文件顺序由上而下应该是fsbl.elf->FPGA bit文件->u-boot.elf
发表于 2016-11-13 00:36:14 | 显示全部楼层
谢谢,分享
发表于 2016-11-13 11:29:53 | 显示全部楼层
楼主辛苦了,付出肯定有回报,顶一下3026827905
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 15:55 , Processed in 0.045387 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表