随笔分类 - FreeRTOS
摘要:基于TC297的FreeRTOS移植工程分享
阅读全文
摘要:FreeRTOS 在Tricore上的三种任务切换方式如下: (1)任务中调用任务切换 切换函数:portYIELD()/portYIELD_WITHIN_API()/taskYEILD() 处理器资源:Trap_class6_TIN0 触发方式:_syscall(0) 处理函数:void prvT
阅读全文
摘要:只是记录了自己理解的大致原理,具体细节如任务的状态列表项和事件列表项等参考task.c
阅读全文
摘要:直接CSDN链接搬运: https://blog.csdn.net/zhzht19861011/article/details/51705148
阅读全文
摘要:转自:https://blog.csdn.net/zhzht19861011/article/details/51537234 如果某资源同时只准一个任务访问,可以用互斥量保护这个资源。这个资源一定是存在的,所以创建互斥量时会先释放一个互斥量,表示这个资源可以使用。任务想访问资源时,先获取互斥量,等
阅读全文
摘要:【任务创建】 1.创建任务控制块TCB 2.为任务申请堆栈空间并将起始地址存到任务控制块中(pxNewTCB->pxStack = pxStack) 3.调用prvInitialiseNewTask()函数 1) 通过NewTCB.pxStack计算栈顶指针pxTopOfStack并将其对齐; 2)
阅读全文
摘要:ARM-CM3创建任务、开启调度器、任务调度的整个流程: 【创建任务】 创建任务控制块。为任务申请空间并创建一个任务控制块NewTCB; 申请任务栈空间。为任务申请一块栈空间,并将起始地址存储到NewTCB.pxStack中; 初始化任务相关参数。将任务名、优先级和相关列表项等存放到任务控制块; 初
阅读全文
摘要:在上一篇文章中介绍了软件中断管理与硬件中断管理,但是硬件中断的内容遗漏了一部分:iLLD下的硬件中断管理,在此进行补充。 首先说明一下中断管理代码的位置,以明确整体架构。 iLLD | - - - IfxCpu_Irq.c + CompilerGnuc.h 软件中断管理 | - - - Compil
阅读全文
摘要:本文主要分析TC1.6内核架构下的中断管理方式,包括两种:硬件管理方式和软件管理方式。 本文首先简要介绍TC1.6内核的中断系统,以此为基础便于后面的理解;然后通过对两种中断管理方式对应的代码的分析,分别说明硬件管理和软件管理方式的原理;最后总结两者的特点及二者之间区别。 一、TC1.6系列内核中断
阅读全文

浙公网安备 33010602011771号