首页 > TAG信息列表 > uCOS

STM32F4 在使用ucos的过程中程序在 OSStartHighRdy OSStartHang跑飞

我是用了malloc函数 需要引入 头文件,引入以后 报错 ..\OBJ\UCOS-1.axf: Error: L6915E: Library reports error: __use_no_semihosting was requested, but _ttywrch was referenced 看了网上 说是要勾选 use micro LIB 勾选以后 确实没问题了 但是 程序就会跑飞 经过debug确定

UCOS之启动流程

OS_CRITICAL_ENTER();//进入临界区 OS_CRITICAL_EXIT();//退出临界区 系统初始化OSInit (OS_ERR *p_err) OS_IdleTaskInit(p_err); /* 初始化空闲任务 */ 空闲任务栈默认为 128*4=512 字节 OS_TickTaskInit(p_err); /* 初始化时钟节拍任务 */   CPU初始化CPU_Init (void)

uCOS 邮箱的使用

邮箱存储的是一个void类型的指针 新建的时候 OS_EVENT  *Key_Mbox;//声明OS_EVENT 类型的指针,指针名字是Key_Mbox,按键值邮箱 Key_Mbox = OSMboxCreate((void *)0);//创建邮箱   OSMboxPost(Beep_Mbox, (void *)2);//发送一个邮件 这里分析一下,把原本一个数字二强制转为一个voi

嵌入式无操作系统下管理内存和队列(类UCOS II思想)

例子:存储日志,最多存128条,每条最大1MB。 内存方面 因为嵌入式不适合用动态内存,会产生碎片。这里我们用 u8 data[LOG_SIZE];开辟固定128MB的内存区,再对其分为128个1MB内存块进行管理。 管理方法为:使用一个内存控制块结构体MCB,再编写增删改函数操作MCB进行管理。 队列方面我们使用循

UCOS---等待多个内核对象

UCOS---等待多个内核对象 概述等待多个内核对象例程 概述 内核对象,可以指的是信号量、消息队列、互斥锁、事件标志组等 等待多个内核对象 等待多个内核对象,只能等待信号量和消息队列。 在UCOSIII中允许任务同时等待多个信号量和多个消息队列,也就是说,UCOSIII不支持同时等

uCOS-III 学习记录(11)——任务管理

参考内容:《[野火]uCOS-III内核实现与应用开发实战指南——基于STM32》第 15、16 和 21 章。 从本文开始,是 uCOS 的 API 应用。 目录1 任务状态2 修改和添加相关代码2.1 修改 TCB(os.h)2.2 添加宏定义和数据类型3 任务管理的函数3.1 任务挂起函数 OSTaskSuspend()(os_task.c)3.2 任务恢

uCOS-III 学习记录(5)——临界段

喜气洋洋过虎年!祝各位明年会有更大的进步! 参考内容:《[野火]uCOS-III内核实现与应用开发实战指南——基于STM32》第 10 章。 目录1 临界段2 临界段的保护2.1 Cortex-M 内核的中断指令2.2 开中断和关中断2.2.1 关中断 CPU_SR_Save()(cpu_a.asm)2.2.2 开中断 CPU_SR_Restore()(cpu_a.asm

uCOS-III 学习记录(6)——优先级表

参考内容:《[野火]uCOS-III内核实现与应用开发实战指南——基于STM32》第 11 章。 文章目录 1 优先级表的定义 OSPrioTbl(os_prio.c)1.1 CPU_DATA——一个数组元素的数据长度为多少?(cpu.h)1.2 OS_PRIO_TBL_SIZE——数组有多大?(os.h)1.2.1 OS_CFG_PRIO_MAX——支持多少个优先级?(os_c

uCOS-III学习笔记(9)----任务标志组

理解: 这个其实很好理解,比如想完成这样一个功能,任务1的按键1按下并且按键2按下,此时任务2的灯才会亮,(这里说的并且也可以改成任意一个事件触发)。 OS_FLAG_GRP MyEventFlag; OSFlagCreate((OS_FLAG_GRP *)&MyEventFlag, (CPU_CHAR *)"MyEventFlag", (OS_FLAGS )0,

STM32F103移植uCOS-III

本文主要叙述使用STM32F103C8T6移植uCOSIII操作系统,构建3个任务,以1s和3s洲际对LED进行点亮-熄灭控制,以2s周期通过串口发送“hello uc/OS! 欢迎来到RTOS多任务环境!”。在掌握Keil仿真调试代码功能以外,使用SaleaeLogic16抓取LED和串口通信的波形。 实验软件:Keil μVision5、ST

STM32移植uCOS基于HAL库

一、什么是uCOS-III UCOSIII是一个可裁剪、可固化、可剥夺的多任务系统,没有任务数目的限制,是UCOS的第三代内核,UCOSIII有以下几个重要的特性: 可剥夺多任务管理: UCOSIII和UCOSII一样都属于可剥夺的多任务内核,总是执行当前就绪的最高优先级任务。 同优先级任务的时间片轮转调度: 这个

STM32F103C8T6移植uCOS

STM32F103C8T6移植uCOS 一、CubeMX创建STM32F103C8T6HAL库二.准备移植uCOSIII源码(一)下载好代码uCOSIII源码(二) 新建文件夹UCOSIII(三)uCOS-CONFIG中添加文件(四)向uCOS-BSP中添加文件 三、uCOSIII源码移植(一)Keil项目准备(二)将UCOSIII的文件添加到项目(三)为bsp.c和bsp.h添加代码(四)g

ucos实时操作系统基础理解

一,基础理解 1,ucos系统的任务表示: 需要在里面添加中断的代码的,以便于它能跳转到其他的任务中执行,切换任务的时候,判断优先级进行任务之间的切换的工作。 void  task1(void * param) {  for( ; ;)         {                           //用户

UCOS-III学习(一)——创建任务

创建任务 1、定义任务栈 在UCOS中,每个任务都是独立的,它们的运行环境都单独的保存在各个栈空间,任务使用的栈和任务控制块都使用的是静态变量,也就是全局变量。 #define APP_STK_SIZE 128 static CPU_STK APPTaskStartStk[APP_STK_SIZE]; 2、定义任务控制块 任务控制块就是一

uCOS-III内核源码分析笔记 - 延时任务 OSTimeDly

 

uCOS-III内核源码分析笔记 - Tick 任务 OS_TickTask

uCOS-III内核源码分析笔记 - 任务级调度器 void OSSched(void)

ucos(9)互斥锁和死锁

一、概述 互斥锁,亦称:互斥信号量。   在编程中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为“互斥锁”的标记,这个标记用来保证在任一时刻,只能有一个任务(线程)访问该对象(任务之间访问到相同的函数、相同的全局变量)。某个任务得到互斥锁后,就可以

ucos(八)软件定时器

一、概述   内核提供了一个模拟定时器的机制,类似于任务,但是占用资源少,只能做一些简单的定时控制,如可以定时的喂狗、控灯。在软件定时器,不能添加时间管理函数、阻塞等待函数(等待互斥锁/信号量/事件标志组/消息队列)。 1.创建软件定时器 void OSTmrCreate (OS_TMR *p_tmr, CPU_

ucos(五)临界区

一、概述 代码的临界段也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则不允许执行被打断。 大多数系统为确保临界段代码的执行不被中断,在进入临界段之前必须关中断,而临界段代码执行完后,要立即开中断。常见案例为喂狗、FLASH的写入、获取当前时钟节拍计数器等保护操

嵌入式进阶 - 实验教学方案

  文章目录 机械结构 硬件参数 实验支撑 FPGA基础开发 UCOS实验 嵌入式系统实验 综合控制应用实验   本实验箱以全向麦轮车为载体,将ARM和FPGA集成为一个实验平台进行联合实验,使用了更高配置的主控芯片,并引入实时多任务操作系统UCOS,便于学生基于当前实验平台进行更高阶

FreeRTOS与uCOS II的比较

FreeRTOS与uCOS II均为嵌入式实时操作系统,各有优劣,本文为你仔细分析。   目前嵌入式主流实时系统(RTOS)有uCOS、FreeRTOS,之所以很多第三方库都有在FreeRTOS上的应用Demo,是因为FreeRTOS免费。   一、FreeRTOS比uCOS II优胜的地方: 1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。这在单

STM32CubeMX HAL库+STM32F407+uCOS-III移植

STM32CubeMX HAL库+STM32F407+uC/OS-III移植详细过程 前言 参考资料: 官网资料:https://micrium.atlassian.net/wiki/spaces/osiiidoc/overview正点原子STM32F4 UCOS开发手册_v3.0.pdf[野火]uCOS-III内核实现与应用开发实战指南https://doc.embedfire.com/rtos/ucos/zh/latest/

嵌入式-为什么选择ucos iii

  杰哥最近去一个小公司搞嵌入式开发,以前在学校里面的那种基本开发,一个main函数里面套循环,加上一些中断的日子不再回来了,还记得大二暑假电赛的时候,也不知道那里出错了,代码就死到一个地方,再也跳不出来了,现在知道UCOS iii 的系统编程思想,并行运行程序,调度任务的方式就会解决当时

uCOS-III 应用开发指南—基于 STM32F103系列

uCOS-III 应用开发指南—基于 STM32F103系列 嵌入式经典教材 【实例截图】 文件:590m.com/f/25127180-490253580-defdec(访问密码:551685) 以下内容无关: -------------------------------------------分割线--------------------------------------------- 没看之前以为OAuth2.0