Microsoft Word - MicroBlaze开发流程.doc

Similar documents
Microsoft Word - MicroBlaze讨论会讲稿.doc

j_xilinx-training-courses_2012.pdf

untitled

untitled

KT-SOPCx开发套件简明教程

目 录

目次 

solutions guide

Data Management Software CL-S10w

Ch03_嵌入式作業系統建置_01

EK-STM32F

图 片 展 示 : 资 源 简 介 : FPGA Altera CycloneII EP2C5T144C8 (4608 个 LE) 2 路 有 源 晶 振 (50M,25M) AS & JTAG 标 准 接 口 VGA 接 口 UART 接 口 蜂 鸣 器 8bit 并 行 DAC 8 路 按 键

第七章 中断

大学计算机基础B.doc

NEXT SDT2.51 C:\ARM251 SDT2.51 ARM SDT 2.51 ARM PROJECT MANAGER SDT 2

Microsoft Word - 正文.doc

1 CPU

untitled

Data Management Software CL-S10w

CL-S10w

USB解决方案.ppt

逢甲大學

2/14 Buffer I12, /* x=2, buffer = I 1 2 */ Buffer I243, /* x=34, buffer = I 2 43 */ x=56, buffer = I243 Buffer I243I265 code_int(int x, char *buffer)

JLX

AL-MX200 Series

untitled

Simulator By SunLingxi 2003

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

AL-M200 Series

一个开放源码的嵌入式仿真环境 ― SkyEye

Total Internet Connectivity in a Single Chip

audiogram3 Owners Manual

PROTEUS VSM

untitled

(Microsoft Word - 1-\302\262\244\266.doc)

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

Microsoft Word - MSP430 Launchpad 指导书.docx

VX 680 安装指南

C语言的应用.PDF

ARM JTAG实时仿真器安装使用指南

Chapter 2

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

Presentation Title

圖 1. 手 工 搭 棚 [ 與 PCB 印 刷 電 路 板 PCB 除 了 電 路 之 外, 也 放 置 各 種 電 子 零 件 如 圖 2 所 示, 電 子 零 件 與 PCB 的 接 合 方 式 有 二 : 插 件 式 (Pin Through Hole, PT

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673

P4i45GL_GV-R50-CN.p65

SDS 1.3


(Microsoft Word -

VHDL Timer Exercise

<4D F736F F D20B9E3CEF7B9A4C9CCD6B0D2B5BCBCCAF5D1A7D4BA D D1A7C4EAD0C5CFA2B9ABBFAAB9A4D7F7C4EAB6C8B1A8B8E6A3A8C9CFCDF8A3A9>

DPJJX1.DOC

Xilinx Alliance Program Certified GJVZsIPb3 IPb3pg(lwE & by2eh;[d)y IP ROM

,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN TP36 CIP (2005) : ( 10 ) : : (010 ) : (010)

PIC16F F MPLAB 08 16F LED 15 LED

ebook105-12


Microsoft Word - 在VMWare-5.5+RedHat-9下建立本机QTopia-2.1.1虚拟平台a.doc

Cadence Poqi

Microsoft PowerPoint - ARC110_栾跃.ppt

Microsoft PowerPoint - Sens-Tech WCNDT [兼容模式]


Microsoft Word zw

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

Huawei Technologies Co

51 C 51 isp 10 C PCB C C C C KEIL

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

QNAP Storage Product Spare Part Price List (Enterprise/SMB) -- Feburary 2011 Segment Model Name Base Assem Base Assem Screw Pack (2.5") Screw Pack (2.

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Value Chain ~ (E-Business RD / Pre-Sales / Consultant) APS, Advanc

邏輯分析儀的概念與原理-展示版

1 MTK 2 MTK 3 MTK

PowerPoint Presentation

Sun Fire V440 Server Administration Guide - zh_TW

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

Ps22Pdf

Quick Start Guide

PowerPoint Presentation

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

Transcription:

MicroBlaze 开发流程 一 MicroBlaze 的优势 MicroBlaze 软内核是一种针对 Xilinx FPGA 器件而优化的功能强大的标准 32 位 RISC 处理器 采用传统的单处理器方法进行的基础设计配合 Virtex-II Pro FPGA 在 150 MHz 的时钟频率下, 性能达到 125 Dhrystone MIPS (DMIPS), 如果与 Spartan-3 FPGA 配合, 在 85 MHz 的时钟频率下, 性能达到 68 Dhrystone MIPS (DMIPS) 为了达到更高的性能, 在 Virtex-II 系列平台 FPGA 中植入 32 位 PowerPCTM 内核, 它的 DMIPS 性能是竞争软处理器内核的五倍多 在 Virtex-II Pro FPGA 中实现的 32 位 PowerPC 内核, 在时钟频率为 450 MHz 时的性能超过 680 DMIPS 总体性能如此之高, 但成本却很低, 这是因为集成在 Virtex-II FPGA 中的处理器既简化了设计, 占用的片芯面积也减小了 例如, 一个高效的设计仅使用了 Xilinx 2VP50 器件中不到 2% 的芯片面积 1 用户可以根据不同的需要灵活地定制系统特性和外设 2 提升系统性能 3 降低成本 4 加快产品的上市时间如图, 使用了嵌入式 CPU 内核, 把一些外设集成到单片 FPGA 中, 可以减小系统复杂性, 降低功耗和成本 传统的系统框架图 SOPC 框架图个人使用体会 : 使用 CPU 软核做一些控制还是非常方便的, 而且 Xilinx 提供了强大的模块支持, 如 GPIO TIMER UART EMC 等等 用于实现参数可变的数字滤波器也比较方便 三 EDK 软件开发环境

Xilinx 软件开发环境功能强大, 而且非常容易上手 集成开发环境如下 : ISE 7.1 EDK 7.1 3.1 EDK 安装目录介绍服务器上的 EDK 开发工具安装包 :edk_71i_pc.bin, 这个光盘映象文件里有安装文件和 SP2 的升级程序 建议大家打上 SP2 的补丁 EDK 安装后, 安装目录树如下 : 其中比较重要的子目录是 doc 和 sw doc 目录下放了大量的文档资料, 具有重大参考价值 如 : edk_getstarted.pdf Getting Started with Xilinx EDK ps_ug.pdf Platform Studio User Guide oslib_rm.pdf OS and Libraries Document Collection iss_ug.pdf Instruction Set Simulator User s Guide mb_ref_guide.pdf MicroBlaze Processor Reference Guide psf_rm.pdf Platform Specification Format Reference Manual 其中比较重要的是 ps_ug.pdf sw 目录下放置的是 Drivers, BSP s and software services 对于我们编写 C 代码来说, 是非常重要的参考资料

如图, 可以看到在 sw 下面的 XilinxProcessorIPLib 目录里面有 drivers 目录 我们用 Microblaze 实现串口 GPIO 等等, 这些硬件模块的驱动就放着 drivers 下 我们以 GPIO 为例说明 有 gpio_v1_00_a 和 gpio_v2_00_a 两个子目录 数字代表了 driver 的版本号 html / api 是我们可以调用的函数的说明, 通过这些函数我们可以操作硬件 examples 是一些 C 程序代码例子, 我们可以参照这些代码来编写我们自己的程序 后面会通过具体例程来说明这个目录的重要性 3.2 EDK 的界面介绍通过实例说明 参见 8.1 3.3 EDK 工程文件中的目录及文件 ( 后缀 ) 说明通过实例说明 参见 8.1 四 EDK 使用流程 4.1 Microblaze 作为 Top Module Microblaze 可以作为 Top Module, 那么在开发过程中, 不需要是用 ISE, 只用 EDK 集成开发环境 流程如下 ( 后面有具体实例 ):

1 硬件设计 选择 FPGA 芯片, 定制合适的 CPU 存储器以及外围器件, 生成网表 编辑 UCF, 配置管脚 综合, 生成 bit 文件, 下载 2 软件设计 EDK 会根据硬件配置, 生成系统库, 提供底层硬件驱动和调用接口 使用 C 语言编写具体软件, 编译生成可执行文件 将 bit 下载到硬件上运行 4.2 Microblaze 作为 Sub Module ISE 工程中可以像调用诸如 DCM 模块的 IP Core 一样, 调用 Microblaze 如下图所示: Embedded Processor 这个选项在安装 EDK 软件之后才会出现 这样就可以添加一个嵌入式软核 Microblaze 作为 ISE 的一个子模块, 这个子模块跟其他 VHDL 子模块是一样的, 通过 component 实例化, 通过 signal 来连接 具体操作过程后面会通用实例来说明 作为 Sub Module 一个很重要的问题 : 必须把 C 代码编译后的可执行文件初始化到 FPGA 的 RAM 中! 五 一个简单的例子 (Top Module) 下面通过一个例子介绍一下具体的开发流程 可以不用深究具体的实现细节, 先通过这个例子体会一下开发的过程 有了感性的了解后, 在下一节将作具体讨论 本例子功能是点亮一盏 LED 灯 1 硬件 1 在某一路径下建立目录 nios_small ( 注意 :EDK 不支持中文目录 ) 运行 Xilinx Platform Studio 进入到以下界面, 点击 OK:

2 选择 I would like to create a new design 点击 Next

3 选择 I would like to create a system for custom board. 然后点击 Next 4 选择具体 Xilinx FPGA 芯片 我们常使用的是 Spartan 3 系列的芯片, 该芯片只支持 Microblaze 选择完毕后点击 Next

5 选择晶振频率, 复位信号电平, 是否需要 Debug, 以及 Memory 大小

6 点击 Add Device,IO Interface Type 选择 GPIO,Device 选择 LEDS 点击 OK

7 选择 GPIO 的数据位数 Next

8 选择内部元件 ( 如 Timer), 本例程不使用, 直接 Next

9 系统自动提供测试程序, 不建议选中 去掉 2 个勾 Next

10 Next

11 完成

12 这时, 会弹出一个窗口, 它的意思是你需要修改两个文件 一个是当前目录下 data/system.ucf 文件 ( 这是一个管脚配置文件 ) 另外一个是 etc/download.cmd 文件 ( 这是 JTAG 下载配置文件, 不用管它 ) 点击 OK 2 软件 硬件平台建立完毕后, 编写软件以及在 FPGA 中实现功能 1 选中 Tools -> Generate Libraries and BSPs 作用: 生成可供程序调用的库函数 放

在了工程目录中的 microblaze_0 下面 2 选择 Applications 标签, 新建软件工程, 添加 c 文件

3 编写 c 代码 #include "xbasic_types.h" #include "xparameters.h" #include "xutil.h" #include "xgpio_l.h" int main() { int i; // Set the direction for all signals to be inputs except the LED output XGpio_mSetDataDirection(XPAR_GPIO_REG_BASE, 1, 0x0); // Loop forever blinking the LED while (1) { XGpio_mSetDataReg(XPAR_GPIO_REG_BASE, LED_CHANNEL, 0xff); for (i = 0; Delay < 1000000; i++); XGpio_mSetDataReg(XPAR_GPIO_REG_BASE, LED_CHANNEL, 0x00); for (i = 0; Delay < 1000000; i++); } return 0; }

4 选择 Tools - > Build All User Applications 5 编辑 UCF 文件 针对本例, 只要在默认文件的基础上该即可

UCF 文件放在了工程下 data 目录里面 Net sys_clk_pin LOC=H14; Net sys_rst_pin LOC=Y11; ## System level constraints Net sys_clk_pin TNM_NET = sys_clk_pin; TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 10000 ps; Net sys_rst_pin TIG; ## FPGA pin constraints Net fpga_0_leds_gpio_d_out_pin<0> LOC=AF15; Net fpga_0_leds_gpio_d_out_pin<1> LOC=N19; Net fpga_0_leds_gpio_d_out_pin<2> LOC=V20; 6 生成网表

7 生成 bit 文件 生成的 bit 文件放在工程的 implementation\ 目录下

然后就可以下载到 FPGA 上运行了 十参考链接 http://www.fpgarelated.com/usenet/fpga.php http://groups.google.ca/ http://www.opencores.org/ http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux