华为LiteOS系统使用-任务调度函数-第一篇
1.最近项目遇到华为的LiteOS小型操作系统,使用学习
2. 先打开一个工程LiteOS_Kernel-master\projects\LPC824_LITE_KEIL
3. main.c里面2个关键函数。
- LOS_KernelInit(); //系统初始化
- LOS_Start();//系统启动
4.任务创建函数
- void LOS_Demo_Entry(void)
- {
- UINT32 uwRet;
- TSK_INIT_PARAM_S stTaskInitParam;
- (VOID)memset((void *)(&stTaskInitParam), , sizeof(TSK_INIT_PARAM_S)); //堆栈初始化为0
- stTaskInitParam.pfnTaskEntry = (TSK_ENTRY_FUNC)LOS_Demo_Tskfunc; //任务入口函数
- stTaskInitParam.uwStackSize = LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE; //任务堆栈大小
- stTaskInitParam.pcName = "ApiDemo"; //任务名字
- stTaskInitParam.usTaskPrio = ; /、任务优先级
- uwRet = LOS_TaskCreate(&g_uwDemoTaskID, &stTaskInitParam); //创建任务
- if (uwRet != LOS_OK)
- {
- dprintf("Api demo test task create failed\n");
- return;
- }
- return;
- }
5. 其中和任务相关的函数,主要是这些
- //创建一个任务,但是先阻塞不运行
- UINT32 LOS_TaskCreateOnly (UINT32 *puwTaskID, TSK_INIT_PARAM_S *pstInitParam)
- //创建一个任务
- UINT32 LOS_TaskCreate (UINT32 *puwTaskID, TSK_INIT_PARAM_S *pstInitParam)
- //恢复一个任务
- UINT32 LOS_TaskResume (UINT32 uwTaskID)
- //阻塞一个任务
- UINT32 LOS_TaskSuspend (UINT32 uwTaskID)
- //删除一个任务
- UINT32 LOS_TaskDelete (UINT32 uwTaskID)
- //延时一个任务
- UINT32 LOS_TaskDelay (UINT32 uwTick)
- //锁定任务,应该是暂停任务调度
- VOID LOS_TaskLock (VOID)
- //解锁任务,恢复任务调度
- VOID LOS_TaskUnlock (VOID)
- //设定任务优先级
- UINT32 LOS_TaskPriSet (UINT32 uwTaskID, UINT16 usTaskPrio)
- //设定当前运行任务的优先级
- UINT32 LOS_CurTaskPriSet (UINT16 usTaskPrio)
- //进行一次任务切换
- UINT32 LOS_TaskYield (VOID)
- //获取任务优先级
- UINT16 LOS_TaskPriGet (UINT32 uwTaskID)
- //获取当前任务的ID号
- UINT32 LOS_CurTaskIDGet (VOID)
华为LiteOS系统使用-任务调度函数-第一篇的更多相关文章
- lua学习之深入函数第一篇
深入函数第一篇 函数是第一类值,具有特定的词法域 第一类值 第一类值的意思是函数与 lua 中的其他类型如数字,字符串具有相同的权力 函数可以存储到全局变量或局部变量变量,还可以存储到 table 中 ...
- python之函数第一篇
一.为什么用函数: 解决代码重用问题 统一维护 程序的组织结构清晰,可读性强二.定义函数 先定义后使用!! def funcname(arg1,arg2,...): """ ...
- LiteOS-任务篇-源码分析-任务调度函数
目录 前言 笔录草稿 核心源码分析 osTaskSchedule函数源码分析 osPendSV函数源码分析 TaskSwitch函数源码分析 调度上层源码分析 osSchedule函数源码分析 LOS ...
- Windows系统CPU内存网络性能统计第一篇 内存
最近翻出以前做过的Windows系统性能统计程序,这个程序可以统计系统中的CPU使用情况,内存使用情况以及网络流量.现在将其整理一下(共有三篇),希望对大家有所帮助. 目录如下: 1.<Wind ...
- 深入理解javascript函数系列第一篇——函数概述
× 目录 [1]定义 [2]返回值 [3]调用 前面的话 函数对任何一门语言来说都是一个核心的概念.通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.在javascript里,函数即 ...
- 第一篇博文:PHP函数原型中的可选参数写法为什么这么写?
第一篇,算是开始吧.简单写点儿东西. 刚开始学PHP,在看PHP Manual时遇到一个问题:含可选参数的函数原型中,可选参数的写法看不懂. 例如explode函数 array explode ( s ...
- 第一篇:Win10系统搭建Python+Django+Nginx+MySQL 开发环境详解(完美版)
Win10+Python+Django+Nginx+MySQL 开发环境搭建详解 PaulTsao 说明:本文由作者原创,仅供内部参考学习与交流,转载引用请注明出处,用于商业目的请联系作者本人. Wi ...
- .NET持续集成与自动化部署之路第一篇——半天搭建你的Jenkins持续集成与自动化部署系统
.NET持续集成与自动化部署之路第一篇(半天搭建你的Jenkins持续集成与自动化部署系统) 前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛 ...
- 深入理解javascript函数系列第一篇
前面的话 函数对任何一门语言来说都是核心的概念.通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.在javascript里,函数即对象,程序可以随意操控它们.函数可以嵌套在其他函数中 ...
随机推荐
- Java时间格式化时YYYY(大写)和yyyy(小写)的区别
在Java中,我们大多数情况下格式日期都是用的SimpleDateFormat,比如说把一个日期格式成"yyyy-MM-dd"的形式. 我们要注意的是,对于年份来说,大写的Y和小写 ...
- 关于PHP数组你应该知道的事情
(1).PHP数组的遍历顺序 先举个栗子: <?php $arr['a'] = '123'; $arr['b'] = '456'; $arr['c'] = '789'; foreach($a a ...
- Linux网络配置&进程管理
原理图 查看ip和网关
- easyui分页的使用方法
使用: $("#tt").datagrid("getPager").pagination(option); 例子: $("#tb").dat ...
- STM32F103 ucLinux开发之二(内核启动汇编代码分析)
start_kernel之前的汇编代码分析 Boot中执行下面两句话之后,进入uclinux内核. theKernel = (void (*)(int, int, unsigned int))((ui ...
- ASP.NET教程
1.ASP.NET是一个使用Html Css JavaScript和服务器脚本创建网页和网站的开发框架 2.ASP.NET支持三种开发模式:WebPages(Web页面).MVC(Model View ...
- jQuery动态绑定事件(左右移动)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 用原生JS写一个网页版的2048小游戏(兼容移动端)
这个游戏JS部分全都是用原生JS代码写的,加有少量的CSS3动画,并简单的兼容了一下移动端. 先看一下在线的demo:https://yuan-yiming.github.io/2048-online ...
- vuejs 预渲染插件 prerender-spa-plugin 生成多页面 -- SEO
前端vue等框架打包的项目一般为SPA应用,而单页面是不利于SEO的,现在的解决方案有两种: 1.SSR服务器渲染 了解服务器渲染请进,这里不做记录. 2.预渲染模式 这比服务端渲染要简单很多 ...
- 第6章 AOP与全局异常处理6.1-6.4 慕课网微信小程序开发学习笔记
第6章 AOP与全局异常处理 https://coding.imooc.com/learn/list/97.html 目录: 第6章 AOP与全局异常处理6-1 正确理解异常处理流程 13:236-2 ...