ISE中开发XPS microblaze软核与BootLoader功能的实现
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功能的实现相关推荐
- microblaze软核处理器及其ip核调用
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/yundanfengqing_nuc/a ...
- MicroBlaze软核介绍
0 本章目录 1)FPGA简介 2)MicroBlaze软核处理器简介 3)结束语 1 FPGA简介 1)现场可编程门阵列(FPGA),FPGA是可重新编程的硅芯片. 2)FPGA优点:与DSP和AR ...
- Xilinx MicroBlaze软核驱动DDR4
版权声明:本文为CSDN博主「Crazzy_M」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/qq_4014 ...
- Xilinx MicroBlaze软核驱动DDR3
Xilinx MicroBlaze软核驱动DDR3 说明:通过Vivado生成MicroBlaze工程导入SDK实现DDR3的读写. 环境:Vivado2018.3. IP核:MicroBlaze. ...
- Xilinx MicroBlaze软核的使用-Uartlite
Xilinx_MicroBlaze的使用-Uartlite 说明:通过Vivado生成MicroBlaze工程导入SDK实现LED的控制.串口与PC的通信,以及如何灵活使用Vivado分配的地址信息. ...
- ISE创建Microblaze软核(三)
第七步 进入SDK开发环境 编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录. 进入SDK主界面. ...
- PYNQ-Z2调试笔记:在Microblaze软核中编程运行C程序
本篇主要介绍,通过Jupyter在Microblaze Subsystems上使用C语言编程,实现一些简单的功能. 目录 前言 正文 一.软核PMODA.PMODB.RPI.ARDUINO 二.在软核 ...
- MicroBlaze软核处理器简介
更多精彩内容,请微信搜索"FPGAer俱乐部"关注我们. MicroBlaze™ 是 Xilinx 嵌入式产品系列的重要组件.MicroBlaze 是功能齐全的.更少指令集的 FP ...
- MicroBlaze软核扩大内存的方法
在Address Editor中可以直接在下拉框中选择内存空间的大小,前提是,分配的内存空间大小为2的幂次方 如果需要的内存空间不是2的幂次方的话,可以通过设置LMB的数目,手动添加bram_ctrl ...
最新文章
- Mask_RCNN安装与踩过的坑
- Android开发之底部导航栏标准
- 电力“十三五”蓝图发布 新能源迎发展机遇
- linux编程基础_第1篇 Linux系统编程 -多线程基础
- All Things OpenTSDB
- python编程基础知识点_12个关于Python编程基础知识的总结
- python 如何修改字典的key值_Python编程:如何把元组/字典作为参数传递给函数(附代码)...
- uniapp中封装ajax方法
- rpm安装mysql5.6_利用rpm安装mysql 5.6版本详解
- 基于JAVA+Servlet+JSP+MYSQL的在线鲜花商城系统
- python安装与配置虚拟环境包_python 虚拟环境配置及pypi包使用及包怎么
- 一 破解windows7系统密码
- 统一社会信用代码、纳税人识别号验证规则
- linux 部署应用服务器,(小白指南)在 Linux 服务器上安装 Nodejs、Nginx 以及部署 Web 应用...
- sql面试题 查询学过“叶平”老师所教的所有课的同学的学号
- 使用ML 和 DNN 建模技巧总结
- 利用Java进行身份证正反面信息识别
- 鸿蒙OS内核分析|解读鸿蒙源码
- 风暴英雄修改服务器,风暴英雄已支持全球各服务器切换 国服不包含在内
- first集合及follow集合