DDR3和FLASH 基于ARTY A7的MicroBlaze系统搭建与应用

  • 说明
  • 实验过程
    • 搭建microblaze
    • 打开vitis
    • flash烧写(重点)
      • 验证
        • 细节注意

说明

一般芯片是用内部存储,但是内部存储空间是有限的。
所以在嵌入式开发过程中,需要用到外部设备DDR3。
QSPI FLASH是为了将程序固化,固化之后每次都可以上电后对程序进行烧写。

实验过程

本实验所用软件为vivado 19.2版本和vitis软件

搭建microblaze

(1)建立工程,打开bd设计


(2)确定系统的时钟
确定时钟信号,复位信号,复位管脚
输出时钟确定,166.167Mhz,200Mhz,50Mhz
复位低电平有效




(3)添加DDR3的ip核
系统时钟(开发的用户手册)166.167Mhz
参考时钟(mig ip核的用户手册)200Mhz
由分配器提供时钟


(4)添加microblaze软核

(5)添加QSPI FLASH IP核
flash的输入时钟为50Mhz


(6)run block automation
32kb,16kb
时钟连接,ui_clk(时钟连接很重要,一定要熟悉每个时钟端口)

(7)添加LED,uart,swtich
波特率:115200


(8)run connection automation

(9)create hdl wrapper 创建封装文件

(10)生成bit流文件(注意硬件文件的导出路径)

打开vitis



(1)新建工程,导入硬件说明文件,其他next,连接开发板

(2)可查看硬件的存储空间,已经是DDR3(mig)了



(3)查看BSP,修改flash为5,这是由板卡上的flash决定的

(4)多了个out of data,即是需要更新了,进行编译


(5)新建工程,作为flash烧录的启动器
此处需要修改硬件平台


(6)编译之后生成一个.elf文件

(7)运行一下应hello,world应用工程

(8)打开串口,run as 运行我们的工程

(9)结果显示,可知工程无误

flash烧写(重点)

(1)目的:每次上电后,开发版自动从flash读取bootloader,之后bootloader加载我们的应用工程,烧写到开发版上运行

(2)首先blconfig这里需要设置flash中的应用工程烧写的偏移量
官方偏移量0x00c00000,编译一下


(3)可以看到其存储空间在local memory中,并不是在DDR3上


(4)已经自动绑定了elf文件,generate,生成download.bit文件
目标:将download.bit文件烧写到flash中


(5)烧写到flash中(时间比较长)
注意:文件为download.bit文件,偏移量为0x00,
flash类型会自动识别,提醒我们的


(6)选择直接烧写flash

(7)bit流文件和之前的一致,偏移量和flash一致
要勾选,将elf文件转变为SREC文件
点击program,固化完成

验证


串口部分,说明已经将程序固化到flash上了

细节注意

(1)时钟的分配
DDR3:166.667MHZ,200MHz
QSPI :50MHz
Microblaze:DDR3的ui clk时钟

第四章 DDR3和FLASH 基于ARTY A7的MicroBlaze系统搭建与应用相关推荐

  1. 第五期 中断设计 基于ARTY A7的MicroBlaze系统搭建与应用

    第五期 中断设计 基于ARTY A7的MicroBlaze系统搭建与应用 GPIO的中断 GPIO的中断--vitis部分 串口的中断 分析:GPIO,串口的中断怎么体现出来? GPIO的中断 (1) ...

  2. 第六期 自定义IP添加-PWM 基于ARTY A7的MicroBlaze系统搭建与应用

    第六期 自定义IP添加-PWM 基于ARTY A7的MicroBlaze系统搭建与应用 说明 演示:在软核中添加自定义的ip bd文件的编辑 vitis文件 说明 直接在cpu中添加p产生pwm的IP ...

  3. 仅展示成果:基于ROS的自动驾驶系统搭建教程(三):激光定位ndt_matching

    仅展示成果:基于ROS的自动驾驶系统搭建教程(三):激光定位ndt_matching 前端搭建完毕,接着完善后端的功能,现在是最基础的激光点云定位. 初步是要把循迹功能所涉及的所有相关模块给完善好,接 ...

  4. 驱动专题:第四章MTD及Flash驱动 3. nandflash 详细硬件特性

    [详解]如何编写Linux下Nand Flash驱动 版本:v2.2.1 Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flas ...

  5. 第四章 闪烁探测器----闪烁体、选择原则、光收集系统、PMT、替代产品

    文章目录 闪烁体 常用闪烁体 NaI(Tl) CsI(Tl) ZnS(Ag) 有机液体 塑料闪烁体 BGO 锗酸铋 溴化镧(铈) 选择原则 ( !) 光收集系统 ( !) 光电倍增管PMT 类型 噪声 ...

  6. 《鲁棒控制——线性矩阵不等式处理方法》(俞立)第二、三、四章学习笔记

    第二章   线性矩阵不等式  :非零向量,  或者的最大特征值小于0. 是凸集.(设V是数域P上的线性空间,W是V的一个非空子集,如果对W中任意两个向量a,b以及任意0<=c<=1,都有c ...

  7. [附源码]java毕业设计基于智能推荐的房屋租赁系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  8. fpga驱动rgb液晶屏_正点原子开拓者FPGA开发板资料连载第五十四章基于的数字识别实验...

    1)实验平台:正点原子开拓者FPGA 开发板 2)摘自<开拓者FPGA开发指南>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载地址:http://www.o ...

  9. 机器学习实战 基于_机器学习实战:基于Scikit-Learn和TensorFlow—第四章笔记

    机器学习实战:基于Scikit-Learn和TensorFlow---第四章笔记 一.学习目标 之前用了那么多的机器学习的模型,但是它们各自的训练算法在很大程度上还是一个黑匣子,我们对对系统内部的实现 ...

最新文章

  1. 生成对抗网络GAN综述
  2. python爬微博关键字_一个简单的python爬虫实践,爬取包含关键词的新浪微博
  3. newman的键盘不错
  4. aix 查看目前java进程_问一个 AIX 的命令 ps -ef|grep java
  5. BZOJ1370 [Baltic2003]Gang团伙
  6. android中的SharedPreferences存储
  7. 麻瓜编程python百度云_麻瓜编程 实用主义学Python
  8. python libusb_使用python开发usb的两种方式(windriver与pyusb)
  9. 2013年大数据行业应用展望报告
  10. HTML5 新特性: Web Worker 的创建与使用(webpack + TS 环境)
  11. python语义分析_Python - Sentiment Analysis
  12. 计算机二级第二课堂学记录表,高职学院关于第二课堂学分实施的通知(2020版)...
  13. android 8 平板,击败Android平板:Windows 8志在必得
  14. bandizip修改压缩文件内容_即将对文件压缩软件Bandizip进行的更改
  15. 微电子封装技术未来发展面临的问题与挑战
  16. Vue3官网使用及简介
  17. Java-JFR-民间指南---事件详解---jdk-ThreadAllocationStatistics
  18. Fabric 节点类型&交易流程
  19. 大学开启大数据开发之路
  20. java健康检查代码_SpringBoot实现项目健康检查与监控

热门文章

  1. 地球物理勘探技术类毕业论文文献有哪些?
  2. 计算机软件申请专利描述,计算机软件能否申请专利?
  3. spring的actuator健康监测配置
  4. poco不断重启?看这6点就够了
  5. Android ocr识别文字介绍(文字识别)
  6. 宇宙现场面试题目实录
  7. 易基因|ctDNA甲基化测序分析(ctDNA-WGBS)用于癌症检测和分子分型 | 精准医学
  8. 客户端与服务器交互的功能,如何进行测试?
  9. linux查询日志命令加过滤,日志查看技巧之筛选[linux命令集][排查篇]
  10. android 各种服务介绍,Android 网络服务介绍