问题描述:

论坛经常有人问关于microblaze程序固化在SPI FLASH中的问题,虽然网上有很多的关于SDK程序固化的教程,但是其实没有说清楚xilinx FPGA不同型号的SDK程序固化其实是有不一样的地方的,今天我们就来详细说一说关于SDK程序固化的一些细节问题。

相关介绍:

之前我也有点搞不懂为什么网上的教程那么多,但是实际试验下来发现能用的几乎没有几个,我在这里整理了一些资料,和大家分享一下:

  1. 【Arty-A7入门连载】Vivado中为Arty A7创建MicroBlaze嵌入式系统硬件工程    http://digilent.com.cn/community/197.html
  2. 【JokerのKintex7325】SDK程序从QSPI启动。https://blog.csdn.net/natty715/article/details/104084681

  3. 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程序固化流程相关推荐

  1. vivado下microblaze程序固化下载

    vivado版本:2016.4 FPGA:XC7A100T-fgg484 FLASH:N25Q128-3.3V-SPI-X1_X2_X4 FPGA程序固化下载流程: 1.vivado中生成XXX.bi ...

  2. FPGA程序固化流程

      一般程序直接下载后存放在芯片上的SRAM中,调电后数据会丢失,若要上电后能够运行,则需将程序存储到外部的flash中,在上电后自动加载.程序固化的流程如下: 1,工程编译完成后,点击file-&g ...

  3. 在外部DDR3内存中运行的MicroBlaze程序的固化方法

    本文以基于米联客MA703FA开发板的MicroBlaze LWIP千兆以太网例程为例,详细介绍在外部DDR3内存中运行的MicroBlaze程序的固化方法. FPGA型号:XC7A35TFGG484 ...

  4. 【ZYNQ开发系列】基于vitis(vivado2019以上版本)的程序固化~如何把程序烧录到QSPI?

    基于vitis的程序固化~如何把程序烧录到QSPI? 前言 废话 背景 开发环境 实现流程 解压项目到工程目录 subst(可选) Vivado部分 升级项目 升级IP核 (重要)使能QSPI 生成比 ...

  5. ZYNQ之路--程序固化教程

    我们刚开始使用ZYNQ时,习惯使用JTAG在线将ZYNQ的PS和PL部分的配置文件烧录进ZYNQ,这样方便我们进行调试,但是却带来了掉电配置文件丢失的问题,因此,在我们学习ZYNQ的路上,必须要学会如 ...

  6. PYNQ_Z2从vivado到SDK的PS到PL点灯以及固化流程

    1. vivado的安装 不得不说赛灵思vivado安装比较费时,有时候还装不上.比较好的解决办法是找一台网卡比较好的电脑下载安装包.我这里安装的是web design 2019.1. 安装直接去赛灵 ...

  7. Windows平台下程序打包流程

    Windows平台下程序打包流程 1.所有测试完成之后.程序release编译完成 2.依赖库打包 执行deploy.bat 脚本打包最新的程序以及依赖库 3.可执行程序打包 打开打包工程文件.evb ...

  8. TCP 网络应用程序开发流程

    TCP 网络应用程序开发流程 1. TCP 网络应用程序开发流程的介绍 TCP 网络应用程序开发分为: TCP 客户端程序开发 TCP 服务端程序开发 说明: 客户端程序是指运行在用户设备上的程序 , ...

  9. C# 公共控件及程序制作流程

    程序制作流程: 1.想这个程序是要干什么的,脑子里会大概有一个框 2.将界面搭出来,界面层 3.编写后台代码,业务逻辑层 4.数据访问层 计算器(思路): 1.事件数据用法 2.后台逻辑锻炼 3.程序 ...

最新文章

  1. Spring Boot 解决跨域问题的 3 种方案
  2. 人脸识别loss加强
  3. 用Cocos2dx开发棋牌游戏的观点解析
  4. 如何revert一个merged branch上所有的改动
  5. MarkDown基础语法记录
  6. 自动驾驶,不要再杀人了
  7. Linux学习-Linux 主机上的用户讯息传递
  8. Apache Struts 1宣告退出舞台
  9. 中国域名商域名注册保有量28强:美橙互联夺回第八
  10. 2018年总结和计划
  11. python实现活体人脸识别_手把手教你用Python实现人脸识别
  12. 几种不同格式的json数据及解析
  13. cdr怎么抠图轮廓线条_CDR怎么抠图?CorelDRAW快速抠图方法
  14. 作为资深Mac用户,有哪些你相见恨晚的软件值得推荐?
  15. 太空垃圾有解决办法?RemoveDEBRIS 卫星将使用鱼叉设备带回垃圾
  16. Object-Oriented Programming Summary Ⅲ
  17. 千粉缔造760w播放!B站“新人”UP主在B站怎么加速上位?
  18. 【工大SCIR】基于动态图交互网络的多意图口语语言理解框架
  19. 关于用c++写心理测试是有分支就行的事(这次是哈利波特分院帽)
  20. 2022 极术通讯-搭载“星辰”处理器的聆思科技CSK6视觉AI开发套件开发概览

热门文章

  1. ae破碎效果在哪_AE教程 | 五分钟制作文字破碎效果
  2. ae手机版特效软件如何制作抖音热门视频飞天特效的教程
  3. #一首国庆生活写照#
  4. PDM转换成Word文档或者XML文档
  5. Arduino Nano 引脚分配图及定义详解
  6. kodi 下载插件失败/无法刮削
  7. linux开启dhcpclient服务,dhcp client 配置
  8. android app性能优化大汇总(UI渲染性能优化)
  9. Android的计量单位px,in,mm,pt,dp,dip,sp
  10. 企业购买银行理财产品如何核算