嵌入式RTOS面试题目

news2024/11/25 4:47:50

用过哪些嵌入式操作系统?使⽤RTOS和裸机代码开发有什么区别(优缺点)? 

之前的⼀个项⽬是采⽤裸机代码开发的,写起来还⾏,通过状态机来管理业务逻辑和各种外设。
但是随着外设的增加,任务之间的同步和并⾏处理的逻辑增加,写起来就会越来越麻烦,这时就引⼊了操作系统。写代码就变得容易很多。
操作系统的作⽤,⽅便管理任务,管理延时,管理内存,管理任务间通讯。

 

有移植过freertos吗?

有,移植过2022lts版本, 步骤是,下载源码,裁剪源码,解决config.h的依赖缺失,解决
systemcoreclock的问题,解决xxx_Handler的回调错误, 完成systick的delay。 就差不多移植好了。

FreeRTOS移植过程?

(内核源码,头文件,内存,接口)
1. 下载源码
2. 拉取 FreeRTOSv9.0.0\FreeRTOS\Source 的所有 .c 文件 =>> 内核源码
3. 拉取 FreeRTOSv9.0.0\FreeRTOS\Source\portable{\MemMang,\RVDS\ARM_CM3}
4. 拉取 FreeRTOSv9.0.0\ FreeRTOS\Source\include == 》头文件
5. 工程中 C++ 配置目录
6. 修改 FreeRTOSConfig.h 文件,堆栈空间问题,时间节拍
7. 修改服务中断函数, stm32f10x_it.c SysTick_Handler(void)
8. 注释掉 PendSV_Handler() SVC_Handler() 函数
Q: 嵌⼊式操作系统的硬实时和软实时如何理解
嵌⼊式操作系统问题
初始化:
- 定义历史样本数组 history ,⻓度为 FILTER_LENGTH, 初始值是 0
滤波过程:
- 对于每个新的输⼊值 newValue
- newValue 添加到历史样本数组的开头
- 如果历史样本数组⻓度超过 FILTER_LENGTH ,移除最旧的样本值
- 计算历史样本数组中所有值的平均值,并将结果赋给 filteredValue
返回 filteredValue 作为滤波后的输出值
1
2
3
4
5
6
7
8
9
10
Plain Text 8
A: 硬实时就像是,必须按时响应,或完成任务,否则会有⼤问题。软实时有截⽌⽇期,但稍微晚⼀点完
成也不会有太⼤麻烦,只要不太拖延就⾏。硬实时对时间要求⾮常苛刻,⽽软实时对时间要求相对灵
活。嵌⼊式系统需要根据具体任务来选择使⽤哪种⽅式。硬实时可以是硬件中断来实现,软实时可以是
CPU时间⽚轮转来实现。
Q: 操作系统中信号量和互斥量有什么区别?
A :互斥量是⼆进制的,同时只有1个task可以访问资源, 信号量是计数的,多个task都可以使⽤信号
量,根据数值进⾏不同的业务逻辑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1652644.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

泛域名SSL证书购买攻略!

购买泛域名证书(也称为通配符证书)通常涉及以下几个步骤: 1. 选择证书提供商: 首先,你需要选择一个信誉良好的SSL证书提供商,如 Sectigo、GlobalSign、DigiCert 或者JoySSL。部分云服务提供商如华为云也提供…

windows11获取笔记本电脑电池健康报告

笔记本电脑的电池关系到我们外出时使用的安全,如果电池健康有问题需要及时更换,windows系统提供了检查电池健康度的方法。 1、打开命令行 1)键入 winR 2)键入 cmd 打开命令行。 2、在命令行运行如下指令,生成电池健…

直播产品实习生实习体验报告,笔灵AI生成模版分享

实习体验报告:直播产品实习生 如果有不同的岗位需要写的话可以去笔灵生成一下 网址:https://ibiling.cn/scene/inex?fromcsdnsx 一、实习背景我是XXX,作为一名直播产品实习生,我在XX公司进行了为期X个月的实习。在这段时间里&…

【Java基础】Java异常处理机制超简单的!!

程序在运行时出现的不正常情况 java把程序运行时出现的各种不正常情况提取属性和行为进行描述,从而出现了各种异常类,也就是异常被面向对象了。 异常名称、异常信息、异常发生的位置 Exception in thread "main" java.lang.ArrayIndexOutOf…

Saving Environment to FAT... Card did not respond to voltage select!

在移植uboot到全志H3时,出现了错误: Saving Environment to FAT… Card did not respond to voltage select! 判定与MMC有关。 同时还有报错: Error: ethernet1c30000 address not set. No ethernet found. 查看源码发现这与环境变量有关&am…

01-xss基本原理

核心:攻击的是前端&#xff0c; 一、课程引入 1、开发一个简单的PHP页面&#xff0c;代码如下&#xff1a; <?php // xss 基础演示代码&#xff1a;从浏览器中接受一个URL地址参数名为content if(isset($_GET[content])){$content$_GET[content];echo "你输入的内容…

LeetCode 每日一题 Day 144-157

2385. 感染二叉树需要的总时间 给你一棵二叉树的根节点 root &#xff0c;二叉树中节点的值 互不相同 。另给你一个整数 start 。在第 0 分钟&#xff0c;感染 将会从值为 start 的节点开始爆发。 每分钟&#xff0c;如果节点满足以下全部条件&#xff0c;就会被感染&#xf…

浏览器的使用心得和探索

文章目录 前言一、浏览器二、个人推荐2.1 3602.2 猎豹2.3 火狐2.4 chorme2.5 Opera2.6 QQ浏览器2.7 猫眼&#xff08;Catsxp&#xff09;2.8 edge 三、Browser plugin3.1 AdGuard 广告拦截器3.2 Axure RP 查看器3.3 Edge深度清理者3.4 FeHelper(前端助手)3.5 MarkDownload - Ma…

Echarts之桑基图的配置,带你感受数据流动之美。

一、桑基图的作用 ECharts中的桑基图&#xff08;Sankey diagram&#xff09;是一种用于显示数据流量、能量转移、材料流动等复杂关系的图表类型。它可以反映不同节点之间的流动关系、数量、比例等信息。 桑基图可以用于展示各种复杂的关系&#xff0c;比如流程图、资源分配、…

算法基础01一快速排序,归并排序,二分

一.排序 1.快速 排序 基于分治 确定分界点 左 右 中间 随机划分区间 左半边<x >x在右半边递归处理左右两端 #include<iostream>using namespace std;const int N 1e6 10;int n; int q[N]; void quick_sort(int q[],int l,int r) {if(l>r)return;//边界&…

【微机原理及接口技术】8086/8088系统时序和微机总线

【微机原理及接口技术】8086/8088系统时序和微机总线 文章目录 【微机原理及接口技术】8086/8088系统时序和微机总线前言一、8086/8088引脚信号和工作模式1.8088 的两种组态模式2.最小组态的引脚信号3.最小组态的总线形成4.最大组态的总线形成 二、8086/8088典型时序1.三种周期…

九州金榜|孩子出现焦虑情绪应该怎么家庭教育?

当下社会&#xff0c;生活节奏快&#xff0c;生活压力大&#xff0c;同时孩子学习压力也在加大&#xff0c;这就造成孩子会出现焦虑情绪。那么作为家长&#xff0c;我们不仅仅只关注孩子的身体健康&#xff0c;还要重视孩子心理健康问题。当孩子出现焦虑情绪时&#xff0c;那么…

鞋店小程序商城的作用是什么

鞋与服装一样其购买/复购属性都非常足&#xff0c;每个人生活所需无疑促进了品牌多样化、工厂/店铺商家/个人都有很多&#xff0c;其目的都是为了品牌宣传和将更多货卖给下游/客户。 对消费者来说&#xff0c;买鞋渠道线上线下选择比较多&#xff0c;普遍会以品牌为主&#xf…

Centos7 安装 MySQL5.7 使用 RPM 方式

1 访问网站 https://downloads.mysql.com/archives/community/ 选择合适的版本&#xff0c;点击 Download。 2 上传下载好的 mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar 文件到 Centos7 机器&#xff0c;这里放到了 下载 目录。 3 解压 mysql-5.7.44-1.el7.x86_64.rpm-bundle.…

FileLink跨网文件交换的交换方式:满足不同场景下的文件交换需求

FileLink&#xff0c;作为一款创新的文件交换工具&#xff0c;不仅满足了用户在日常生活中对文件传输的需求&#xff0c;更在技术上实现了跨网文件交换的突破。其独特之处在于支持邮件方式投递、文件中转站、网盘模式共享三种交换方式&#xff0c;这使得FileLink能够适应不同场…

《intel开发手册卷1》学习笔记2

1、栈 堆栈&#xff08;见图 6-1&#xff09;是一个连续的内存位置数组。它包含在一个段中&#xff0c;并由 SS 寄存器中的段选择器标识。使用平面内存模型时&#xff0c;堆栈可以位于程序线性地址空间中的任何位置。堆栈最长可达 4 GB&#xff0c;这是段的最大大小。 使用 P…

【SpringBoot 项目 加密】你会对Spring项目的接口进行加密吗?

这里写目录标题 加密/加盐加密介绍加密算法分类加密思路 测试类写加密/解密工具类修改数据库密码修改登录接口 加密/加盐 加密介绍 在MySQL数据库中, 我们常常需要对密码, ⾝份证号, ⼿机号等敏感信息进⾏加密, 以保证数据的安全性。如果使⽤明⽂存储, 当⿊客⼊侵了数据库时,…

springboot本地文件同步到nacos 本地文件上传到nacos 使用nacos

导入依赖 <!--配置文件使用nacos--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>nacos版本</version></dependency><dependency…

深入解析Python中的`add_argument`用法

深入解析Python中的add_argument用法 在Python编程中&#xff0c;add_argument通常与命令行参数解析库argparse有关。这个库主要用于编写用户友好的命令行接口&#xff0c;其核心功能之一就是通过add_argument方法来指定程序可以接受哪些命令行参数。本篇博客将详细介绍argpar…

留学资讯 | 曼大突然官宣接受雅思单科重考!单科重考体验大揭秘!

雅思单科重考于昨日&#xff08;5月6日&#xff09;进行了大陆地区的首场考试&#xff0c;不少烤鸭都在观望状态&#xff0c;表示&#xff1a;虽然我很心动&#xff0c;但是学校们可不心动&#xff01;&#xff01; 别急&#xff01;好消息这不就来了&#xff01;曼大官网明确表…