概述
在嵌入式实时系统中,一般对实时性都具有很高的要求,那么什么是实时性呢? 实时性:从事件发生到系统响应的时间。 但在实际的应用编程中,有时往往会因为某一段代码使系统毫无实时性可言,那么影响实时性的因素都有哪些呢?
线程内任务在阻塞运行
中断相关操作
临界区相关操作
线程内任务在阻塞运行
实时线程内需要避免运行阻塞的任务:
避免线程内有等待释放信号量,释放锁,以及阻塞的队列等等。。。
避免使用delay函数进行延时操作,在需要delay时,可考虑使用该实时线程的运行周期对该函数进行周期调用
/* periodfunc()函数的运行周期为10ms period_ms为rtthread线程的运行周期 */ void periodfunc(uint32_t period_ms) { static uint8_t run_period_ms = 10;
static uint8_t current_period_ms = 0; current_period_ms += period_ms; if(current_period_ms >= run_period_ms) {
current_period_ms = 0; /* user code */ } } void rtthread(void *args) { while(1) { /*
使用该方法一定要保证线程的运行周期时准确的,
否则函数的运行周期将不会准确 */ periodfunc(1); delayms(1); } } 中断相关操作
1.关中断时间
程序中有一些临界段代码,若想安全访问则需要关闭中断,那么访问这段代码前关总中断,访问完后打开总中断,在这个时间内,系统是无法响应外部任何中断的,这一段时间为关中断时间。
2.最大关中断时间
指的是这么多个临界段代码的关中断时间中最大的那个,即这个时间就代表了最差最坏情况下中断的关闭时间了,因为实时操作系统中很多时间问题都是基于最差情况下考虑的。
3.中断响应时间
接收到此中断到此中断对应的中断服务函数的第一条语句执行所经历的时间。其计算公式是:
中断响应时间 = 最大关中断时间 + 保护 cpu 内部寄存器的时间 + 进入中断服务函数的执行时间(会根据中断向量表找到对应的终端服务函数地址即入口)+ 开始执行中断服务例程 (isr) 的第一条指令时间
4.中断恢复时间
指从中断响应成功(即开始执行中断服务例程(isr)的第一条指令时刻)一直到中断服务函数执行完毕再到切换回被中断的任务的接着一条代码执行所经历的时间。其计算公式是:
中断恢复时间 = 中断服务函数执行所需时间(这样说不太准确,意思就是基本执行完所需时间,不包括退出中断服务函数前会调用一下osintexit() 函数)+ osintexit()(这个函数在中断服务函数末尾调用的,退出中断前来发生任务切换的)+ osintctxsw()(真正发生任务切换的函数,会进行寄存器数据弹出等操作)
临界区相关操作
1.基本临界区
临界区是提供互斥功能的一种非常原始的方法,进入临界区的方法使用中断锁把中断全部关掉(当然任务也就无法调度)。临界区内的代码必须要有很短的运行时间,否则会反过来影响中断的响应时间。 使用中断锁来操作临界区的方法可以应用于任何场合,且其他几类同步方式都是依赖于中断锁而实现的,可以说中断锁是最强大和最高效的同步方法。只是使用中断锁最主要的问题在于,在中断关闭期间,系统将不再响应任何中断,也就不能响应外部的事件。所以中断锁对系统的实时性影响非常巨大,当使用不当的时候会导致系统完全无实时性可言(可能导致系统完全偏离要求的时间需求)。而使用得当,则会变成一种快速、高效的同步方式。
2.任务临界区
挂起调度器也称为锁定调度器。基本临界区是保护一段代码不被其他任务或中断打断,而由挂起调度器实现的临界区只能保护一段代码不被其他任务打断,并不能约束中断,因为在这种方式下,中断是使能的。
2019TechNet Conference在香港举行 奥比中光作为高盛合作伙伴受邀出席
星链服务的下载速度已经超过了300Mbps,不过上传速度还有待提升
蓝牙耳机芯片因疫情和产能不足严重缺货
VR是什么,有什么作用
OPPO将持续发力声学领域,耳机产品发力空间音效领域
浅谈影响RTOS实时性的因素
i7-8700和Ryzen72700谁更强
6部门联合发布《关于推动物业服务企业加快发展线上线下生活服务的意见》
存储市场动态:DRAM价格大幅上涨在即
空气净化器能否高效辨别空气质量的核心因素
【内含PDF】如何研发性能优异的储氢材料?高压储氢吸附仪在储氢材料中的应用
crc校验原理_怎样修复crc校验错误
制动电机工作原理_制动电机和普通电机区别
上海集成电路研发中心为提高人才培养力度,与阿斯麦签署合作
单片机技术的应用领域有哪些?
美的浴霸接入电路图解析
锂电产业全面进入超级产能过剩时代
不锈钢压力表的安装说明及注意事项
易飞扬推出几款特色扇出型光模块
数字物联网·乡村智慧科创园项目开工奠基仪式