您好,欢迎来到61ic! | [登录] [注册] 忘记密码 | 设为首页 帮助
 . 网站首页 . 业界新闻 . 设计中心 . 移动技术 . TI专栏 . ADI专栏 . FPGA专栏 . 代码工厂 . 官方商城 . 
 . 活动专区 . 新品快递 . 解决方案 . 前沿科技 . TI资源 . ADI资源 . FPGA资源 . 下载中心 . 产品展示 . 
加入收藏
付款方式
联系我们
您现在的位置: 61IC电子在线 >> FPGA专栏 >> Xilinx >> 正文
  Zedboard--zynq开发和启动(三)           ★★★ 【字体:
Zedboard--zynq开发和启动(三)
作者:xzy61003…    文章来源:xzy610030    点击数:    更新时间:2014-1-6    

哈哈,期待的板子到了,终于可以开始玩了,Zynq开发,zynq的开发有四种方式,纯PL开发,纯PS开发(helloworld),PS+PL(无操作系统,跑裸跑程序),PS+PL(跑操作系统)。

1.纯PL开发,这个和一般的xilinx的FPGA没有很大的区别。

2.纯PS开发,

典型的就是helloworld工程,这个看到了网友的有两种方式。注:这两个方式后面都有相应的实验。

           一种是传统的arm的方式,这个可以参考懒兔子博客。

还一种就是xilinx方法,这个是生成一个elf文件,这个elf文件包括了硬件配置信息(xmp),和裸跑程序(c文件)。

3.PS+PL(不跑操作系统)开发,这个可以参考懒兔子博客二,三笔记,生成的elf文件包括了硬件配置信息(xmp),还有裸跑程序(c文件),另外还有一个.bit文件可以看出和纯PS开发的区别了。

4.PS+PL(跑操作系统)开发,这个就需要BOOT.BIN,设备树,linux内核镜像,文件系统了。

其中BOOT.BIN是由3部分组成的(boot.elf,.bit,.fsbl.elf),boot.elf这个是由交叉编译环境产生的,相当于ssbl吧,.bit文件是PL使用产生,fsbl.elf这个就是fsbl吧。

 

 

Zynq启动过程简介

1.在器件上电运行后,处理器自动开始Stage-0 Boot,也就是执行片内BootROM中的代码

2.BootROM会初始化CPU和一些外设,以便读取下一个启动阶段所需的程序代码,FSBL(First Stage Bootloader)。

不过这又有一个问题了----之前说到,Zynq支持多种启动设备,BootROM怎么知道从哪个启动设备里去加载FSBL?这就得靠几个特殊的MIO引脚来选择了:

BootROM会去读取MIO[2..8],从而确定启动设备,将选定设备的头192Kbyte内容,也就是FSBL,复制到OCM(On Chip Memory)中,并将控制器交给FSBL。

3,FSBL启动时可以使用整块256Kb的OCM,当FSBL开始运行后,器件就正式由咱自己控制了。Xilinx提供了一份FSBL代码,如果没什么特殊要求,可以直接使用。

按照手册说明,FSBL应该完成以下几件事。

1). 使用XPS提供的代码,继续初始化PS

2). 将bitstream写入PL(配置FPGA),不过这一步也可以以后再做

3). 将接下来启动用的Second Stage Bootloader(SSBL,一般就是U-Boot一类的东西),或者裸奔程序,复制到内存中

4). 跳到SSBL运行去

4,接下来的步骤就没啥特别了,Uboot开始运行,初始化好Linux启动环境,然后开始运行Linux系统。 

注明:由于自己zedboard还没有开始玩,现在的理解和以后的理解可能又不一样。很多理解粗浅而鄙陋,恳请大家指正,希望大家一起学习进步。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    zedboard--单独PL实验(四)
    zedboard--搭建单板计算机出…
    zedboard-----------tessera…
    zedboard---------在主机Ubu…
    zedboard----------U盘不能挂…
    zedboard------交叉编译open…
    基于Zynq的光流法软硬件协同…
    基于Zynq的光流法软硬件协同…
    基于Zynq的光流法软硬件协同…
    基于Zynq的光流法软硬件协同…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61 湘ICP备13001086号-2