


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. . -.基于MicroBlaze的嵌入式系统设计由技术编辑于星期二,03/26/2013-23:06发表摘 要:当今时,嵌入式系统已经无所不,与人们的日常生活息息相关。嵌入式系统以微处理器为核,以计算机技术为根,其主要特征是实时性强。据统,目前世界上微处理器年生产总量的95以上都是面向嵌入式系统应,围绕Xilinx公司的MicroBlaze微处理,对其体系构造、设计流程和相关开发工具一一做出介,并且通过一个简单的实例来说明以MicroBlaze处理器为内核的嵌入式系统的开发过程。MicroBlaze处理器构造MicroBlaze处理器是Xilinx公司针对嵌入式处理器开发应用推出的一种32位嵌入式处理器内核,他是一种软核构造,简单但灵活性强,在目标器件中可以进展任意配置。他采用RISC指令集、Harvard体系构造,该处理器有以下一些特征:32个322个专用存放器。3232种寻址方式。别离的32IBM的OPB总线规X。(LMB)(BRAM)。(cache)(MDM)。带8/FSL)。说明:DOPBDLMB(BRAM)之间提供专用的高速数据交换通道。- . word资料.. . -.IOPB用于实现外部程序存储器的总线接口。当程序较大时,需要外接大容量的存储器,该总线提供读取指令的通道。ILMB用于取指令的本地存储器总线,该总线与器件内部的块存储器(BRAM)相连,实现高速的指令读取。MFSL0..7 主设备数据接,提供点对点的通信通道SFSL0..7 从设备数据接,提供点对点的通信通道。EDKEDK(EmbeddedDevelopmentKit)是Xilinx公司针对FPGA内部32位嵌入式处理器开发而推出的开发套件。EDK的工具包中集成了硬件平台产生器、软件平台产生器、仿真模型生成器、软件编译器和软件调试等工具,利用其集成开发环境XPS(XilinxPlatformStudio)可以方便、快速地完成嵌入式系统开发的整个流程。EDK以IPcore的形式,提供诸如LMB,OPBSDRAM控制器、UART中断控制器、定时器及其2所示。- . word资料.. . -.一个完整的嵌入式处理器系统设计通常包括3个局部:硬件系统的构建;存储器映射及软件的开发;应用程序开发。在XPS集成开发环境下,嵌入式处理器硬件系统的构建由微处理器硬件规X(MHS)文件和微处理器外围设备描述(MPD)文件定义;软件系统构造由微处理器软件规X(MSS)文件定义,其开发流程如图3所示。- . word资料.. . -.MHSMPD文件包含外围设备的所有有效输入/MSS文件主要用来定义软件库、驱动程序和文件系统。说明:Data2BRAM的作用是把软件代码文件(3.elf)、FPGA位流文件(3.bit)和块存储器(BRAM)初始化数据文件(3.bmm)转换成新的FPGA位流文件(3.bit)和存储器数据文件(3.mem)。关于应用程序的编写将在下面的实例中详细介绍。一个简单的实例本实例基于e元素科技的数字刀剑系列之火龙刀3评估板,简要表达一个嵌入式处理器系统的开发流程,着重讲述应用程序的编写。对于其他评估板,只需对用户约束文件(3.ucf)稍做修改即可。为简单起见,与图2所示一个完整的系统相比,本例所述系统只在OPB总线上挂MDM(硬件调试模块)和GPIO(通用输入/输出设备)2个外围设备,GPIO对应评估板上8个LED输出,当完成下载到FPGA后,8个LED将不停地闪烁。具体描述如下:第一步,硬件系统构建,在XPS集成开发环境下,利用BSP(BaseSystemBuilder)向导自动创立一个以Mi-croBlaze处理器为核心的简单硬件系统,设置处理器时钟频率为50MHz,总线时钟频率为50MHz,设置片上读/写调试模块为调试接口,在处理器IP中,只参加MDM和GPIO。根据向导逐步操作,即可完成硬件系统的构建。第二步,在硬件系统建立后,利用XPS的集成工具,完成网表的生成和软件的配置,存储器地址映射(默认由系统自动生成,分配的地址随系统而异)如表1所示。驱动配置和存储器映射的标识符及地址分配包含在文件xparameters.h中,以上两步具体操作实现细节可参考EDK相关文档。第三步,应用程序的开发。应用程序的编写使用C语言,其方法有2种,第一种是可以采用EDK提供的应用程序接口函数(API),接口函数既多又复杂,不易搞懂;第二种方法是采用硬- . word资料.. . -.件的通用方式即简单的对地址赋值的方式。本例选用后者,要采用地址赋值方式,首先要了解GPIO的存放器地址映射,参见表2。相关代码及描述如下:首先设定一个指针变量,将系统分配给GPIO的地址赋给指针变量,即让指针指向GPIO的基地址,也就是GPIO的数据存放器(GPIODATA),接着向GPIO三态控制存放器写零(其地址为基地址加上偏移量4,即让指针变量加4),将GPIO设置为输出,接下来就可以往GPIO数据存放器送数,以控制8个LED的状态。#include"xbasic_types.h"#include"xparameters.h"#include"xutil.h"#include"xgpio_l.h"#defineLEDDELAY2000000voidmain(){Xuint32Data=0xaa;intDelay;intcount=0;Xuint323ledptrledptr=(int3)0x80002200;//指针指向GPIO*(ledptr+4)=0x00000000;//向GPIO_TRI存放器写零,将GPIO初始化为输出while(1){count++;if(count%2==0){*ledptr=0x55;//向GPIO_DATA存放器送数,驱动LED}- . word资料...-...-.word资料.word资料.-.else{*ledptr=0xaa;//向GPIO_DATA存放器送数,驱动LED}for(Delay=0;Delay<LED_DELAY;Delay++);//延时以看清LED在闪烁if(count%2==0){*ledptr=0x0f;//向GPIO_DATA存放器送数,驱动LED}else{*ledptr=0xf0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度高端办公室租赁服务合同
- 2025年度知识产权质押贷款合同民间借贷法律规定及操作指南
- 二零二五年度专利信息检索与专利布局合作协议
- 2025年度股东投资退出机制对赌协议书
- 二零二五年度沿街房屋租赁合同(含物业管理服务)
- 二零二五年度网络安全服务预付款回款协议
- 二零二五年度财务审计与评估合同
- 2025年度科技创新园区无偿用地开发协议
- 二零二五年度个人房屋买卖合同模板:配套设施使用
- 二零二五年度电商大数据分析与营销服务合同
- 经口鼻吸痰法护理课件
- 电气设备故障诊断及维修方法
- 《园林生态学》课件
- 2024年其他资格考试-WSET二级认证历年考试高频考点试题附带答案
- 初中化学实验报告单(上)
- 06J403-1 楼梯、栏杆、栏板图集
- 货物质量与安全控制方案
- 课堂导入培训课件
- 高中物理多普勒效应练习题
- 静物速写课件
- 机电系统调试方案
评论
0/150
提交评论