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

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

说明

一般芯片是用内部存储,但是内部存储空间是有限的。
所以在嵌入式开发过程中,需要用到外部设备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时钟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值