嵌入式系统软件特征
- 软件要求固态化存储在ROM中
- 软件代码高质量,高可靠性
- 高实时性是基本要求
- 需要特殊的开发工具和开发平台
- 一般都需要实时操作系统的支持
- 开发人员以应用专家为主
什么样的软件才是实时软件?
- 实时性
- 有处理异步并发事件的能力
- 快速启动、出错处理和自动复位功能
- 嵌入式实时软件是应用程序和操作系统两种软件的一体化程序。
- 嵌入式实时软件的开发需要独立的开发平台
- Bootloader / BIOS
- OS(Driver...)
- Application
前后台系统
总代码量= 应用程序代码
多任务系统
总代码量 = 应用程序代码 + 内核代码
内核代码大约 1K 到 100K
8 位 CPU 用的最小内核只提供任务调度、任务切换、信号量处理、延时及超时服务约需要 1K 到 3K 代码空间
多任务系统(内核不支持单独的任务, 中断用栈)
RAM 总需求 = 应用程序的 RAM 需求 + (任务栈需求 + 最大中断嵌套栈需求) * 任务数
内核支持中断用栈分离
RAM 总需求 = 应用程序的 RAM 需求 + 内核 数据区的 RAM 需求 + 各任务栈需求之总和 + 最多中断嵌套之栈需求