【【Micro Blaze 的 最后补充 与 回顾 】】

Micro Blaze 的 最后补充 与 回顾

Micro Blaze 最小系统

以 MicroBlaze 为核心、LocalMemory(片上存储)为内存,加上传输信息使用的 UART串口就构成了嵌入式最小系统。当程序比较简单时,Local Memory 可以作为程序的运行空间以及存储空间,空间大小可以根据需要设置最小 8KB 到最大 128KB;当程序比较复杂的时候,我们也可以使用片上搭载的外部存储器(如 DDR3)作为程序的运行空间以及存储空间。AXI Interconnect IP 核用于将一个(或多个)AXI 存储器映射的主器件与一个(或多个)存储器映射互联。在这里我们解释一下这个术语------互联(Interconnect):互联实际上是一个开关,它管理并指挥所连接的 AXI 接口之间的通信。

另外一个想法

其实我们使用的外部 LED 按键都是 我们自己认为是这个东西 它的本质都属于 GPIO 设备

我们通过管脚绑定 让 这个 GPIO 变成独属于 设备的 控制器

详情我们可以看 《正点原子 达芬奇 Micro Blaze 的 第四节 》先看结构框图

这个是整个的 Block Design

接下来 见解 最深的是 第八章

自定义 IP 核-呼吸灯实验

我们来看 系统框图

我们注意到的其实是这个 Breath LED 的 自定义 IP核

我们以这个 AXI 接口为核心 添加了端口 out

其实对我们整个设计来说 我们并不需要知道这是怎么完成的

我们 要把 整个设备当成黑盒器件使用

补充了一个 output 在最后有一个 led 的 引脚引出

先说一下 黑盒的用法 里面 分为 3部分 第一部分是 AXI的主函数 我们内部添加了 一个output

第二部分是 AXI 的内容 我们在里面添加了 LED的例化 就是相当于 把寄存器 绑定到 LED 的输入输出

第三部分是 LED的实现内容

其实我们主要关注 主函数的实现 发现就是一个 AXI的接口 还有一个 output LED

我们不理解的话 可以看管脚约束 将这个管脚接在了 PIN R2 上

我们再看 引出的 UART 也会有 管脚绑定 这就是 这两个的相同点

这里面更重要的 一点是 我们需要知道 自定义的IP核 打包之后 会生成一个 .c .h文件供我们使用

我们先介绍一个非常重要的基本概念

IP的接口就是函数的输入参数

生成的.c文件 就相当于 把硬件抽象 成 一个库函数

通过库函数 来设置 输入参数

所以生成的逻辑 就是 根据你的硬件IP 的接口来的

ok 我们在做设计的时候 当合成一个IP之后 进入 C语言的层次之后 其实我们并不需要 知道 这个模块究竟是如何连接的 我们只需要知道这个模块的引脚是什么 功能是什么即可

对于这里的设计 我们需要在意的是 IP的 工作 输入输出 是什么 输入是 S_AXI 而 输出是 LED (LED 我们知道是寄存器达标的值)

那么 功能是 把 数写进 寄存器

LED的改变只是 因为寄存器变化而带来的附加效果

其实相当于把 数据存进到 寄存器

所以可想而知 .c 文件大概率也是这些功能

因为是系统来完成的 我们所能做的就是 观察 得出结论

这句话 就相当于 把数据放进基地址+偏移量的位置

这句话 就相当于 输出的意思

over

接下来 我们来学习第九章

AXI4 接口之 DDR 读写实验

本次设计 不在单单的使用 内部逻辑缓存 而是外挂 DDR

我们来看一下 整个结构框图

我们使用的 是 自己创建的 DDR_TEST 这个 DDR 的 目的是 在 4K 的 存储空间 写入 1024个数据 写入1到1024 每个数据 占用 32Bit

4K = 4096 x 8 bit = 1024 x 32

我们在 Micro Blaze 定义了 cache 所指向的地址 就是内存中的 我们需要使用的地址

然后需要注意的是 这里的地址 必须 和 我们在 IP INTEGRATOR 下的 Address Editor

MIG 内的地址 一致 毕竟我们都是指向的同一个东西嘛

但是 我们 自己定义的IP DDR3_ Test 并不是 写基地址 而是把 偏移量什么的 都需要考虑进去 毕竟 DDR3 _Test 作为一个设施 是直接访问 DDR3 的内存 空间

我们将变量 C M AXI TARGET SLAVE BASE ADDR 的值修改为 0x88000_0000(DDR3的基地址为 0x80000000),它位于 DDR3 存储器的地址空间,是 DDR3_TEST IP 核进行读写操作的起始地址。

懂你意思

接下来我们来看 第十三章 AXI DMA 环路测试实验

下面是这个实验的系统框图

相关推荐
m0_739312871 小时前
【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)
stm32·单片机·嵌入式硬件
嵌入式小章1 小时前
基于STM32的实时时钟(RTC)教学
stm32·嵌入式硬件·实时音视频
TeYiToKu1 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
基极向上的三极管2 小时前
【AD】3-4 在原理图中放置元件
嵌入式硬件
徐嵌2 小时前
STM32项目---水质水位检测
stm32·单片机·嵌入式硬件
徐嵌2 小时前
STM32项目---畜牧定位器
c语言·stm32·单片机·物联网·iot
lantiandianzi3 小时前
基于单片机的老人生活安全监测系统
单片机·嵌入式硬件·生活
东胜物联3 小时前
探寻5G工业网关市场,5G工业网关品牌解析
人工智能·嵌入式硬件·5g
stm32发烧友3 小时前
基于STM32的智能家居环境监测系统设计
stm32·嵌入式硬件·智能家居
hairenjing112311 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word