zoukankan      html  css  js  c++  java
  • 嵌入式回顾

    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/
  • 相关阅读:
    Js获取当前日期时间及其它操作
    OpenResty
    Nginx开发从入门到精通
    TengineWeb服务器项目
    VS2012的SVN插件VISUALSVN
    VS项目如何运用svn的忽略列表
    SVN 中trunk、branches、tags都什么意思?
    SVN服务器搭建和使用(一)
    逗号分隔字符串转换为一张表--解决查询in(逗号分隔字符串)出错问题
    判断函数是否存在、判断函数是否存在并执行
  • 原文地址:https://www.cnblogs.com/oneflyleader/p/13284261.html
Copyright © 2011-2022 走看看