嵌入式回顾

1. 前言

  • 嵌入式系统设计可以划分为软件设计和硬件设计
    • 硬件设计
      • 外部驱动(eg: CAN、UART、USB等)
      • CPU
      • 电源管理
      • 开门狗和复位电路
      • 外部存储等
    • 软件设计
      • CPU内核(ARM、PowerPC、X86、MIPS等)
      • 操作系统
      • 应用程序设计
      • 驱动程序设计
  • 同样也可以划分为应用设计、操作系统和底层设计
    • 底层设计
      • 硬件设计
      • BSP(板级支持包,也就是驱动)
    • 操作系统(可有可无)
      • 硬实时操作系统
      • 软实时操作系统
    • 应用设计
  • 虽然,底层设计决定上层建筑的好坏,但是系统真正关键和具有创造性的还是应用的设计,也就是嵌入式系统设计方法的问题

2. 实时嵌入式软件设计方法

​ 嵌入式系统的设计由控制工程和计算机工程两部分组成,控制工程使用反应式系统来描述目标系统,而计算机工程使用实时系统来描述目标系统。反应式系统可以看作是面向状态的实时系统(eg: FSM, PetriNet)。

图:简单描述实时系统设计

st=>start: 需求分析
ed=>end: 需求检验和确认
model=>operation: 需求建模
modelcheck=>condition: 模型是否满足需求?
task=>operation: 根据模型划分任务到实时系统
valid=>condition: 实时系统可调度性、可靠性、
性能分析等,是否可行?
gen=>operation: 代码实现

st->model->modelcheck
modelcheck(no)->model
modelcheck(yes)->task->valid
valid(no)->task
valid(yes)->gen->ed

建模方法有很多,按照特点可以将建模方法分类为以下

表:建模方法分类

特征 例子
面向结构 框图、原理图,组件之间互连
面向状态 由外部事件触发状态迁移,例如:FSM,PetriNet
面向活动/操作 数据流图、控制流图、流程图
面向数据/对象 ER图、Jackson图
异构图 基于同一数据结构,表达系统的多种视图,eg:控制数据流图,同步数据流

实时系统分析设计方法

  • 结构化方法
    • DARTS
  • 面向对象的方法
    • UML
  • 基于组件的方法

结构化分析方法

  • JSD(Jackscn System Development)
  • SCR(Software Cost Reduction)
  • RTSAD(Real-Time Structured Analysis and Design)
  • DARTS(Design Approach for Real-Time Systems)
    • ADARTS:支持基于Ada的设计
    • CODARTS(Concurrent DARTS)
    • COMET/RTE

3. 工具

  • 状态机
    • Simulink
    • Polis+Ptolemy
    • UPPAAL
    • VisualSTATE
  • 模型检验(时态逻辑:LTL, CTL, RTL)
    • 时态逻辑模型检验工具:SMV/NuSMV、SPIN 、UPPAAL
    • 行为一致性检验工具:FDR、Cospan/Formal Checker
    • 复合检验工具:HSIS、METAFrame
  • AADL语言 eg: OSATE+Cheddar
  • 同步语言
    • Esterel
    • Signal and Lustre
  • 异步语言
    • Ada
    • PEARL
  • EA设计工具
    • TimeWiz
  • 可调度性分析工具
    • TimeWiz
    • Cheddar
  • WECT分析工具
  • 实时操作系统
    • uC/OS-II
    • uC/OS-III
    • FreeRTOS
    • Embeded Linux
    • VxWorks
    • RTX(Keil)

4. 资料

  • 《嵌入式系统设计·嵌入式CPS系统基础》,Peter Marwedel
  • Real-Time Systems: Design Principles for Distributed Embedded Applications,2nd Edition,Hermann Kopetz
  • Real-Time Software Design for Embedded Systems,Hassan Gomaa
  • 《ARM Cortex-M3权威指南》,Joseph Yiu,姚文详
  • 《嵌入式实时操作系统μC/OS-II》,Jean J. Labrosse
  • Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications,Giorgio C Buttazzo
  • Multiprocessor Scheduling for Real-Time Systems,Giorgio C Buttazzo
  • 《实时系统》,Jane W.S.Liu(張韻詩,美)
  • A Practitioner’s Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems,1993
  • 《嵌入式实时系统:调度、分析与验证》,Albert M.K. Cheng
  • Model-Based Engineering with AADL,Peter H. Feiler
  • Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE: Developing Cyber-Physical Systems,Bran Selic
  • http://staff.ustc.edu.cn/~llxx/embedded/
posted @ 2020-07-11 16:53  燕止于檐  阅读(219)  评论(0编辑  收藏  举报