- 博客(3)
- 资源 (15)
- 收藏
- 关注
原创 嵌入式RTOS代码底层关键设计2(保护现场)
1、MCU的寄存器,一般来说这些寄存器值都是要保存的,到任务返回时,把这些寄存器的值恢复(这里当然包括程序指针R15,这个程序指针一般是一个固定的位置,这个我们会再讲)。这个其实就是从栈里来的了,用的时候就把栈指针指向的那个地址给这个变量,然后执行压栈指令,栈指针就指向下一个地址。讲完这些其实任务切换其实就简单了,就是从一个任务栈切换到另一个任务栈,让栈指针指向这个任务栈,然后呢就是执行中断返回,任务栈里保存了现场,CPU只要按这个栈的顺序恢复现场就恢复 了任务切换中断发生前的那个场景。
2023-10-17 23:23:52 132
原创 嵌入式RTOS代码底层关键设计
其实RTOS的精华在于上层,像线程管理、时钟管理、中断管理、任务间通信管理与内存管理。一般嵌入式的内存都不是特别大,所以嵌入式的RTOS的内存管理设计的都比较简陋。而上层的设计多个操作系统之间其实区别不大,多一点少一点的,核心的东西都没有变。而RTOS一般有一部代码是用汇编设计的,一般是指任务切换,任务的初始化等等,我觉得这是我们学RTOS必须要自己掌握的一门东西,这部分涉及到你对内核架构的了解,了解这一部分后你才能自己游刃有余的去移植一个操作系统。
2023-10-16 23:00:54 90
原创 学单片机为什么要学rtos
RTOS,又叫real time operation system.最重要的就是这个实时的概念,我们写程序在用的方法应该叫轮询,带上中断之后应该就叫前后台系统,比如这个图是我们一般写程序的方法。没有中断前,我们的CPU一直在主函数的这个while(1)里面反复执行。虽然后来我们有了中断,中断的任务和CPU的任务确实了也是独立运行的,其实已经很类似操作系统这种模式了,但是一般我们在中断里只是改变一些标志量,我们自从上学的时候应该都听过,中断毕竟是异常,不能塞很多事件,影响系统的实时性,因为main函数里的wh
2023-09-18 11:31:50 428 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人