目录

概述

1  基本概念

2 嵌入式的前台系统

2.1 前台系统基本概念

 2.2 架构实现模式(范例)

  2.3 中断负载均衡表(范例)

 2.4 性能极限

3 嵌入式的后台系统

3.1 后台系统基本概念

 3.2 典型架构实现

3.3 关键技术特性


概述

本文主要介绍嵌入式操纵系统的前后台系统的内容,包括基本定义,架构实现关键性技术等内容。

 基本概念

前后台系统(Foreground-Background System)是嵌入式开发中最基础的系统架构模式,也称为超级循环系统(Super Loop)

1)核心特征

  • 前台(Foreground):中断服务程序(ISR),处理异步事件    --- 中断级别运行

  • 后台(Background):主程序无限循环,处理非实时任务         --- 任务级别运行 

  • 无任务调度:依赖循环轮询处理任务

  • 无优先级机制:任务执行顺序固定

 2)前后台系统的架构

 3)与RTOS方案对比

对比维度 前后台系统 RTOS系统
响应速度 中断级响应最快 受调度器影响
多任务处理 线性轮询 并行任务
内存占用 极少(无TCB等开销) 至少2-10KB RAM
开发难度 简单 需理解调度机制
可维护性 复杂逻辑难扩展 模块化设计

2 嵌入式的前台系统

2.1 前台系统基本概念

前台系统(Foreground System)是指完全依赖中断驱动的嵌入式系统架构,所有功能均由中断服务程序(ISR)直接处理,通常没有主程序循环或仅有极简的背景任务。前台系统是嵌入式领域最精简的架构范式,其核心在于完全中断驱动的设计哲学。与常规前后台系统不同,真正的前台系统甚至不需要后台循环,仅保留必要的硬件初始化代码,之后CPU即进入永久休眠状态,完全依靠中断唤醒处理。

核心特征

  • 纯中断驱动:无后台主循环或仅有空循环

  • 事件触发:所有操作由硬件中断发起

  • 极致实时性:响应延迟仅取决于中断延迟

  • 资源占用极低:适合超低功耗场景

 2.2 架构实现模式(范例)

范例-1:

范例-2:

  2.3 中断负载均衡表(范例)

中断源 触发频率 执行周期 建议优先级
USB HS 1MHz <200ns 0 (最高)
ETH MAC 100KHz <2μs 1
UART 115.2Kbps <10μs 3

 2.4 性能极限

1)中断延迟测试(Cortex-M7 @480MHz实测数据:)

中断类型 无嵌套延迟 三级嵌套延迟
GPIO 23ns 89ns
SPI 42ns 128ns
DMA 38ns 115ns

2) 功耗优化对比

工作模式 STM32U5电流 唤醒时间
Run @80MHz 4.2mA -
Sleep 1.8mA 120ns
Stop2 12μA 2.1μs
Standby 0.8μA 45ms

3 嵌入式的后台系统

3.1 后台系统基本概念

后台系统(Background System)是嵌入式系统中持续运行的基础处理层,通常表现为一个无限循环的主程序,负责处理非实时性任务、状态维护和资源管理.

如果让一个事件后台运行,该事件只有在轮到后台程序执行时才能被处理,这样的系统成为:任务级别响应。任务的响应时间取决于后台循环的时间。

核心特征

  • 主循环架构:以while(1)为核心的执行框架

  • 非实时处理:执行时间弹性较大的任务

  • 资源管理中心:管理内存、外设等系统资源

  • 任务协调者:与前台中断协同工作

 3.2 典型架构实现

3.3 关键技术特性

(1) 任务调度策略

调度方式 实现方法 适用场景
轮询调度 顺序执行各任务 简单控制系统
时间触发 基于定时器触发 周期性任务
优先级调度 条件判断优先级 混合型系统

 

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐