Implementing Embedded Systems with a MicroBlaze processor u

Download Report

Transcript Implementing Embedded Systems with a MicroBlaze processor u

Implementing Embedded Systems
with a Micro-processor
基于微处理器的嵌入式系统实现
1
提要




嵌入式与微处理器
软核处理器及其特性与开发
嵌入式操作系统
我正在做的工作
2
问题提出



据美国RTC报道,全球嵌入式市场需求将具有比目前PC
市场大10-100倍的商机;
应用程序的复杂性增加了嵌入式开发问题;
信息终端多元化
3
采用TI OMAP3430的智能手机
4
采用MIPS32 的无线路由器
5
嵌入式系统典型应用
无线网络通信
选择微处理器
辅助驾驶
X86、Am186/88、ARM、MIPS、PowerPC…
安防监视
测量及医疗诊断
构建硬件应用系统
编写系统软件
6
常见的嵌入式微处理器




ARM
MIPS
XSCALE
POWER PC
都是ASIC
7
嵌入式系统设计面临的重要挑战





系统集成化 更高,成本更低
 低成本的平台,能够整合处理器,周边设备及胶合逻辑
寄望处理器更适合于专用领域
 灵活的处理解决方案与标准或自定义外设组合
在开发及使用阶段更易于修改与维护
 可重配置的平台,即便在使用时
更少硬件器件的耗费
 一个类型的设备,可用于在多个项目
更强的软、硬件可移植性
 通用处理器软件的重复使用的系统架构
8
采用MicroBlaze灵活的系统架构
一个基于Xilinx FPGA实现的软核嵌入式处理器
(基于SRAM工艺)
可订制的处理器架构
-Pipeline, Instructions
-Caches, Floating Point Unit
-Memory Management Unit
-User-defined Coprocessors
用户可定义IO接口
-Selectable I/O InterfacesEthernet, PCI
-Uart, SPI, I2C, GPIO
可适应的存储器接口
-DDR, DDR2, SDRAM, Flash, SRAM
9
Xilinx 的MicroBlaze处理器
•最快的32位软核处理器
•最新版本V7.0
•在EDK里进行裁剪与外设添加
•在相应的Eclipse中开发
10
Altera的NIOS II

世界上最通用的处理器
•最新版本V6.0
•在NIOS II里进行裁剪与外设添加
•同样在相应的Eclipse中开发软件
11
设计流程
12
EDK硬件设计
13
软件设计(基于ECLIPSE)
下载到FPGA
中的既包括
硬件配置Bit流
也包括软件
14
嵌入式Linux操作系统







无处不在的软件平台
多硬件平台
目前最先进的网络
开放式接口
POSIX(可移植操作系统接口 ), SysV, BSD
高可靠性
免费
15
Linux及实时系统



Linux是通用的非实时操作系统
嵌入式厂商提供的实时性,其方式往往相互不兼容
Linux 2.6中提供了重要的实时性能的增强
16
Linux2.6 特征

更多的“实时”的表现





More Kernel Pre-emption Points
New Scheduler
Synchronization
NUMA (Non-Uniform Memory Access)
更面向嵌入式的基础结构






Subarchitecture (makes porting easier)
Headless configuration
Virtual memory not required (demand paging)
POSIX threads, signals, timers
uClinux (MMU-less processors)
Device Support (goodies for consumer electronics)
17
软件应用程序的迁移

从传统的CPU处理器的系统移植到基于FPGA的软件开发
变得更容易
 同样的Linux API编程
 同样的Linux内核
 工业化标准的GNU工具
 基于Eclipse的开发环境
18
Blue Cat Linux
ARM
ARM720T x86
PowerPC / Power
Pentium
Architecture
ARM920T Pentium II
MIPS
PowerPC
405
Pentium
III
StrongARM® SA-1110
MIPS32 RISC, MIPS64 20Kc
Intel 386/486 Freescale MPC74xx
MicroBlaze
XScale® 80200
Pentium Pro
TX39/H
Freescale MPC8260
PowerQUICC
II
MicroBlaze
6
Pentium IV / IV-M
AMD / Athlon / Freescale
K6 / K7 Power SH3
ArchitectureMicroBlaze
603/603e/603ev
7
Cyrix 6x86 and MII
PowerPC 750 (Freescale and IBM)
Pentium M
Intel Celeron AMCC 440 (formerly IBM 440)
Core 2 Duo
IBM 970
Atom
Freescale MPC85xx PowerQUICC III
19
PetaLinux



制约于物理尺寸,CPU和内存的专门的硬件设备的嵌入式
Linux系统。
其引导程序,Linux内核和相关的GNU软件基于专门的硬件设
备。
为广泛的垂直市场提供解决方案
20
uClinux

uclinux表示micro-control linux.即“微控制器领域中的Linux系
统”,是Lineo公司的主打产品,同时也是开放源码的嵌入式
Linux的典范之作。uCLinux主要是 针对目标处理器没有存储管
理单元MMU(Memory Management Unit)的嵌入式系统而设
计的。它已经被成功地移植到了很多平台上。由于没有MMU,
其多任务的实现需要一定技巧 。
21
我正在做的工作




基于Xilinx 的EDK构建硬件环境
安装运行于VMware的Fedora裁剪Linux内核(PetaLinux4.0)
在基于FPGA的Microblaze处理器上运行Linux
建立一个运行于微处理器的Web Server,基于网页访问FPGA
系统的内部资源、访问外设数据、发送相应操作指令
22
开发过程




EDK硬件环境配置
基于petalinux的内核裁减
BootLoader
下载内核
23
系统示意
Enthenet
Windows:
ISE,EDK,SDK
VW(Ferdora)
串口调试
Explorer
USB<->JTAG编程
USB<->rs232通信调试
Microblaze
64M DDR
16M Flash
100M MAC
24
软件部分




操作系统移植
网络协议
文件系统生成
应用级代码编写
25
期望实现功能

TCP/IP http,ftp 文件传输


NAS
Web Server

访问微处理器及其存储器,实现通过浏览器访问及相应外设控制




较I2C,CAN,RS485速度快
无需安装上位机软件
远程
典型应用

网络打印机,网络投影仪,网络监控,智能家居,物联网
26
后期



更强的FPGA
ARM
JAVA应用程序

javaME
2个 XCF32P Platform Flash PROM(各 32MB),用于存储大型器件配置
64位宽 256MB DDR2 小型 DIMM(SODIMM)模块
10/100/1000 三速以太网 PHY,支持 MII、GMII、RGMII 和 SGMII 接口
SATA II
ADC DAC UART DVI AC97…
27


THANKS
很多表述可能欠准确,想法不成熟,望指正
28