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