slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
嵌入式系统发展趋势及开发基础 PowerPoint Presentation
Download Presentation
嵌入式系统发展趋势及开发基础

Loading in 2 Seconds...

play fullscreen
1 / 33

嵌入式系统发展趋势及开发基础 - PowerPoint PPT Presentation


  • 115 Views
  • Uploaded on

嵌入式系统发展趋势及开发基础. 余昌盛 13958081784 flyycs@zju.edu.cn. 主要内容. 嵌入式系统的特点 嵌入式系统发展趋势 嵌入式软件技术特点 嵌入式操作系统对比 嵌入式 Linux 与普通 Linux 对比 嵌入式系统映像制作与加载. 嵌入式系统特点. 嵌入式系统有何不同? 嵌入式系统是专用的 ( 相对地: PC 是一个通用运算平台 ) 嵌入式系统通常对成本很敏感 嵌入式系统通常有实时性要求 不是所有嵌入式系统都需要一个 OS 嵌入式系统通常有功耗限制 嵌入式系统需要特别的工具进行设计和开发. 嵌入式系统特点. 硬件特点

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '嵌入式系统发展趋势及开发基础' - rodd


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

嵌入式系统发展趋势及开发基础

余昌盛

13958081784

flyycs@zju.edu.cn

slide2
主要内容
  • 嵌入式系统的特点
  • 嵌入式系统发展趋势
  • 嵌入式软件技术特点
  • 嵌入式操作系统对比
  • 嵌入式Linux与普通Linux对比
  • 嵌入式系统映像制作与加载
slide3
嵌入式系统特点
  • 嵌入式系统有何不同?
      • 嵌入式系统是专用的(相对地:PC是一个通用运算平台)
      • 嵌入式系统通常对成本很敏感
      • 嵌入式系统通常有实时性要求
      • 不是所有嵌入式系统都需要一个OS
      • 嵌入式系统通常有功耗限制
      • 嵌入式系统需要特别的工具进行设计和开发
slide4
嵌入式系统特点
  • 硬件特点
      • 架构
        • Von Neumann/Harvard
      • CPU
        • RISC/CISC
      • 总线
      • 外设
        • 存储
        • I/O
  • 资源特点
      • 运算
      • 存储
      • 功耗
  • 产品特点
      • 成本
      • 可靠性
slide5
嵌入式系统发展趋势
  • 从微处理器向SOC微控制器发展
slide6
嵌入式系统发展趋势
  • 硬件
    • 单核  多核(Freescale P4080 8 cores, Cavium 16 cores)
    • FPGA容易越来越大,速度越来越快,可集成CPU
    • 多核结合,如TI OMAP750集成DSP和ARM核(诺基亚手机,opod手机)
  • 软件
    • 硬件逻辑  监控程序  操作系统
    • Linux在嵌入式领域应用越来越广泛,发展速度快
slide7
嵌入式系统开发典型过程及趋势

开始

第一阶段:确定产品目标

第二阶段:软件/硬件任务划分

软件设计比重越来越大

第三阶段:反复细化任务划分

硬件设计

第四阶段:软件/硬件设计/开发

第五阶段:软件/硬件整合

第六阶段:产品测试、发布

产品发布

第七阶段:产品维护、升级

slide8
嵌入式软件技术特点
  • 嵌入式软件架构
    • The control loop
    • Non preemptive multitasking
    • preemptive timers
    • preemptive tasks
    • RTOS
    • Office-style OS
slide9
嵌入式软件架构
  • The Control Loop
    • 软件是一个循环(无调度)
    • 循环中包括一系列子程序
    • 每个子程序管理一部分硬件或过程
    • 使用公共的数据结构,包括栈与堆
    • 中断设置标志位或更新计数器来改变执行顺序
    • 通过开/关中断来保证嵌套和避免重入
  • 特点
    • 优点:简单、不确定状态少
    • 缺点:响应时间不能精确保证、功能扩展较难
slide10
嵌入式软件架构
  • Non preemptive Multitasking
    • 与Control loop十分类似,但增加了Task概念和idle例程
    • Task: 拥有私有数据结构、栈、堆和状态数据的子程序
    • Idle例程:维护系统事件队列、调用相应的Task
  • 特点
    • 优点:功能扩展容易
    • 缺点:响应时间不精确
slide11
嵌入式软件架构
  • Preemptive Timers
    • 在Non preemptive multitasking的基础上增加由计时器中断激活的Task
  • 特点
    • 优点:对时间的响应有保证
    • 开发提示:由计时器激活的任务必须小心处理
slide12
嵌入式软件架构
  • Preemptive Tasks
    • 与Non preemptive Multitasking类似
    • Preemptive task由计时器或中断激活
    • Task必须可重入
  • 特点
    • 优点:响应时间有保证
    • 缺点:可重入特性极大地增加了复杂性和不确定性
slide13
嵌入式软件架构
  • RTOS(Real-Time Operating System)
    • 具有进程管理、内存管理、设备管理、文件管理等特性
    • 支持实时任务调度
    • 具有明确的系统分层结构
  • 特点
    • 优点:复用性好,对复杂应用支持好
    • 缺点:对资源要求高,开发工具完善程度极大影响开发成本
slide14
一些专有概念
  • BSP
  • BootLoader
  • hibernated
  • Image
  • WatchDog
  • Flash Memory
  • Byte Order
      • Little Endian
      • Big Endian
  • Debug Protocols
      • JTAG (Joint Test Action Group, IEEE 1149.1
slide15
BSP
  • Board Support Package (板级支持包)
    • 通常由硬件系统厂商提供
    • 包括Bootloader、Device driver、Compiler、Library、Documents
byte order
Byte Order
  • 寄存器宽度 != 地址线宽度
    • Little Endian(如:8086, x86)
    • Big Endian(如:MPC8560)
debug protocols
Debug Protocols
  • 问题
    • 如何调试一个不可靠的硬件系统?
    • 如何交互式地调试Firmware中的代码?
    • 如何在无仿真条件下以真实时钟速率调试?
  • 解决
    • 在硬件中加入调试逻辑
debug protocols1
Debug Protocols
  • JTAG (Joint Test Action Group)
    • 串行、源于PC制造
slide19
嵌入式操作系统对比
  • VxWorks
  • QNX
  • WinCE
  • Linux
vxworks
VxWorks
  • Vxworks体系结构
slide21
QNX
  • QNX的微内核体系结构
windows ce
Windows CE
  • Windows CE内核体系结构
linux
Linux
  • Linux内核体系结构
windows ce1
Windows CE
  • Development Tools
    • Platform Builder
    • eMbedded Visual Tools
      • eMbedded Visual Basic
      • eMbedded Visual C++
slide25
嵌入式操作系统评估
  • 处理器支持情况
    • 支持种类足以覆盖需要吗?
  • 编程语言支持情况
    • 支持种类足以覆盖需要吗?
  • 开发工具兼容能力
    • 与目前的工具、代码兼容吗?
  • 系统特性是否足够?
    • queues, semaphores……
  • 代码容量
    • 在所要求的功能能够满足时,满足ROM/RAM容量要求吗?
  • 性能
    • 在你最终的硬件平台上能够达到要求的性能指标吗?
slide26
嵌入式操作系统评估
  • 系统组件容易获得吗?
    • 一些必需的组件如:图形库、虚拟机……
  • 设备驱动程序
    • 是否能获得足够的支持?
  • 调试工具
    • 能否在目标平台上实现源码级的调试?
  • 标准兼容能力
    • 能否兼容目标应用领域的标准?
  • 技术支持
    • 能够获得足够的技术支持服务吗?
  • 代码
    • 你获得的支持包是链接库还是源代码?
  • 许可
    • 开发工具和OS本身通常具有不同的License
linux vs linux
嵌入式Linux vs. Linux
  • Kernel
    • MMU
    • Module
    • Timer
    • Schedule
  • Library
  • File System
  • UI
slide28
嵌入式系统映像制作与加载
  • 交叉编译
    • compiler: gcc
    • bin-tools: binutils
    • maker: make
    • header files: .h files
    • libraries: glibc
  • 映像制作
  • 加载方式
    • 交互加载
    • 映像烧写
slide29
映像制作
  • 映像的组成

Loader

Kernel

filesystem

slide30
映像制作
  • 编译目标Kernel
    • Make menuconfig
      • 配置内核和驱动
    • Make zImage
      • 编译目标kernel
    • Make modules
      • 编译modules驱动,生成.ko文件
slide31
映像制作
  • 制作基本文件系统
    • 制作空文件系统
      • 确认loop device存在
        • /dev/loop? (mknod /dev/loop0 b 7 0)
      • dd if=/dev/zero of=/tmp/target bs=1k count=nnn
      • mount -o loop -t ext2 /tmp/target /mnt
      • mke2fs -m 0 -i 2000 /mnt
    • 基本文件系统包含
      • /dev – 设备文件节点目录
      • /proc – proc文件系统安装点
      • /etc – 系统配置文件
      • /sbin – 系统维护关键程序
      • /bin – 系统工具程序
      • /lib – 程序运行所需的共享库
      • /mnt – 外接存储设备的安装点
      • /usr – 用户程序和库文件
    • 完成
      • dd if=/tmp/target bs=1k | gzip -v9 > rootfs.gz
    • 制作S3C2440文件系统
      • ./mkyaffs2image-128M rootfs/ rootfs.bin
slide32
映像制作
  • 可以利用的资源
    • BootLoader
      • x86 :
        • LILO, GRUB, syslinux, ROLO, Loadin, etherboot, LinuxBIOS,U-Boot …等
      • ARM :
        • Redboot, vivi, blob, U-Boot …等
      • MIPS :
        • PMON, U-Boot …等
      • SuperH:
        • Sh-boot …等
slide33
映像制作
  • 可以利用的资源
    • 系统工具
      • BusyBox
        • Init, syslogd, sh, ls, dd, df, kill, killall, telnet, ln, mv, cp, gzip, gunzip, insmod, rmmod…等
        • http://www.busybox.net
    • 系统运行库
      • uClibc
        • 支持alpha, ARM, cris, i386, i960, m68k, mips, powerpc, sh …等
        • http://www.uclibc.org
      • Diet libc
        • alpha, ARM, ia64, i386, mips, sparc, ppc …
        • http://www.fefe.de/dietlibc/