XILINX公司的FPGA中集成了硬PPC控制器,在ISE开发环境中嵌入XPS microblaze软核后添加BootLoader.elf文件实现boot功能。
最终实现的条件就是生成download.bit文件,实现过程中会生成ISE工程bit文件,systembit文件,还有好多bmm文件,需要捋清楚这些文件的关系。

ISE中添加microblaze软核

microblaze软核在XPS中开发,可以通过ISE生成,也可以在XPS中新建工程。软核生成后再ISE工程顶层文件下边可以例化microblaze软核,用作CPU控制模块,然后ISE工程可以添加其他IP实现自定义功能。实例工程如图1.第二个箭头可以用于生成例化模块,粘贴进顶层文件就好了,比较省事。

整个工程实现功能后,需要添加BootLoader功能才可以实现boot。具体如下:

生成bmm文件

XPS中添加软核必要的组件后,生成网标,此时会在软核工程的implementation文件夹下生成system.bmm文件,在ISE工程下综合后会生成edkBmmFile.bmm文件,这两个文件是一回事,第一个是XPS自己生成的,用于指导在XPS中烧写FPGA的ram初始化映射文件,第二个是ISE中生成的,用于指导在ISE中烧写FPGA的ram初始化文件,包括地址映射路径和mem文件清单。

生成bmm_bd文件

ISE中执行布局布线后,会生成后缀_bd的bmm文件,在上文bmm文件的基础上添加了FPGA中ram的位置信息,最终有用的bmm文件就是system_bd.bmm文件,如图2,。注意在ISE工程路径下和XPS路径下都会有_bd.bmm文件文件,没有差异,只是在ISE中文件名为edkbmmfile,XPS路径下为system。export文件夹下的为edkbmmfile.bmm和bit文件用于XPS中导出download的备份文件。

生成download.bit文件

该文件会同bit文件和elf文件一起烧写为最终的download.bit文件,烧写工具是SDK中的Program FPGA,该工具会自动在SDK工程目录下的XPS_SDK_prj_hw_platform中寻找system.bit文件和system_bd.bmm,并需要用户手动添加elf文件。

如果XPS_SDK_prj_hw_platform文件没有bmm文件或者bit文件,一定是用户自己修改工程导致文件缺失了,可以手动删除bmm文件,EDK软件会自动要求更改,从SDK_Export中复制这两个文件。用Program FPGA烧写后就可以生成download.bit文件。

这个download.bit用以上办法生成是比较简单的,如果在ISE中生成,比较麻烦,需要编辑TCL指令,data2mem -bm -bd -bt,可以自行百度,注意三个文件路径搞对就可以。


注意:如果在EDK工程下使用工具生成download.bit文件,在ISE工程中可以不添加BootLoader.elf,因为在工具中会指定elf文件。如果在ISE工程中执行download.bit文件,必须添加BootLoader.elf文件。

最后说一说几个bit文件:
ISE工程编译完成后,会生成三个bit文件,分别是ISE工程bit,存放在ISE工程目录下,剩下二个是system.bit和download.bit,都存放在SDK工程下的implementation文件夹下,此时这三个bit文件没有差异。我们要做的是在ISE工程中将bit文件导出至SDK工程,执行完这部后,第一个ISE工程bit会被拷贝至SDK工程目录下的SDK export文件夹下,system.bit会拷贝至XPS_SDK_prj_hw_platform文件夹下,当然,这几个bit文件也没有差异,执行完Program FPGA后,会在XPS_SDK_prj_hw_platform文件夹下生成最后的download.bit。

END

ISE中开发XPS microblaze软核与BootLoader功能的实现相关推荐

  1. microblaze软核处理器及其ip核调用

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yundanfengqing_nuc/a ...

  2. MicroBlaze软核介绍

    0 本章目录 1)FPGA简介 2)MicroBlaze软核处理器简介 3)结束语 1 FPGA简介 1)现场可编程门阵列(FPGA),FPGA是可重新编程的硅芯片. 2)FPGA优点:与DSP和AR ...

  3. Xilinx MicroBlaze软核驱动DDR4

    版权声明:本文为CSDN博主「Crazzy_M」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/qq_4014 ...

  4. Xilinx MicroBlaze软核驱动DDR3

    Xilinx MicroBlaze软核驱动DDR3 说明:通过Vivado生成MicroBlaze工程导入SDK实现DDR3的读写. 环境:Vivado2018.3. IP核:MicroBlaze. ...

  5. Xilinx MicroBlaze软核的使用-Uartlite

    Xilinx_MicroBlaze的使用-Uartlite 说明:通过Vivado生成MicroBlaze工程导入SDK实现LED的控制.串口与PC的通信,以及如何灵活使用Vivado分配的地址信息. ...

  6. ISE创建Microblaze软核(三)

    第七步 进入SDK开发环境 编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录. 进入SDK主界面. ...

  7. PYNQ-Z2调试笔记:在Microblaze软核中编程运行C程序

    本篇主要介绍,通过Jupyter在Microblaze Subsystems上使用C语言编程,实现一些简单的功能. 目录 前言 正文 一.软核PMODA.PMODB.RPI.ARDUINO 二.在软核 ...

  8. MicroBlaze软核处理器简介

    更多精彩内容,请微信搜索"FPGAer俱乐部"关注我们. MicroBlaze™ 是 Xilinx 嵌入式产品系列的重要组件.MicroBlaze 是功能齐全的.更少指令集的 FP ...

  9. MicroBlaze软核扩大内存的方法

    在Address Editor中可以直接在下拉框中选择内存空间的大小,前提是,分配的内存空间大小为2的幂次方 如果需要的内存空间不是2的幂次方的话,可以通过设置LMB的数目,手动添加bram_ctrl ...

最新文章

  1. Mask_RCNN安装与踩过的坑
  2. Android开发之底部导航栏标准
  3. 电力“十三五”蓝图发布 新能源迎发展机遇
  4. linux编程基础_第1篇 Linux系统编程 -多线程基础
  5. All Things OpenTSDB
  6. python编程基础知识点_12个关于Python编程基础知识的总结
  7. python 如何修改字典的key值_Python编程:如何把元组/字典作为参数传递给函数(附代码)...
  8. uniapp中封装ajax方法
  9. rpm安装mysql5.6_利用rpm安装mysql 5.6版本详解
  10. 基于JAVA+Servlet+JSP+MYSQL的在线鲜花商城系统
  11. python安装与配置虚拟环境包_python 虚拟环境配置及pypi包使用及包怎么
  12. 一 破解windows7系统密码
  13. 统一社会信用代码、纳税人识别号验证规则
  14. linux 部署应用服务器,(小白指南)在 Linux 服务器上安装 Nodejs、Nginx 以及部署 Web 应用...
  15. sql面试题 查询学过“叶平”老师所教的所有课的同学的学号
  16. 使用ML 和 DNN 建模技巧总结
  17. 利用Java进行身份证正反面信息识别
  18. 鸿蒙OS内核分析|解读鸿蒙源码
  19. 风暴英雄修改服务器,风暴英雄已支持全球各服务器切换 国服不包含在内
  20. first集合及follow集合

热门文章

  1. 【c语言五子棋】自定义类型五子棋/井字棋:胜负判断
  2. 半年说出自己想说的英语
  3. lodop打印插件用法
  4. 千兆网卡芯片对比:后起之秀和江湖前辈,谁更优秀?
  5. Triple Collocation方法 学习
  6. 灵活顶点格式 FVF
  7. 如何在领英上创建主页的细节方法,让我们更高效的运用领英
  8. 机器学习笔记(5)——逻辑回归
  9. GEMMA做GWAS分析(二)
  10. Js之echarts图片下载