首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
首页 /
rtos
#
rtos
#
6172次浏览
59人互动
收藏话题
分享
此刻你想和大家分享什么
热门
最新
11-07 00:05
南京邮电大学 嵌入式工程师
浅聊一下RTOS的学习路线
一、关于看资料还是看视频以下仅代表笔者个人看法,仅供参考。笔者主要推荐通过资料进行学习,如果有不理解的地方再配合视频进行学习。因为笔者认为看资料的效率会更高,接收的知识更成体系,防止看了视频还是一知半解的状态。个人推荐的资料如下(以freertos为例): 《FreeRTOS开发手册》、《CM3权威指南》、 《嵌入式实时操作系统原理及应用》、 《FreeRTOS实时内核使用指南》《操作系统精髓与涉及原理》(这是本书,可自行购买);此处先把所有资料列出来,后续再讲解什么时候用到某个资料(有需要上述资料的同学,私信我即可领取)。除此之外,多说一点的是:个人建议先补好C语言基础知识和数据结构的基础知识再来学习RTOS。因为RTOS里边存在大量的指针高阶用法,如函数指针/指针函数/二维指针等;以及数据结构,最典型的就是链表,Freertos里边还涉及到环形链表。因此,先将这些基础打牢固,再来学RTOS的时候就更加水到渠成一些。二、RTOS学习路线0基础的同学建议按照以下步骤走:1、学习任务基础知识:先打开书《操作系统》 (百度也行)了解一下什么是操作系统?为什么要用操作系统?个人习惯是再用一个东西之前, 需要了解为什么。其次打开《 FreeRTOS开发手册》以及《freertos内核使用指南》,学习任务的基础知识。包括什么是任务、任务的几种状态、任务优先级、任务堆栈、TCB及简单了解任务的调度等。2、学习移植RTOS:还是打开Freertos开发手册,跟着教程一步一步移植操作系统。这里的移植不仅是让你把源码移植进工程里,还需要你明白如何进行相应的中端配置、移植文件的修改、 以及内核裁剪的系统配置(可能到这一步的时候,有些东西你不知道为什么,先不用管,后边学了原理再来看)。3、学习简单的rtos使用:打开Freertos内核使用指南或者freertos开发手册,学习rtos中API 的参数、作用、以及使用示例。这里的API至少了解任务的创建、删除、挂起、延时(至少知道延时的时候会发生任务调度)、信号量等。上述目的就是让你先学会用,用的过程中就会自然而然的出现问题,接下来就知道该去探究原理了。4、学习rtos原理:打开《CM3权威指南》,学习以下重点知识即可:第二章、第三章(寄存器组、control寄存器等)、第7章(SvC和PendSV重点、其他的也是重点)、第8章(Systick定时器是重点,其他的也是重点)、 第9章主要了解中断入栈时push进哪些寄存器、 取向量、更新寄存器、异常返回等内容即可。4.1、了解完CM3架构的基础知识后,打开《嵌入式实时操作系统原理及应用》,主要了解任务调度算法,学习任务到底是如何切换的,需深刻理解任务切换实际上为堆栈指针切换这句话。ps:笔者在小红书发布了freertos学习合集,也可以配合起来看看,其中发布了任务切换原理的视频讲解。5、看RTOS的源码:此时之前学习的c基础和数据结构基础就可以派上用场了。看源码可以直接在工程里打开代码看,也可以打开《FreeRTOS开发手册》,里边也有相关源码的解析。建议看源码的顺序按照以下来:创建任务函数--开启多任务调度函数(看一下任务切换原理的代码怎么实现的)--队列--信号量等(也可以配合freertos内核使用指南)接下来需要重点看的是systick中断函数以及delay函数源码,主要了解Systick怎么作为rtos 时钟使用的,delay函数怎么实现任务切换的, 任务如何从阻塞态到就绪态的、相对延时和绝对延时的区别等。ps:到这一步也可以选择做一些rtos项目帮助理解各个API的用法、原理。要做到分析代码的执行时序是怎样的。6、学习rtos 的内存管理以及空闲任务:FreertoS开发手册就有详细介绍,需要了解什么是内存碎片,各种内存管理方法的优缺点是什么、空闲任务的作用,此处也要去看源码怎么实现的。7、进阶:继续学习FreeRTOS的软件定时器、 低功耗Tickless模式及时间标志组等。了解清楚原理,如何使用,建议也分析一下源码,看如何实现的。最后,本次分享就到这里,上述只是笔者个人的一些建议,希望能给大家带来一定的参考。找不到上述资料的可私信我领取。
点赞
评论
收藏
分享
11-16 20:01
浙江大学 嵌入式工程师
分享我的零基础可速成的嵌入式RTOS项目(问题解答篇)
本项目是去年我作为天坑急转行嵌入式,最后拿下15个offer的秋招助力神器。耗时数月,26W字, 打磨上线后,得到了很多同学的支持,也有很多同学凭借这个项目在今年秋招拿到了心仪offer,以下对常见疑问进行解答: 一Q:需要什么基础才能学这个项目?简单了解C语言,stm32即可,不需要会RTOS。因为我去年是零基础自己做的这个项目,所以项目亮点之一,就在于可以边做边从零学习RTOS。做项目的过程,就是学习RTOS源码原理,应用的过程。 二Q:能不能速成?最快能多久学完?为了适应不同同学的基础,结合我零基础转行的经历。给大家提供了入门,进阶,提升三种学习路径,并提供三种路径的简历写法。所以无论你...
FreeRTOS PLU...
点赞
评论
收藏
分享
03-18 22:30
已编辑
中国科技大学 嵌入式工程师
嵌入式开发工程师笔试面试指南-RTOS
1 前后台程序与实时操作系统的区别是什么?⭐⭐⭐前后台程序:在前后台系统中,通常只有一个后台任务和一个前台任务。前台任务响应中断或事件,而后台任务则在没有事件时运行。整个系统结构简单,但对时间敏感的任务响应较差。实时操作系统:在实时操作系统(RTOS)中,多个任务可以被调度,系统通过任务调度器管理任务的执行顺序。RTOS可以保证高优先级任务得到及时的处理,更适合复杂系统中的实时响应需求。2 实时系统的基本特性有哪些?⭐⭐⭐⭐⭐确定性:系统能够在确定的时间内完成指定任务,确保任务按时完成。可预测性:系统能够预测在特定条件下的行为,保证在任何情况下系统都能做出可预见的响应。高可靠性:系统能够长时间...
嵌入式/C++面试八股文
点赞
评论
收藏
分享
玩命加载中
创作者周榜
更多
热议话题
更多
1
...
实习简历求拷打
0
2
...
担心入职之后被发现很菜怎么办
0
3
...
秋招被挂春招仍然能投的公司
0
4
...
作业帮求职进展汇总
0
5
...
什么是优秀的实习经历
0
6
...
投格力的你,拿到offer了吗?
0
7
...
京东美团大战,你怎么看?
0
8
...
如果今天是你的last day,你会怎么度过?
0
9
...
mt对你说过最有启发的一句话
0
10
...
为了找工作你花了哪些钱?
0
牛客网
牛客网在线编程
牛客网题解
牛客企业服务