Microblaze程序固化流程
问题描述:
论坛经常有人问关于microblaze程序固化在SPI FLASH中的问题,虽然网上有很多的关于SDK程序固化的教程,但是其实没有说清楚xilinx FPGA不同型号的SDK程序固化其实是有不一样的地方的,今天我们就来详细说一说关于SDK程序固化的一些细节问题。
相关介绍:
之前我也有点搞不懂为什么网上的教程那么多,但是实际试验下来发现能用的几乎没有几个,我在这里整理了一些资料,和大家分享一下:
- 【Arty-A7入门连载】Vivado中为Arty A7创建MicroBlaze嵌入式系统硬件工程 http://digilent.com.cn/community/197.html
【JokerのKintex7325】SDK程序从QSPI启动。https://blog.csdn.net/natty715/article/details/104084681
- How To Store Your SDK Project in SPI Flash https://reference.digilentinc.com/learn/programmable-logic/tutorials/htsspisf/start?_ga=2.189178594.87643803.1594185081-1026760797.1592460060
具体步骤:
因为我的板子就是Arty-A7 所以我就以此为例介绍具体流程
需要注意的是:《Vivado中为Arty A7创建MicroBlaze嵌入式系统硬件工程》这个教程中有一张图是错的,就是那个Mig个时钟连接的图,正确的连接图应该是图上面的连接 sys_clk 是DDR3的时钟所以应该 连接到166.667MHz clk_ref是告知系统时钟所以连接到200MHz。
在添加完成上述设置之后要添加SPI FLASH IP:
添加完成双击
点击自动连线完成设计,生成bitstream,导出:SDK相关的文件
打开SDK
我这里用的是Vitis,流程是一样的,打开Vitis,创建板子,然后注意修改一个文件:
设置完成点击OK ,此时
创建相关工程,按照上述参考资料二完成后续操作就没有问题了。
答疑解惑:
1. zynq的SDK程序固化和MicroBlaze的固化是不一样的,准确的说是有ARM核的FPAG和没有ARM核的FPGA使用MicroBlaze软核固化方法不一样,网上有的例子适用于在Zynq平台下构建MicroBlaze然后固化的方式,在K7 A7上面这中方法是不可行的。所以基本上必须要用 BootLoader这个代码 将应用程序的代码放在flash上,再从flash读到DDR中运行。
2. 在软核设计过程中,一定要注意相关时钟的选择,有的时候时钟的连接很重要,不同的时钟虽然软件都能跑,但是内部参数设置还是存在一定的隐患。
3. 关于vitis和SDK使用基本上大同小异,没有特别需要大改的地方,用习惯了就好。
4.有很多人的出错往往都是只看教程,忽略了自己板子和教程板子的器件差异导致不成功。
后续:
MicroBlaze SDK从flash加载还有一个加速版本,那就是大神的操作了,我就不做过多的赘述,具体参见:
【JokerのKintex7325】SDK程序从QSPI启动过慢分析。https://blog.csdn.net/natty715/article/details/104241415
大神就是大神,解决问题直击根本,亲测有效。
Microblaze程序固化流程相关推荐
- vivado下microblaze程序固化下载
vivado版本:2016.4 FPGA:XC7A100T-fgg484 FLASH:N25Q128-3.3V-SPI-X1_X2_X4 FPGA程序固化下载流程: 1.vivado中生成XXX.bi ...
- FPGA程序固化流程
一般程序直接下载后存放在芯片上的SRAM中,调电后数据会丢失,若要上电后能够运行,则需将程序存储到外部的flash中,在上电后自动加载.程序固化的流程如下: 1,工程编译完成后,点击file-&g ...
- 在外部DDR3内存中运行的MicroBlaze程序的固化方法
本文以基于米联客MA703FA开发板的MicroBlaze LWIP千兆以太网例程为例,详细介绍在外部DDR3内存中运行的MicroBlaze程序的固化方法. FPGA型号:XC7A35TFGG484 ...
- 【ZYNQ开发系列】基于vitis(vivado2019以上版本)的程序固化~如何把程序烧录到QSPI?
基于vitis的程序固化~如何把程序烧录到QSPI? 前言 废话 背景 开发环境 实现流程 解压项目到工程目录 subst(可选) Vivado部分 升级项目 升级IP核 (重要)使能QSPI 生成比 ...
- ZYNQ之路--程序固化教程
我们刚开始使用ZYNQ时,习惯使用JTAG在线将ZYNQ的PS和PL部分的配置文件烧录进ZYNQ,这样方便我们进行调试,但是却带来了掉电配置文件丢失的问题,因此,在我们学习ZYNQ的路上,必须要学会如 ...
- PYNQ_Z2从vivado到SDK的PS到PL点灯以及固化流程
1. vivado的安装 不得不说赛灵思vivado安装比较费时,有时候还装不上.比较好的解决办法是找一台网卡比较好的电脑下载安装包.我这里安装的是web design 2019.1. 安装直接去赛灵 ...
- Windows平台下程序打包流程
Windows平台下程序打包流程 1.所有测试完成之后.程序release编译完成 2.依赖库打包 执行deploy.bat 脚本打包最新的程序以及依赖库 3.可执行程序打包 打开打包工程文件.evb ...
- TCP 网络应用程序开发流程
TCP 网络应用程序开发流程 1. TCP 网络应用程序开发流程的介绍 TCP 网络应用程序开发分为: TCP 客户端程序开发 TCP 服务端程序开发 说明: 客户端程序是指运行在用户设备上的程序 , ...
- C# 公共控件及程序制作流程
程序制作流程: 1.想这个程序是要干什么的,脑子里会大概有一个框 2.将界面搭出来,界面层 3.编写后台代码,业务逻辑层 4.数据访问层 计算器(思路): 1.事件数据用法 2.后台逻辑锻炼 3.程序 ...
最新文章
- Spring Boot 解决跨域问题的 3 种方案
- 人脸识别loss加强
- 用Cocos2dx开发棋牌游戏的观点解析
- 如何revert一个merged branch上所有的改动
- MarkDown基础语法记录
- 自动驾驶,不要再杀人了
- Linux学习-Linux 主机上的用户讯息传递
- Apache Struts 1宣告退出舞台
- 中国域名商域名注册保有量28强:美橙互联夺回第八
- 2018年总结和计划
- python实现活体人脸识别_手把手教你用Python实现人脸识别
- 几种不同格式的json数据及解析
- cdr怎么抠图轮廓线条_CDR怎么抠图?CorelDRAW快速抠图方法
- 作为资深Mac用户,有哪些你相见恨晚的软件值得推荐?
- 太空垃圾有解决办法?RemoveDEBRIS 卫星将使用鱼叉设备带回垃圾
- Object-Oriented Programming Summary Ⅲ
- 千粉缔造760w播放!B站“新人”UP主在B站怎么加速上位?
- 【工大SCIR】基于动态图交互网络的多意图口语语言理解框架
- 关于用c++写心理测试是有分支就行的事(这次是哈利波特分院帽)
- 2022 极术通讯-搭载“星辰”处理器的聆思科技CSK6视觉AI开发套件开发概览
热门文章
- ae破碎效果在哪_AE教程 | 五分钟制作文字破碎效果
- ae手机版特效软件如何制作抖音热门视频飞天特效的教程
- #一首国庆生活写照#
- PDM转换成Word文档或者XML文档
- Arduino Nano 引脚分配图及定义详解
- kodi 下载插件失败/无法刮削
- linux开启dhcpclient服务,dhcp client 配置
- android app性能优化大汇总(UI渲染性能优化)
- Android的计量单位px,in,mm,pt,dp,dip,sp
- 企业购买银行理财产品如何核算