![](https://img-blog.csdnimg.cn/20190831171507903.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
RTX51 Tiny
单眼皮的根号3
开源+编程+乐趣,尝试分享开源编程的乐趣
微信:abc690550753
邮箱:hxj_e_mail@163.com
企鹅:690550753(不常用)
展开
-
【RTX51 Tiny高级】14-修改默认产生时间片的定时器T0为其它定时器
01 - 修改默认定时器T0的场合 为什么要修改RTX Tiny的默认定时器T0,具有以下2个场合: 1、T0已经有用途。在本来已经完成的系统下移植RTX Tiny,本来的系统定时器T0已经有比较复杂的用途,因此不适合使用T0作为Tiny的定时器。 2、对时基要求高。51系列的T0都不具备自动重载功能,意味着定时器的时基需要消耗掉装值的时间,如果时基是us级别,那么这个操作不能被接受,因此需要改为其它具有自动重载功能的定时器(比如T2)。02 - 修改的办法 以修改为T2自动重载为例子,需原创 2020-06-07 16:25:57 · 2182 阅读 · 3 评论 -
【RTX51 Tiny初级】12_解决多重调用问题(MULTPLE CALL TOSEGMENT)
01 - 多种调用MULTIPLE CALL TO SEGMENT 使用RTX51 Tiny系统,Keil编译出现Warning:MULTIPLE CALL TO SEGMENT的时候,说明一个不可重入的函数Fun同时被2个或以上的任务调用,可能出现重入的情况,比如:02 - 解决办法 在Keil的51编译器中,因为资源限制,函数都是不可重入的,并不是所有的函数被2个或以上的任务调用...原创 2019-12-23 19:54:32 · 1939 阅读 · 1 评论 -
【RTX51 Tiny初级】11_os_wait和os_switch_task区别和使用场合
文章目录01 - os_send_signal()和os_set_ready()的区02 - 使用场合03 - 总结01 - os_send_signal()和os_set_ready()的区 os_wait()用于等待某个信号,os_switch_task()用于协助调度,相同点和不同点如下: 相同点:正常情况下都能发生上下文切换,也就是成功执行API后task都会停止当前执行,由r...原创 2019-12-23 19:43:35 · 2944 阅读 · 0 评论 -
【RTX51 Tiny初级】10_os_send_signal()和os_set_ready()的区别和使用场合
文章目录01 - os_send_signal()和os_set_ready()的区02 - 总结01 - os_send_signal()和os_set_ready()的区 假设Task_A调用set_ready() / send_signal(),对象是Task_B,Task_A --> Task_B,从双方的角度看: 1、对于Task_B进入ready:set_ready(...原创 2019-10-04 12:42:48 · 1950 阅读 · 0 评论 -
【RTX51 Tiny初级】09_K_TMO与K_IVL的区别和使用场合
文章目录01 - K_TMO与K_IVL的区别02 - 总结01 - K_TMO与K_IVL的区别 调用os_wait() / os_wait2()指定K_TMO / K_IVL参数都能让任务进入waiting状态,然后等待一段时间后恢复到ready状态,K_TMO和K_IVl的区别有: 1、计算的起点:K_TMO是以当前调用wait / wait2的时间为起点,K_IVL是以上一次任...原创 2019-10-04 12:31:45 · 2478 阅读 · 5 评论 -
【RTX51 Tiny入门】08_Conf_tny.A51配置文件
文章目录01 - Conf_tny.A5102 - 关注的配置03 - 总结01 - Conf_tny.A51 Conf_tny.A51是RTX51 Tiny的OS配置文件,每一个RTOS都会有配置文件,让开发者自定义调度算法、时基等,方便内核的剪裁,打开C:\Keil_v5\C51\RtxTiny2\Examples\Ex1下的Conf_tny.A51文件,一般只关心2个内容,一个是IN...原创 2019-09-29 20:16:58 · 2343 阅读 · 0 评论 -
【RTX51 Tiny入门】07_使用RTX51 Tiny
文章目录01 - Keil中使用RTX51 Tiny02 - 设计一个流水灯系统03 - 分割任务04 - 实现系统05 - 总结01 - Keil中使用RTX51 Tiny 下载正版Keil并购买PK51 license后就可以使用RTX51 Tiny,在上一篇中其实已经提及如何开启一个RTX51 Tiny项目,但是上篇只是粗略介绍,需要一篇详细的过程。在使用RTX51 Tiny之前需要...原创 2019-09-21 19:53:08 · 1695 阅读 · 1 评论 -
【RTX51 Tiny入门】06_查看RTX51 Tiny官方例程
文章目录01 - RTX51 Tiny官方例程02 - 分析RTX_EX1例程2.1 - 怎样在一个项目中使用RTX51 Tiny2.2 - 怎样定义一个RTX51 Tiny任务的2.3 - 怎样配置调度器算法为时间片调度03 - 总结01 - RTX51 Tiny官方例程 初步搭建RTX51 Tiny,不必从0开始构建,官网已经提供了4个例程,如果Keil的安装路径是默认的,那么例程的地...原创 2019-08-31 16:46:46 · 1797 阅读 · 2 评论 -
【RTX51 Tiny入门】05_API函数
文章目录01 - API分类02 - API 列表03 - 总结01 - API分类 RTX51 Tiny的OS API只有13个,官网或者Keil的【Help】中可以查看到: 按照用途,可以把这些API分为若干类:创建删除:os_create_task、os_delete_task通讯:isr/os_send_signal、os_clear_signal、os_wait/w...原创 2019-08-04 10:58:03 · 1579 阅读 · 1 评论 -
【RTX51 Tiny入门】04_任务和调度器
文章目录01 - 任务02 - 调度器03 - 任务状态04 - 总结01 - 任务 RTX51 Tiny中被调度的单位称为任务,它拥有属于自己的资源,能够相对独立地运行,在代码上表现为带关键字_task_和对应数字ID的一个无参数、无返回值的死循环函数,如下:void Task_Name(void) _task_ 0{ while(1) { // do something }...原创 2019-08-01 21:30:05 · 1945 阅读 · 0 评论 -
【RTX51 Tiny入门】03_内核组成
文章目录01 - 内核02 - 内核的组成03 - 总结01 - 内核 RTX51 Tiny可以分为3部分:RTX kernel、System ISR/Task和User ISR/TaskRTX Kernel,称为微内核,微内核由汇编代码编写,有最基本的任务调度器,提供了基础的任务创建、删除、切换、通信等OS API,可选的任务调度方式有协助调度(os_wait / os_switch...原创 2019-07-31 20:13:12 · 1307 阅读 · 2 评论 -
【RTX51 Tiny入门】02_资源占用情况
文章目录01 - 资源占用02 - 简略差异表03 - 总结01 - 资源占用 由于8051及相关系列的资源相当紧张(如只有256bytes的内部RAM),所以有必要知道RTX51 Tiny能够在消耗多少资源的情况下启动,官网有明确的数据,如下图,可以看到使用RTX51 Tiny后各项资源的消耗情况:最多消耗CODE 900字节、DATA 7字节、不需要占用XDATA一个任务需要占堆...原创 2019-07-28 12:57:03 · 1656 阅读 · 0 评论 -
【RTX51 Tiny入门】01_RTX51 Full & Tiny简介
文章目录01 - RTX51简介02 - RTX51 Full & Tiny简介03 - 消失的RTX Full04 - 总结01 - RTX51简介 RTX51是Keil官方专门针对8051单片机及相关系列而研发的嵌入式多任务实时系统(RTOS),其实很少人知道8051也有操作系统,因为8051的各种资源限制问题,裸机编程是其长处,但需求是万变的,8051也有使用RTOS的场合。...原创 2019-07-27 08:59:44 · 4107 阅读 · 0 评论