280 likes | 433 Views
Implementing Embedded Systems with a Micro-processor. 基于微处理器的嵌入式系统实现. 提要. 嵌入式与微处理器 软核处理器及其特性与开发 嵌入式操作系统 我正在做的工作. 问题提出. 据美国 RTC 报道,全球嵌入式市场需求将具有比目前 PC 市场大 10-100 倍的商机; 应用程序的复杂性增加了嵌入式开发问题; 信息终端多元化. 采用 TI OMAP3430 的智能手机. 采用 MIPS32 的无线路由器. 嵌入式系统典型应用. 无线网络通信. 选择微处理器. 辅助驾驶.
E N D
Implementing Embedded Systems with a Micro-processor 基于微处理器的嵌入式系统实现
提要 • 嵌入式与微处理器 • 软核处理器及其特性与开发 • 嵌入式操作系统 • 我正在做的工作
问题提出 • 据美国RTC报道,全球嵌入式市场需求将具有比目前PC市场大10-100倍的商机; • 应用程序的复杂性增加了嵌入式开发问题; • 信息终端多元化
嵌入式系统典型应用 无线网络通信 选择微处理器 辅助驾驶 X86、Am186/88、ARM、MIPS、PowerPC… 构建硬件应用系统 安防监视 编写系统软件 测量及医疗诊断
常见的嵌入式微处理器 • ARM • MIPS • XSCALE • POWER PC 都是ASIC
嵌入式系统设计面临的重要挑战 • 系统集成化 更高,成本更低 • 低成本的平台,能够整合处理器,周边设备及胶合逻辑 • 寄望处理器更适合于专用领域 • 灵活的处理解决方案与标准或自定义外设组合 • 在开发及使用阶段更易于修改与维护 • 可重配置的平台,即便在使用时 • 更少硬件器件的耗费 • 一个类型的设备,可用于在多个项目 • 更强的软、硬件可移植性 • 通用处理器软件的重复使用的系统架构
采用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
Xilinx 的MicroBlaze处理器 • 最快的32位软核处理器 • 最新版本V7.0 • 在EDK里进行裁剪与外设添加 • 在相应的Eclipse中开发
Altera的NIOS II • 世界上最通用的处理器 • 最新版本V6.0 • 在NIOS II里进行裁剪与外设添加 • 同样在相应的Eclipse中开发软件
软件设计(基于ECLIPSE) 下载到FPGA中的既包括 硬件配置Bit流也包括软件
嵌入式Linux操作系统 • 无处不在的软件平台 • 多硬件平台 • 目前最先进的网络 • 开放式接口 • POSIX(可移植操作系统接口 ), SysV, BSD • 高可靠性 • 免费
Linux及实时系统 • Linux是通用的非实时操作系统 • 嵌入式厂商提供的实时性,其方式往往相互不兼容 • Linux 2.6中提供了重要的实时性能的增强
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)
软件应用程序的迁移 • 从传统的CPU处理器的系统移植到基于FPGA的软件开发变得更容易 • 同样的Linux API编程 • 同样的Linux内核 • 工业化标准的GNU工具 • 基于Eclipse的开发环境
PetaLinux • 制约于物理尺寸,CPU和内存的专门的硬件设备的嵌入式Linux系统。 • 其引导程序,Linux内核和相关的GNU软件基于专门的硬件设备。 • 为广泛的垂直市场提供解决方案
uClinux • uclinux表示micro-control linux.即“微控制器领域中的Linux系统”,是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。uCLinux主要是 针对目标处理器没有存储管理单元MMU(Memory Management Unit)的嵌入式系统而设计的。它已经被成功地移植到了很多平台上。由于没有MMU,其多任务的实现需要一定技巧 。
我正在做的工作 • 基于Xilinx 的EDK构建硬件环境 • 安装运行于VMware的Fedora裁剪Linux内核(PetaLinux4.0) • 在基于FPGA的Microblaze处理器上运行Linux • 建立一个运行于微处理器的Web Server,基于网页访问FPGA系统的内部资源、访问外设数据、发送相应操作指令
开发过程 • EDK硬件环境配置 • 基于petalinux的内核裁减 • BootLoader • 下载内核
系统示意 Windows: ISE,EDK,SDK VW(Ferdora) 串口调试 Explorer Enthenet USB<->JTAG编程 USB<->rs232通信调试 Microblaze 64M DDR 16M Flash 100M MAC
软件部分 • 操作系统移植 • 网络协议 • 文件系统生成 • 应用级代码编写
期望实现功能 • TCP/IP http,ftp 文件传输 • NAS • Web Server • 访问微处理器及其存储器,实现通过浏览器访问及相应外设控制 • 较I2C,CAN,RS485速度快 • 无需安装上位机软件 • 远程 • 典型应用 • 网络打印机,网络投影仪,网络监控,智能家居,物联网
后期 • 更强的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…
THANKS • 很多表述可能欠准确,想法不成熟,望指正