E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
RT-Thread
RT-Thread
内核实现 --线程调度的实现(一)
多任务的切换的关键在于:保存当前任务的数据+切换到其他任务。这两个条件的目的是为了能够使程序看起来像是连贯的进行,就像是同时进行一样。至于保存当前程序的状态,什么反映了当前程序的状态?大家恐怕是比较疑惑这里的,实际上,程序得以运行是依靠ARM架构下的寄存器的,寄存器包括哪些?这里有传送门。调度准备篇还有思考过在创建线程时,需要开启一个栈,栈大小为512,而且还同时申请了一个线程的TCB控制块,TC
xiangxistu
·
2020-07-29 00:02
RT-Thread
1.thread线程创建 //依据
RT-Thread
内核编程的学习记录(非内核实现)
1.thread线程的创建/*静态线程的创建启动删除的注意点*/在创建静态线程时,要注意分配线程控制块大小,以及线程结构体threadx_statck[XX],staticcharthreadx_statck[xx];staticstructrt_threadthreadx;静态线程的创建需要使用rt_thread_init()函数rt_thread_init()的函数返回的数据类型为rt_err
xiangxistu
·
2020-07-29 00:02
RT-Thread
RT-Thread
内核实现 --对象容器的实现
目录对象枚举定义容器的定义容器接口的实现rt_object_get_information()函数rt_object_init()函数对象枚举定义***Theobjecttypecanbeoneofthefollowswithspecific*macrosenabled:*-Thread*-Semaphore*-Mutex*-Event*-MailBox*-MessageQueue*-MemHea
xiangxistu
·
2020-07-29 00:02
RT-Thread
11.内存池//依据
RT-Thread
内核编程的学习记录(非内核实现)
内存池,申请出得内存情况是内存块,相对于动态内存申请rt_malloc()申请的内存,rt_mp_alloc()申请的内存块的开头和结尾会包含指向上一块的指针和指向下一块内存块的指针。每块内存块的大小相等。动态申请内存不会出现任务调度,内存池申请内存会出现任务调度。1.初始化内存池对象/*静态初始化内存池对象*/staticrt_uint8_t*ptr[50];staticrt_uint8_tst
xiangxistu
·
2020-07-29 00:02
RT-Thread
RT-Thread
内核实现 --优先级的实现
目录多优先级是怎么实现的__rt_ffs是怎么快速找到最先转入就绪态的线程的支持最多的优先级达到256个,怎么实现的[^1]对同一优先级下线程切换-时间片思考多优先级是怎么实现的 多优先级是怎么实现的,简单来说,一个数组就可以组成一个优先级列表。比如a[10],可以支持10个优先级。数组中的每一个元素代表一个优先级,优先级就是将一些线程分为不同的响应级别,优先级越高越容易得到执行的可能。这样理解
xiangxistu
·
2020-07-29 00:02
RT-Thread
stm32f103 ADC 代码
rt-thread
#ifndef__ADC_H__#define__ADC_H__#includevoidrt_hw_adc_init(void);#endif#include#includevoidrt_hw_adc_init(void){ADC_InitTypeDefADC_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockC
DawnRayYang
·
2020-07-29 00:49
RT-Thread
基于
RT-Thread
在STM32H7上移植LWIP(一)
二,
RT-Thread
,STM32H7,LWIP简介
RT-Thread
是一个来自中国的开源物联网操作系统,它提供了非常强的可伸
whj123999
·
2020-07-28 23:00
原创
STM32H7
RT_Thread
LWIP
RT-Thread
编程指南 要点摘录(九)——FinSH
——早期文档称其为finsh,别和finish搞混了——目录FinSH控制台FinSH内置命令自定义FinSH命令FinSH功能配置FinSH移植FinSH文件架构浅析FinSH控制台FinSH是
RT-Thread
曦光。
·
2020-07-28 23:32
RT-Thread
RT-Thread
编程指南 要点摘录(一)——内核基础
——仅为新手学习笔记,会定期完善但不保证其正确性——1RT-Thread简介
RT-Thread
是一款开源嵌入式实时操作系统,主要采用C语言编写。
曦光。
·
2020-07-28 23:01
RT-Thread
RISC-V单片机快速入门02-移植RT_Thread Nano
一、基础知识1.RT_Thread简介
RT-Thread
是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,
RT-Thread
也是一个组件完整丰富
一叶孤沙
·
2020-07-28 22:42
RISC-V
#
RT-Thread
学习笔记(一)
RT-Thread
学习笔记(一)本笔记内容基于
RT-Thread
官方文档中心什么是
RT-Thread
概述一款完全由国内团队开发维护的嵌入式实时操作系统(RTOS)。
Anjou Huang
·
2020-07-28 22:00
RT-Thread初学笔记
关于
RT-Thread
文件系统学习笔记----stm32移植RTT文件系统
名称解释DFS框架DFS框架是
RT-Thread
提供的虚拟文件系统组件,全称为DeviceFileSystem,即设备虚拟文件
Qleng;
·
2020-07-28 21:37
嵌入式
【2019电赛】F题 纸张计数显示装置
Hyf338/2019-Electronic-Design-Competition2019年全国大学生电子设计竞赛纸张计数显示装置(F题)【本科组】JD0462019年8月10日摘要纸张计数显示装置基于
RT-Thread
黄逸芬
·
2020-07-28 21:47
学习笔记
过程记录
创作技巧
2019全国大学生电子设计大赛
纸张计数显示装置
电赛
控制类
Qt 实现串口终端控制台,适配
RT-Thread
的FinSH控制台功能(提供qt源码)
效果如下图:1.基于IAR,进行
RT-Thread
源码移植1.我使用的
脆弱的代码
·
2020-07-28 21:45
QT开发实例
RT-Thread
STM32应用实例
RT-Thread
和STM32学习——串口1通信
RT-Thread
的比Keil好用多了,这两者的概念我不清楚,比如我只是认为Keil只是用来编辑、编译、烧录、调试的工具(调试用的比较少)。
勤恳的勤
·
2020-07-28 21:34
RT-Thread和STM32
RTT学习--制作BSP1
闸机控制板STM32F412RE的BSP参考:https://github.com/
RT-Thread
/
rt-thread
/blob/master/bsp/stm32/docs/STM32系列BSP制作教程
GKoSon
·
2020-07-28 21:59
RT-Thread
杂项笔记
在
RT-Thread
中,可以先指定一个稍微大的栈空间,例如指定大小为1024或2048,然后在FinSHshell中通过list_thread()命令查看线程运行的过程中线程所使用的栈的大小,通过此命令
沐棋
·
2020-07-28 21:39
RT-Thread
内核学习 >> (十五)软件定时器的使用
RT-Thread
操作系统提供的软件定时器,以系统节拍(OSTick)的时间长度为定时单位,提供了基于系统节拍整数倍的定时能力,即定时数值是OSTick的整数倍。
Waao666
·
2020-07-28 20:42
C
RT-Thread
嵌入式系统
RT-Thread
内核学习 >> (一)源码文件及启动过程介绍
RT-Thread
源代码srcRT-Thread所有内核源代码libcpu所支持的各类芯片/内核的移植文件includeRT-Thread内核头文件componentsRT-Thread的外部组件drivers
Waao666
·
2020-07-28 20:42
RT-Thread
嵌入式系统
操作系统
RT-Thread
内核学习 >> (十三)邮箱的使用
邮箱工作机制
RT-Thread
操作系统的邮箱用于线程间通信,特点是开销比较低,效率较高。
Waao666
·
2020-07-28 20:42
C
RT-Thread
嵌入式系统
RT-Thread
内核学习 >> (五)线程的时间片轮询调度
线程优先级
RT-Thread
最大支持256个优先级(数值越小,优先级越高。
Waao666
·
2020-07-28 20:42
C
RT-Thread
嵌入式系统
RT-Thread
操作系统线程创建过程详解
在
RT-Thread
操作系统的线程当中,一共有两种,一是静态线程,二是动态线程接下来通过
RT-Thread
源码来讲解线程是如何创建的,以及这两种线程的区别:静态线程的创建首先贴出
RT-Thread
有关静态线程创建的源码
Waao666
·
2020-07-28 20:10
C
RT-Thread
嵌入式系统
rt-thread
:_003STM32F429IGT BSP的ADC设备应用
5.25VSCodeenvSTM32CubeMXVersion:5.2.1rt-thread源码Version:4.0.1工具获取MDK获取链接VSCode获取链接env工具获取链接STM32CubeMX获取链接
RT-Thread
叫我乃子哥
·
2020-07-28 20:29
操作系统:RT-Thread
STM32
RT-Thread
操作系统
物联网
嵌入式
RT-THREAD
:PIN设备使用例程
RT-THREADPIN设备应用RT-ThreadVersion:4.0.1硬件平台:野火STM32挑战者MCU:STM32F429IGT6开发工具:1.MDK5.25以上2.VSCode3.env工具PIN设备的操作方法应用程序通过RT-Thred提供的pin设备管理接口来操作GPIO,函数接口如下表:表1.pin设备管理接口API方法名称方法描述rt_pin_mode()设置引脚模式rt_pi
叫我乃子哥
·
2020-07-28 20:28
操作系统:RT-Thread
RT-Thread
下移植添加nand-flash驱动
1:版本使用的版本上v3.1.4中移除了mtd的相关代码,如果需要添加就从v3.1.3中获取。由于我要移植yaffs所以需要这个框架2:注册函数//mtd.c/**RegisterMTDdriver**@partspartiondescription*@npnumberofpartitions*@returnnumberofunregisteredpartitions**/intrt_mtd_re
kayshi2018
·
2020-07-28 19:13
RT-thread
Flash
RT-thread
内核对象标志flag总结
rt-thread
的内核对象有定时器、线程、信号量、互斥锁、事件、邮箱、消息队列、内存堆、设备、模块,这些内核对象都继承了内核对象的成员,其中也就包含了内核对象的flag成员,因此,内核对象成员flag
weixin_34309435
·
2020-07-28 19:21
RT-Thread--时间管理
RT-Thread
中,时钟节拍的长度可以根据RT_TICK_PER_SECOND的定义来调整,等于1/RT_TICK_PER_SECOND秒。
weixin_34270865
·
2020-07-28 19:22
RT-Thread
OS的启动流程
1、RT进入main之前,SystemInit函数初始化时钟。2、main函数位于startup.c文件中。进行两个工作系统开始前,rt_hw_interrupt_disable关闭所有中断。之后使用rtthread_startup启动RTThread3、函数rtthread_startup()完成的工作:1、调用函数rt_hw_board_init完成板子初始化工作2、显示版本信息:rt_sho
weixin_34257076
·
2020-07-28 19:10
RT-thread
内核之邮箱
一、邮箱控制块:在include/rtdef.h中#ifdefRT_USING_MAILBOX/***mailboxstructure*/structrt_mailbox{structrt_ipc_objectparent;/**error=-RT_ERROR;2定时器时间到达,但是邮件还未到达,此时thread->error=-RT_ETIMEOUT;3:邮件到达,本线程在发送邮件函数中被唤醒(
WWWWWWWWolf
·
2020-07-28 19:38
RT-thread
设备驱动组件之IIC总线设备
本文主要介绍
RT-thread
中IIC总线设备驱动,涉及到的主要文件有:驱动框架文件(i2c_core.c,i2c_dev.c,i2c-bit-ops.c,i2c_dev.h,i2c.h);底层硬件驱动文件
weixin_34216107
·
2020-07-28 19:22
RT-Thread
下finsh原理浅析
RT-Thread
的FinshShell接口实际上是一个线程,入口在shell.c,入口函数为代码:全选voidfinsh_thread_entry(void*parameter)该线程是典
weixin_34185364
·
2020-07-28 19:48
RT-thread
内核之系统时钟
一、系统时钟
rt-thread
的系统时钟模块采用全局变量rt_tick作为系统时钟节拍,该变量在系统时钟中断函数中不断加1。
weixin_34174322
·
2020-07-28 18:11
RT-thread
内核之对象管理系统
一、数据结构1、对象控制块:在include/rtdef.h中定义1/**2*BasestructureofKernelobject3*/4structrt_object5{6charname[RT_NAME_MAX];/*对象名称,RT_NAME_MAX在rtconfig.h中定义*/7rt_uint8_ttype;/*内核对象类型*/8rt_uint8_tflag;/*内核对象标志*/910#
weixin_34133829
·
2020-07-28 18:51
RT-Thread--内核基础
线程调度线程是
RT-Thread
操作系统中最小的调度单位,线程调度算法是基于优先级的全抢占式多线程调度算法,即在系统中除了中断处理函数、调度器上锁部分的代码和禁止中断的代码是不可抢占的之外,系统
weixin_34032827
·
2020-07-28 18:09
RT-thread
内核之异常与中断
一、什么是中断?中断有两种,一种是CPU本身在执行程序的过程中产生的,一种是由CPU外部产生的。cpu外部中断,就是通常所讲的“中断”(interrupt)。对于执行程序来说,这种“中断”的发生完全是异步的,因为不知道什么时候会发生。CPU对其的响应也完全是被动的,可以通过“关中断”指令关闭对其的响应。然而由软件产生的中断一般是由专设的指令,如X86中的“INTn”在程序中有意产生的,是主动的,同
weixin_33939843
·
2020-07-28 18:37
RT-Thread
finsh源码分析: finsh_heap.h
. * * COPYRIGHT (C) 2006 - 2013,
RT-Thread
Development Team * * This file is part of
RT-Thread
(http
weixin_33912246
·
2020-07-28 18:46
RT-thread
组件初始化代码分析
RT-thread
提供了组件化功能,具体实现是在components/init文件夹下components.c文件中实现的。
weixin_33901641
·
2020-07-28 18:38
RT-Thread
源码学习第四篇,$Sub$$main函数(1)
2019独角兽企业重金招聘Python工程师标准>>>现在的rtthread是3.1.2版,先看一下rtthread是怎么用$Sub$$main来扩展main函数。$Sub$$main函数的源码定义在\src\components.c里。#ifdefined(__CC_ARM)||defined(__CLANG_ARM)externint$Super$$main(void);/*re-define
weixin_33894992
·
2020-07-28 18:31
RT-Thread
信号量使用(动态/静态信号量) 及 信号量的四种使用场合
RT-Thread
的信号量有静态和动态,这里同线程的静态和动态是一个意思。对信号量有两种操作,take和release。程序中,首先初始化信号量为0,这时首先使用take,
weixin_33827965
·
2020-07-28 17:42
RT-thread
设备驱动组件之SPI设备
本文主要介绍
RT-thread
中的SPI设备驱动,涉及到的文件主要有:驱动框架文件(spi_dev.c,spi_core.c,spi.h),底层硬件驱动文件(spi_hard.c,spi_hard.h)
weixin_33749131
·
2020-07-28 17:51
RT-thread
内核之定时器管理
一、前言
rt-thread
采用软件定时器线程模式或硬件定时器中断模式来实现系统定时器管理。
weixin_33736048
·
2020-07-28 17:08
RT-Thread
源码学习第三篇,$Sub$$main与$Super$$main扩展main函数
2019独角兽企业重金招聘Python工程师标准>>>MDK5的__main函数是自动生成的,且无法修改源码。同时,MDK5提供了一对符号$Sub$$和$Super$$来扩展函数。这一对符号作用在连接器,当连接器连接到func时,如果发现存在$Sub$$func函数,会先连接$Sub$$func函数,一直到出现$Super$$func为止,$Super$$func是func函数的新的入口。Keil
weixin_33688840
·
2020-07-28 17:58
RT-Thread
创建静态、动态线程
RT-Thread
实时操作系统核心是一个高效的硬实时核心,它具备非常优异的实时性、稳定性、可剪裁性,当进行最小配置时,内核体积可以到3kROM占用、1kRAM占用。
weixin_30892889
·
2020-07-28 17:14
rt-thread
中软件定时器组件超时界限的一点理解
@2019-01-15【小记】对
rt-thread
中的软件定时器组件中超时界限的一点理解rt_thread_timer_entry(void*parameter)函数中if((next_timeout-current_tick
weixin_30587025
·
2020-07-28 16:52
RT-Thread
学习笔记(1)
前几天我在看uCOS-II的东西,看来看去一直没什么头绪。还有一点是,我很介意它现在是个商业软件,在官网下载东西,半天下完结果只有个lib,没有源代码。只能去其他地方下载老版本。我还很介意不是在官方网站下载的东西,感觉是被人修改过的。基于这些原因,我想找一个开源的免费的嵌入式RTOS。然后在昨天下午就发现了RT_Thread。这是一个国产的系统,开源、免费,虽然没有uCOS著名,也没有uCOS年长
weixin_30521649
·
2020-07-28 16:49
RT-Thread
的CPU使用率计算
CPU的使用率一般是我们比较关心的问题,在这里我们就用空闲线程的钩子函数去统计CPU的使用率,并通过串口打印出来。首先我们在初始化线程中设置好钩子函数,并在LED线程中给系统人为的加入很多“事情”,让其占用率变高,方便统计,然后每个1秒中打印一次CPU使用率。其中CPU的使用率我们是根据CPU的空闲率反推出来的。#include#include#defineCPU_USAGE_CALC_TICK1
1361976860
·
2020-07-28 16:30
搭建基于 STM32 和
rt-thread
的开发平台
我们需要平台如果说,SharePoint的价值之一在于提供了几乎开箱即用的innovation环境,那么,智能设备的开发平台也一样。不必每次都从头开始,所以需要固定的工作室和开发平台作为创新的起点,这样就会每次比从零开始“高一点点”。当然,这里不是没有纠结的。平台毕竟不是最终的产品,平台太弱固然难以支撑创新,但平台太强则臃肿和僵化同样也会限制创新:面对成百上千的类型、接口的时候,即使做一个小玩意儿
weixin_30414635
·
2020-07-28 16:25
RT-Thread
从开源代码生成自己的工程
前提:Windows系统安装好Python2.7和scons以STM32F103IAR工程为例,MDK5工程与此类似,参照修改rtconfig.py文件及scons指令参数即可第一步:进入rt-thread-v2.1.0\rt-thread-2.1.0\bsp\stm32f10x目录第二步:在文件浏览器内,按着shift键点击鼠标右键,在此处打开命令窗口第三步:输入scons--copy第四步:执
weixin_30411819
·
2020-07-28 16:52
嵌入式
python
RT-Thread
学习笔记(五)—— RTGUI代码解读
---恢复内容开始---
RT-Thread
版本:2.1.0RTGUI相关代码解读,仅为自己学习记录,若有错误之处,请告知
[email protected]
,不胜感激!
weixin_30354675
·
2020-07-28 16:15
rt-thread
之串口设备的配置流程
@2019-01-30【小记】>
rt-thread
工程启动之后先是进入函数rtthread_startup做一些系统运行前的基础工作,主要有:*板级硬件初始化*系统定时器初始化*系统调度器初始化*创建初始化线程
weixin_30247159
·
2020-07-28 15:25
上一页
21
22
23
24
25
26
27
28
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他