
MicroBlaze
一个早起的程序员
主要从事FPGA、ZYNQ、CPU内核、MicroBlaze、STM32、QT、MFC、上位机相关开发,擅长高速接口、视频传输、视频采集,包括PCIe、USB3.0、光纤、SDI、VGA、DVI、HDMI等高速接口。大学期间在学校参加过全国电子设计大赛两届、全国物联网大赛、山东省电子设计大赛、全国信息杯等比赛,并获得全国奖和省级奖十余项。
展开
-
MicroBlaze和FPGA交互方式
1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除;2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及原作者;4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。...原创 2021-03-02 22:47:41 · 2289 阅读 · 0 评论 -
MicroBlaze的优缺点
1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及原作者;4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。...原创 2021-01-26 23:17:01 · 1117 阅读 · 0 评论 -
MicroBlaze概述
1.本文部分素材来源网络,版权归原作者所有,如涉及作品版权问题,请与我联系删除。2.未经原作者允许不得转载本文内容,否则将视为侵权;3.转载或者引用本文内容请注明来源及原作者;4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。下面是我的个人微信公众号,关注【一个早起的程序员】精彩系列文章每天不断。...原创 2021-01-24 23:34:15 · 917 阅读 · 0 评论 -
软核处理器的优势
在FPGA中使用软核处理器比硬核的优势在于,硬核实现没有灵活性,通常无法使用最新的技术。随着系统日益先进,基于标准处理器的方案会被淘汰,而基于MicroBlaze处理器的方案是基于HDL源码构建的,能够修改以满足新的系统需求,避免了被淘汰的命运。将处理器实现为HDL的IP核,开发者能够完全定制CPU和外设(更加灵活),获得恰好满足需求的处理器。MicroBlaze处理器具有完善的软件开发套件,包括编译器、集成开发环境(IDE)、JTAG调试器、实时操作系统(RTOS)和TCP/IP协议栈。...原创 2020-12-12 21:22:17 · 615 阅读 · 0 评论 -
ZYNQ MicroBlaze AXI总线连接注意事项
目录一、AMBA总线协议概述1.ASB2.AHB3.APB4.AXI(1)AXI4(2)AXI4-Lite(3)AXI4-Stream二、ZYNQ MicroBlaze连接AXI总线注意事项三、解决方法一、AMBA总线协议概述AMBA是指先进的微控制器总线体系结构,主要由系统总线和外围总线两部分组成,它的演进如下:根据AMBA标准定义了多种不同的总线,下面列出了四种核心的总线作以简介:高级系统总线 [Advanced System B...原创 2020-12-12 09:18:51 · 3545 阅读 · 1 评论 -
MicroBlaze在纯FPGA上启动流程
目录一、启动原理二、烧写文件集三、烧写文件制作四、烧写五、FLASH分区 一般而言,Xilinx Microblaze会被用来在系统中做一些控制类和简单接口的辅助性工作,比如运行IIC、SPI、UART之类的低速接口驱动,对FPGA逻辑功能模块初始化配置及做些辅助计算等等。类程序的代码量普遍不大,常常在十几KB到几时KB之间,因此对存储的需求通常也不是太高,使用FPGA内部RAM资源便已经够用。那么,当Microblaze需要运行文件系统、网络协议栈甚至是操作系统时,代码量可能会..原创 2020-12-06 11:40:24 · 5743 阅读 · 0 评论 -
处理器DMIPS/MHZ的解释
今天看arm处理器的时候这个单位不明白,网上搜索一下终于明白了,记录如下。DMIPS:Dhrystone Million Instructions executed Per Second :主要用于测整数计算能力。其中: MIPS: Million Instructions executed Per Second,每秒百万条指令,用来计算同一秒内系统的处理能力,即每秒执行了多少百万条指令 。D是Dhrystone的缩写,它表示了在Dhrystone这样一种测试方法下的 MIPS,D...原创 2020-12-05 17:30:12 · 5280 阅读 · 1 评论 -
CPU内部结构图和MicroBlaze内部结构图对比
一、CPU内部结构图二、MicroBlaze内部结构图原创 2020-12-05 17:10:11 · 1967 阅读 · 0 评论 -
MicroBlaze-以不变应万变
一、摘要Xilinx®MicroBlaze™IP核心是一个高度可配置的32位微处理器,针对Xilinx FPGA和SOCS中的可编程逻辑进行了优化。 无缝集成到XilinxVivado®设计中,用户可以利用MicroBlaze处理器来创建一个定制的、高性能的、基于SOC的系统。 此外,Xilinx提供了一个预先配置的MicroBlaze核心,其中最多使用微控制器、实时系统和应用软件三种预设,使设计者能够使用免费可用的评估PC板立即开始软件开发。 MicroBlaze已证明在工业,医疗,汽车,消费者和原创 2020-12-05 15:21:11 · 5265 阅读 · 0 评论 -
MicroBlaze Linux系统的启动流程
总结第一步,CPU从0x0地址(BRAM)执行Loader1 (注意,Loader1放在BRAM中,在配置FPGA过程中就加在进去)第二步,Loader1读取SPI Flash中Loader2程序,然后复制到内存中。第三步,Loader1程序跳至在内存中执行Loader2第四步,Loader2读取SPI Flash中压缩的内核镜像第五步,Loader2程序解压缩内核到另一块内存空间第六步,Loader2程序跳至解压缩的内核镜像第七步,Linux内核启动...原创 2020-12-05 11:53:23 · 2271 阅读 · 0 评论 -
聊一聊如何实现Xilinx Microblaze Bootloader
一般而言,Xilinx Microblaze会被用来在系统中做一些控制类和简单接口的辅助性工作,比如运行IIC、SPI、UART之类的低速接口驱动,对FPGA逻辑功能模块初始化配置及做些辅助计算等等。类程序的代码量普遍不大,常常在十几KB到几时KB之间,因此对存储的需求通常也不是太高,使用FPGA内部RAM资源便已经够用。那么,当Microblaze需要运行文件系统、USBHCD、网络协议栈甚至是操作系统时,代码量可能会高达几MB甚至是几十MB的规模,此时程序就必须在外部存储器运行了。本文以将外部...转载 2020-12-05 11:29:41 · 3040 阅读 · 0 评论 -
CPU执行程序的原理(简化过程)
前言看了网上的一些描述CPU执行程序的过程,发现他们涉及到的内容太多了,恨不能把整个CPU的底层结构都拿出来说,这对计算机理论知识匮乏的新人甚至是一些老人都是非常不友好的。这个问题也是当初拦在我面前的一只大老虎,把这个原理写出来也有助于我自己的深入理解。YouTube上的一个视频How does CPU execute program,是一个很好的CPU执行程序原理的总结,英文水平还行的人建议看原视频,就不用听我瞎BB了。虽然没有字幕,如果能看懂里面的PPT,就基本能理解了。以下内容主要是.转载 2020-12-05 10:39:30 · 1092 阅读 · 0 评论 -
利用Vivado进行MicroBlaze处理器应用教程
目录一、创建带有MicroBlaze处理器的IP设计二、开始IP综合设计(步骤)三、MicroBlaze配置窗口(配置窗口说明)第一页(Welcome Page)第二页(General)第三页(异常)第四页(缓存)第五页(MMU)第六页(调试)第七页(总线)四、MicroBlaze处理器的交叉触发特性五、自定义逻辑六、完成连接(Completing Connections)一、创建带有MicroBlaze处理器的IP设计使用Vivado进行Micr原创 2020-12-04 23:13:36 · 14158 阅读 · 3 评论 -
MicroBlaze控制LED入门【史上最详细】
MicroBlaze控制LED入门【史上最详细】码字截图不易,转载请注明标题和作者,谢谢!!!本教程是写给以Xilinx官方开发板作为平台的初学者本实例中开发环境:软件平台:Win10专业版 64bit + Vivado2017.4版 硬件平台:Xilinx-KC705本实例完整工程下载:请戳此处下面是两个进阶工程,设计过程和本文要讲的LED几乎一样,这里不在赘述。MicroBlaze控制1602_LCD下载:请戳此处MicroBlaze控制1602_LCD+LED+UART转载 2020-12-03 19:06:20 · 3304 阅读 · 0 评论 -
Microblaze工程实例:生成一个可以输出双浮点数的工程配置和AXI访问BRAM全过程
前面已经有一篇博客介绍了MB的基本情况,这里将深入介绍MB的设置,最终实现可以用printf打印出双浮点数并操作BRAM。首先创建Block Design,如下图:然后跳出新的界面,中间有个加号,添加MicroBlaze,然后双击,按下图分别对CPU架构、性能、调试功能、总线等进行配置:其中AXI数据接口是与外围接口交互的总线,之后所有模块都挂在这个总线上。然后选择Run Block Automation添加内存,如下图所示:然后按照下面配置,注意,内存比较足够大才能够.转载 2020-12-03 19:03:35 · 1279 阅读 · 0 评论 -
Microblaze入门
首先例化一个Microblaze:http://www.eeboard.com/evaluation/digilent-cmod-a7-fpga/6/这是一个简单的例子http://blog.youkuaiyun.com/duinodu/article/details/46723181详细介绍了Vivado设置http://blog.youkuaiyun.com/duinodu/article/details/46741387问题汇总Xilinx提供了官方的GPIO和BRAM操作代码,可以参考在SDK界面可以看转载 2020-12-03 19:00:33 · 2348 阅读 · 0 评论