第四章 DDR3和FLASH 基于ARTY A7的MicroBlaze系统搭建与应用
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系统搭建与应用相关推荐
- 第五期 中断设计 基于ARTY A7的MicroBlaze系统搭建与应用
第五期 中断设计 基于ARTY A7的MicroBlaze系统搭建与应用 GPIO的中断 GPIO的中断--vitis部分 串口的中断 分析:GPIO,串口的中断怎么体现出来? GPIO的中断 (1) ...
- 第六期 自定义IP添加-PWM 基于ARTY A7的MicroBlaze系统搭建与应用
第六期 自定义IP添加-PWM 基于ARTY A7的MicroBlaze系统搭建与应用 说明 演示:在软核中添加自定义的ip bd文件的编辑 vitis文件 说明 直接在cpu中添加p产生pwm的IP ...
- 仅展示成果:基于ROS的自动驾驶系统搭建教程(三):激光定位ndt_matching
仅展示成果:基于ROS的自动驾驶系统搭建教程(三):激光定位ndt_matching 前端搭建完毕,接着完善后端的功能,现在是最基础的激光点云定位. 初步是要把循迹功能所涉及的所有相关模块给完善好,接 ...
- 驱动专题:第四章MTD及Flash驱动 3. nandflash 详细硬件特性
[详解]如何编写Linux下Nand Flash驱动 版本:v2.2.1 Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flas ...
- 第四章 闪烁探测器----闪烁体、选择原则、光收集系统、PMT、替代产品
文章目录 闪烁体 常用闪烁体 NaI(Tl) CsI(Tl) ZnS(Ag) 有机液体 塑料闪烁体 BGO 锗酸铋 溴化镧(铈) 选择原则 ( !) 光收集系统 ( !) 光电倍增管PMT 类型 噪声 ...
- 《鲁棒控制——线性矩阵不等式处理方法》(俞立)第二、三、四章学习笔记
第二章 线性矩阵不等式 :非零向量, 或者的最大特征值小于0. 是凸集.(设V是数域P上的线性空间,W是V的一个非空子集,如果对W中任意两个向量a,b以及任意0<=c<=1,都有c ...
- [附源码]java毕业设计基于智能推荐的房屋租赁系统
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- fpga驱动rgb液晶屏_正点原子开拓者FPGA开发板资料连载第五十四章基于的数字识别实验...
1)实验平台:正点原子开拓者FPGA 开发板 2)摘自<开拓者FPGA开发指南>关注官方微信号公众号,获取更多资料:正点原子 3)全套实验源码+手册+视频下载地址:http://www.o ...
- 机器学习实战 基于_机器学习实战:基于Scikit-Learn和TensorFlow—第四章笔记
机器学习实战:基于Scikit-Learn和TensorFlow---第四章笔记 一.学习目标 之前用了那么多的机器学习的模型,但是它们各自的训练算法在很大程度上还是一个黑匣子,我们对对系统内部的实现 ...
最新文章
- 生成对抗网络GAN综述
- python爬微博关键字_一个简单的python爬虫实践,爬取包含关键词的新浪微博
- newman的键盘不错
- aix 查看目前java进程_问一个 AIX 的命令 ps -ef|grep java
- BZOJ1370 [Baltic2003]Gang团伙
- android中的SharedPreferences存储
- 麻瓜编程python百度云_麻瓜编程 实用主义学Python
- python libusb_使用python开发usb的两种方式(windriver与pyusb)
- 2013年大数据行业应用展望报告
- HTML5 新特性: Web Worker 的创建与使用(webpack + TS 环境)
- python语义分析_Python - Sentiment Analysis
- 计算机二级第二课堂学记录表,高职学院关于第二课堂学分实施的通知(2020版)...
- android 8 平板,击败Android平板:Windows 8志在必得
- bandizip修改压缩文件内容_即将对文件压缩软件Bandizip进行的更改
- 微电子封装技术未来发展面临的问题与挑战
- Vue3官网使用及简介
- Java-JFR-民间指南---事件详解---jdk-ThreadAllocationStatistics
- Fabric 节点类型&交易流程
- 大学开启大数据开发之路
- java健康检查代码_SpringBoot实现项目健康检查与监控
热门文章
- 地球物理勘探技术类毕业论文文献有哪些?
- 计算机软件申请专利描述,计算机软件能否申请专利?
- spring的actuator健康监测配置
- poco不断重启?看这6点就够了
- Android ocr识别文字介绍(文字识别)
- 宇宙现场面试题目实录
- 易基因|ctDNA甲基化测序分析(ctDNA-WGBS)用于癌症检测和分子分型 | 精准医学
- 客户端与服务器交互的功能,如何进行测试?
- linux查询日志命令加过滤,日志查看技巧之筛选[linux命令集][排查篇]
- android 各种服务介绍,Android 网络服务介绍