STM32裸机开发和RTOS开发区别

本文对比了STM32的裸机开发和RTOS开发,裸机开发适合简单任务,但并发性和可扩展性有限,而RTOS提供多任务并发和更好的模块化,适合复杂系统,但可能牺牲实时性。RTOS通过任务调度和内存管理优化了软件结构,提高了软件的复用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

@STM32裸机开发和RTOS开发区别TOC


在百问网学习物联网第一天笔记

前言

RTOS`较裸机开发来说,具备很多有点:

1、并发性:程序并发工作效率好
2、模块化:高内聚、低耦合的原则
3、生态:很多高级软件组件,必须依赖于操作系统来实现
4、实时性:功能复杂的情况下,实时性无法保证
5、可重用性:软件可重用性差,总是重复造轮子

一、裸机开发

裸机开发一般采用轮训方式+前后台方式:裸机运行的程序代码,一般由一个main函数中的while死循环和各种中断服务程序组成,平时CPU执行while循环中的代码,出现其他事件时,跳转到中断服务程序进行处理,没有多任务、线程的概念。
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。在这里插入图片描述
裸机开发的缺点:
采用中断和查询结合的方式可以解决大部分裸机应用,但随着工程的复杂,裸机方式的缺点就暴露出来了:
 必须在中断 (ISR) 内处理时间关键运算 内处理时间关键运算 :
 ISR ISR 函数变得非常复杂,并且需要很长执行时间 。
 ISR ISR 嵌套可能产生不预测的执行时间和堆栈 需求。
 超级循环和 ISR 之间的 数据交换是通过全局共享变量进行:
 应用程序的员必须确保数据一致性 。
 超级循环可以与系统计时器轻松同步,但:
 如果系统需要多种不同的周期时间,则会很难实现 。
 超过 超级循环周期的耗时函数需要做拆分。
 增加 软件开销,应用程序难以理解 。
 超级循环 使得 应用程序变得非常复杂,因此难以扩展 :
 一个简单的更改就可能产生不预测副作用 ,对这种副作用进行分析非常耗时。
 超级循环概念的这些缺点可以通过使用实时操作系统 (RTOS) 来解决。

二、RTOS开发

在裸机开发过程中使用轮询+中断的方式。对于一些多任务,耗时时间长的复杂任务来说,单纯的逻辑开发满足不了系统实时性的需求。

首先,一个复杂的软件系统需要处理多个并发的任务,没有操作系统,想完成多任务并发是很困难的。

其次,操作系统给我们提供了非常好的任务调度,内存管理等机制,更有利于实现更复杂的嵌入式操作系统。

总结

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值