1. 前言
- 嵌入式系统设计可以划分为软件设计和硬件设计
- 硬件设计
- 外部驱动(eg: CAN、UART、USB等)
- CPU
- 电源管理
- 开门狗和复位电路
- 外部存储等
- 软件设计
- CPU内核(ARM、PowerPC、X86、MIPS等)
- 操作系统
- 应用程序设计
- 驱动程序设计
- 同样也可以划分为应用设计、操作系统和底层设计
- 虽然,底层设计决定上层建筑的好坏,但是系统真正关键和具有创造性的还是应用的设计,也就是嵌入式系统设计方法的问题
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:控制数据流图,同步数据流 |
实时系统分析设计方法
结构化分析方法
- 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
- 异步语言
- EA设计工具
- 可调度性分析工具
- 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/
嵌入式回顾
原文:https://www.cnblogs.com/oneflyleader/p/13284261.html