美文网首页
嵌入式实时操作系统

嵌入式实时操作系统

作者: coolguyy | 来源:发表于2019-10-16 18:54 被阅读0次

    嵌入式实时操作系统

    从系统对规定时间的敏感性要求来看,实时系统可以分为硬实时系统和软实时系统。

    非实时系统:超过规定时间,效用缓慢下降

    软实时系统:超过规定时间,效用迅速下降

    硬实时系统:超过规定时间,效用立即归零

    前后台系统&任务优先级

    快速入门RT-Thread

    Real Time-Thread

    任务是通过线程实现的,任务调度器➡️线程调度器

    C语言编写,面向对象

    2017.7极简内核NANO版本:3KB Flash、1.2KB RAM

    非常适用于成本、功耗受限的场合

    RT-Thread软件架构图

    RT-Thread精简内核文件夹目录

    RT-Thread精简内核工程目录

    内核基础

    RT-Thread内核及底层结构

    内核库是为了保证内核能够独立运行的一套小型类似C库的函数实现子集。

    线程调度:

    是RT-Thread中最小的调度单位,算法为优先级的全抢占式多线程调度算法(除了中断处理函数、调度器上锁部分的代码和禁止中断的代码不可抢占之外,系统的其他部分都是可以抢占的,包括线程调度器自身。)

    支持256个线程优先级,STM32默认32个线程优先级,可通过配置文件更改

    0 优先级代表最高优先级

    支持多个线程优先级相同:采用算法➡️时间片的轮转调度算法(每个线程运行时间相同)

    线程数目只和硬件平台的具体内存相关

    时钟管理:

    以时钟节拍为基础

    两类定时器事件:单次触发定时器,周期触发定时器

    线程间同步

    采用信号量、互斥量与事件集实现线程间同步

    线程间通信

    支持邮箱和消息队列等通信机制

    内存管理

    支持静态内存池管理及动态内存堆管理

    I/O设备管理

    将I2C等作为外设设备,统一通过设备注册完成

    RT-Thread启动流程

    startup_stm32f103xe.s➡️C代码,RT-Thread系统功能初始化➡️main()

    相关文章

      网友评论

          本文标题:嵌入式实时操作系统

          本文链接:https://www.haomeiwen.com/subject/ltnumctx.html