一只天蝎
我呢,永远明媚!
展开
-
µC/OS-II---任务就绪表
意思是:将变量OSRdyGrp中最低位为1的位数赋给y,那么,y就是最高优先级任务所在就绪表的行号,那么最高优先级的任务就在OSRdyGrp[y]行中,再根据。原创 2024-02-26 16:30:17 · 1465 阅读 · 0 评论 -
µC/OS-II---两个系统任务
【代码】µC/OS-II---两个系统任务。原创 2024-02-24 11:14:20 · 525 阅读 · 0 评论 -
µC/OS-II---日常学习
【所以,如果开中断指令的下一条就是关中断的话,那么需要在两条指令之间加一点代码,可以是无实质性功能的,比如:函数体为空的函数】不同内核的实时操作系统的性能指标:考察中断【中断延迟时间、中断响应时间、中断恢复时间、中断处理时间、内核最大关中断时间等】、任务相关【任务切换时间、任务响应时间等】、其他系统调用。中断本身是一种异步机制,中断服务程序(ISR)不需要内核的调度就可以执行【通常是由硬件中断触发并执行的】。强实时内核要求调度过程所花费的时间是确定的【不能随系统中就绪任务的数目而变化】。原创 2024-02-21 16:29:57 · 202 阅读 · 0 评论 -
20240211-日常学习(嵌入式微处理器)
是一种存储器结构(嵌入式微处理器的存储体系结构)数据和指令都存在存储器中存储器采用统一编址【程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,共用地址总线和数据总线,因而程序指令和数据的宽度相同】ARM7是冯·诺依曼体系结构。原创 2024-02-17 21:16:53 · 288 阅读 · 0 评论 -
uC/OS-Il---实战1---一个发光二极管闪烁
【代码】uC/OS-Il---实战1---一个发光二极管闪烁。原创 2023-11-23 09:32:24 · 5 阅读 · 0 评论 -
uC/OS-Il---多级中断机制
欢迎指正!原创 2023-11-20 16:27:15 · 408 阅读 · 0 评论 -
µC/OS-II---中断相关名词
中断相关名词中断和中断服务程序进入临界区和禁用中断任务的临界区代码和ISR的临界区代码中断和中断服务程序中断是指处理器在执行程序的过程中,由硬件或软件触发的一种事件。当中断事件发生时,处理器会立即中断当前的执行流程,保存当前的上下文,并跳转到相应的中断服务程序(ISR)中执行特定的处理逻辑。中断服务程序(ISR)是一段特定的代码,用于处理特定的中断事件。它通常是由开发人员编写的,用于响应中断事件并执行相应的处理操作。ISR的执行通常是在中断上下文中进行的,它可以访问和操作中断相关的寄存器和数据结构。原创 2023-11-20 16:15:13 · 137 阅读 · 0 评论 -
uC/OS-II---系统时钟---os_core.c
uC/OS-II与大多数计算机系统一样,用硬件定时器产生一个周期为ms级的周期性中断来实现系统时钟,最小的时钟单位就是两次中断之间相间隔的时间,这个最小时钟单位叫做时钟节拍 (Time Tick)。硬件定时器以时钟节拍为周期定时地产生中断,该中断的中断服务程序叫做OSTickISR()。中断服务程序通过调用函数OSTimeTick()来完成系统在每个时钟节拍时需要做的工作。原创 2023-11-19 20:15:16 · 116 阅读 · 0 评论 -
uC/OS-Il的初始化函数---OSStart()
【代码】uC/OS-Il的初始化函数---OSStart()。原创 2023-11-18 17:35:42 · 42 阅读 · 0 评论 -
uC/OS-Il的初始化函数---OSInit()---其他特定文件部分
【代码】uC/OS-Il的初始化函数---OSInit()---其他特定文件部分。原创 2023-11-18 17:28:48 · 77 阅读 · 0 评论 -
μC/OS-II---结构体定义2
【代码】μC/OS-II---结构体定义2。原创 2023-11-18 16:43:50 · 47 阅读 · 0 评论 -
μC/OS-II---结构体定义1
【代码】μC/OS-II---结构体定义1。原创 2023-11-18 16:43:29 · 54 阅读 · 0 评论 -
uC/OS-Il的初始化函数---OSInit()---os_core.c文件部分
【代码】uC/OS-Il的初始化函数。原创 2023-11-17 18:50:29 · 19 阅读 · 0 评论 -
任务 = 任务代码+TCB+任务堆栈
0x00u/*准备运行*/0x01u/*等待信号量*/0x02u/*等待消息邮箱*/0x04u/*等待消息队列*/0x08u/*任务已挂起*/0x10u/*等待互斥信号量*/0x20u/*等待事件标志组*/0x80u/*等待多个事件*/原创 2023-11-17 17:54:59 · 134 阅读 · 0 评论 -
μC/OS-II---整理学习1
目录系统功能系统结构图μC/OS-II是用 C 语言(绝大部分)和汇编语言(与处理器密切相关的代码)编写的。系统功能实时内核:μC/OS-II—内核:任务调度(oc_core.c)任务管理:μC/OS-II—Task管理1(os_task.c);μC/OS-II—Task管理2(os_task.c)时间管理:μC/OS-II—时间管理(os_time.c);μC/OS-II—计时器管理1(os_tmr.c);μC/OS-II—计时器管理2(os_tmr.c)信号量管理:μC/OS-II—信原创 2023-11-16 17:51:39 · 110 阅读 · 0 评论 -
内存管理中的一级指针和二级指针
关于指针的内容,在本科的时候有学过,但是仅限于学过,使用起来那是跟没学过一样,最近读操作系统源码和师兄写的代码有点头秃,特此总结一下。原创 2023-11-16 17:19:01 · 163 阅读 · 0 评论 -
4种互斥机制比较
4种互斥机制关中断禁止任务切换信号量互斥信号量关中断关中断(Disable Interrupts):通过禁用中断来实现互斥。在关中断期间,任何中断请求都会被忽略,从而确保了临界区的独占性。然而,这种方法会导致系统的实时性下降,因为所有中断都被禁用,包括紧急情况下的中断。禁止任务切换禁止任务切换(Disable Task Switching):在某些实时操作系统中,可以通过禁止任务切换来实现互斥。当一个任务进入临界区时,系统会禁止任务切换,直到该任务退出临界区才允许切换到其他任务。这种方法可以确原创 2023-11-15 09:06:14 · 177 阅读 · 0 评论 -
μC/OS-II---进程间通信方式
目录信号量( Semaphores )- 用于最基本的互斥、同步操作互斥信号量(Mutual Exclusion Semaphores )-专门用于互斥消息队列( Message Queues )- 用于消息通信消息邮箱(Message Box) - 单消息事件标志组(Event Flag)- 一组标志总的来说,信号量和互斥信号量主要用于控制对共享资源的访问,消息队列和消息邮箱用于进程间或进程内的消息传递,事件标志组用于进程间的同步和通信。信号量( Semaphores )- 用于最基本的互斥、同步原创 2023-11-15 14:52:06 · 201 阅读 · 0 评论 -
μC/OS-II---消息队列管理2(os_q.c)
【代码】μC/OS-II---消息队列管理2(os_q.c)原创 2023-11-15 15:49:31 · 69 阅读 · 0 评论 -
μC/OS-II---消息队列管理1(os_q.c)
【代码】μC/OS-II---消息队列管理1(os_q.c)原创 2023-11-15 14:51:42 · 80 阅读 · 0 评论 -
μC/OS-II---互斥信号量管理2(os_mutex.c)
【代码】μC/OS-II---互斥信号量管理2(os_mutex.c)原创 2023-11-15 09:01:01 · 175 阅读 · 0 评论 -
μC/OS-II---互斥信号量管理1(os_mutex.c)
【代码】μC/OS-II---互斥信号量管理1(os_mutex.c)原创 2023-11-15 09:00:40 · 1719 阅读 · 0 评论 -
μC/OS-II---信号量管理2(os_sem.c)
【代码】μC/OS-II---信号量管理2(os_sem.c)原创 2023-11-14 19:48:21 · 62 阅读 · 0 评论 -
μC/OS-II---信号量管理1(os_sem.c)
【代码】μC/OS-II---信号量管理1(os_sem.c)原创 2023-11-14 19:48:08 · 88 阅读 · 0 评论 -
μC/OS-II---消息邮箱管理2(os_mbox.c)
【代码】μC/OS-II---消息邮箱管理2(os_mbox.c)原创 2023-11-14 19:33:02 · 209 阅读 · 0 评论 -
μC/OS-II---消息邮箱管理1(os_mbox.c)
【代码】μC/OS-II---消息邮箱管理1(os_mbox.c)原创 2023-11-14 19:32:50 · 424 阅读 · 0 评论 -
μC/OS-II---事件标志组管理2(os_flag.c)
【代码】μC/OS-II---事件标志组管理2(os_flag.c)原创 2023-11-14 19:21:00 · 92 阅读 · 0 评论 -
μC/OS-II---事件标志组管理1(os_flag.c)
【代码】μC/OS-II---事件标志组管理1(os_flag.c)原创 2023-11-14 19:20:36 · 252 阅读 · 0 评论 -
μC/OS-II---内存管理2(os_core.c)
【代码】μC/OS-II---内存管理2(os_core.c)原创 2023-11-14 18:55:22 · 182 阅读 · 0 评论 -
μC/OS-II---内存管理1(os_mem.c)
【代码】μC/OS-II---内存管理。原创 2023-11-10 20:11:10 · 52 阅读 · 0 评论 -
μC/OS-II---计时器管理2(os_tmr.c)
【代码】μC/OS-II---计时器管理2(os_tmr.c)原创 2023-11-14 18:43:11 · 243 阅读 · 0 评论 -
μC/OS-II---计时器管理1(os_tmr.c)
【代码】μC/OS-II---计时器管理1(os_tmr.c)原创 2023-11-14 18:42:52 · 276 阅读 · 1 评论 -
μC/OS-II---时间管理(os_time.c)
【代码】μC/OS-II---定时管理(os_time.c)原创 2023-11-14 18:28:01 · 562 阅读 · 0 评论 -
μC/OS-II---Task管理2(os_task.c)
【代码】μC/OS-II---内Task管理2(os_task.c)原创 2023-11-14 19:06:39 · 157 阅读 · 0 评论 -
μC/OS-II---Task管理1(os_task.c)
【代码】μC/OS-II---Task管理1(os_task.c)原创 2023-11-09 16:04:09 · 504 阅读 · 0 评论 -
μC/OS-II---内核:任务调度(oc_core.c)
【代码】μC/OS-II---内核:任务调度。原创 2023-11-09 21:46:29 · 102 阅读 · 0 评论 -
ucos_conf、ucos_src和ucos_port
由于 uC/OS-II 是一个可移植的操作系统,它可以在不同的硬件平台上运行。ucos_port 文件夹中的代码是针对特定硬件平台的移植代码,用于适配 uC/OS-II 到目标平台上。这些源代码实现了 uC/OS-II 的核心功能,包括任务管理、时间管理、中断管理、内存管理等。你可以在这个文件夹中找到 uC/OS-II 的核心内核代码,以及其他模块的实现代码。在这个文件夹中,你可以找到 uC/OS-II 的配置头文件(通常命名为 os_cfg.h),你可以根据你的需求对操作系统进行配置。原创 2023-11-03 16:34:34 · 81 阅读 · 0 评论 -
os_cfg.h、os_cpu.h和ucos_ii.h
可以确保在同一编译单元中多次包含该头文件时,只有第一次会真正包含,后续的包含会被跳过,以避免重复定义和编译错误。因此,原创 2023-11-09 16:02:36 · 243 阅读 · 0 评论