RT-Thread学习文档
文章平均质量分 67
昵称什么都是浮云
这个作者很懒,什么都没留下…
展开
-
RT-Thread的CPU使用率计算
CPU 的使用率一般是我们比较关心的问题,在这里我们就用空闲线程的钩子函数去统计 CPU 的使用率,并通过串口打印出来。首先我们在初始化线程中设置好钩子函数,并在 LED 线程中给系统人为的加入很多“事情”,让其占用率变高,方便统计,然后每个 1 秒中打印一次 CPU 使用率。其中 CPU 的使用率我们是根据 CPU 的空闲率反推出来的。//CPU使用率#include转载 2017-05-19 15:13:45 · 1271 阅读 · 0 评论 -
RT-Thread 02定时器
定时器管理定时器,是指从指定的时刻开始,经过一个指定时间,然后触发一个事件,类似定个时间提醒第二天能够按时起床。定时器有硬件定时器和软件定时器之分:1. ***硬件定时器***是芯片本身提供的定时功能。一般是由外部晶振提供给芯片输入时钟,芯片向软件模块提供一组配置寄存器,接受控制输入,到达设定时间值后芯片中断控制器产生时钟中断。硬件定时器的精度一般很高,可以达到纳秒级别,并且是***中断触发***方转载 2017-09-14 21:31:30 · 2054 阅读 · 0 评论 -
RT-Thread 01线程调度与管理
2.1 实时系统的需求 实时系统是一种需求倾向性的系统,对于实时的事件需要在第一时间内做出回应,而对非实时任务则可以在实时事件到达时为之让路——被抢占。所以实时系统也可以看成是一个等级系统,不同重要性的任务具有不同的优先等级:重要的事件能够优先被响应执行,非重要的事件可以适当往后推迟。 在RT-Thread实时操作系统中,任务采用了线程来实现,线程是RT-Thread中最基本的调度单转载 2017-09-12 23:24:33 · 3348 阅读 · 1 评论 -
keil RT-Thread相关调试基本使用技巧
1 概述本文档主要用于介绍STM32裸机的调方法以及RT-thread系统下的调试方法。两个例子都将以LED为例,裸机将以跑马灯为例,RT-thread将以心跳等为例进行讲解。2 STM32裸机调试方法打开“标准例程-V3.5库函数版本”目录下的“实验1跑马灯-库函数操作”项目作为本次实验的目标项目。下面将介绍两种方式进行调试:1、软件仿真、2、下载调试。 相关调试按键介绍: 图1:调试栏原创 2017-09-14 22:38:47 · 5445 阅读 · 0 评论 -
STM32使用Jlink烧写与boot合并烧写的方法
1 概述本文主要描述STM32的bootloader及应用程序HEX文件的合并,以及相应的烧写方法。2 适用范围1. 相关的开发人员2. 需要烧写的其他人员3 创建烧写使用的HEX文件3.1 Hex文件的获取通过对ECU-R以及Bootloader程序的编译获得我们所需要的两个hex文件。ECU-R对应的HEX文件名为STM32_RTT_F107RC.hex,Bootloader对应的He原创 2017-09-14 22:47:12 · 10002 阅读 · 0 评论 -
RT-Thread 05内存管理
在计算系统中,变量、中间数据一般存放在系统存储空间中,只有在实际使用时才将它们从存储空间调入到中央处理器内部进行运算。通常存储空间可以分为两种:内部存储空间和外部存储空间。内部存储空间访问速度比较快,能够按照变量地址随机地访问,也就是我们通常所说的RAM(随机存储器),或电脑的内存;而外部存储空间内所保存的内容相对来说比较固定,即使掉电后数据也不会丢失,这就是通常所讲的ROM(只读存储器),也可以把转载 2017-10-05 22:10:44 · 3742 阅读 · 1 评论 -
RT-Thread 03任务间同步及通讯 -中断关闭、调度器锁、信号量
在多任务实时系统中,一项工作的完成往往可以通过多个任务协调的方式共同来完成,例如一个任务从传感器中接收数据并且将数据写到共享内存中,同时另一个任务周期性的从共享内存中读取数据并发送去显示(如图 两个线程间的数据传递 )如果对共享内存的访问不是排他性的,那么各个线程间可能同时访问它。这将引起数据一致性的问题,例如,在显示线程试图显示数据之前,传感器线程还未完成数据的写入,那么显示将包含不同时间采样转载 2017-09-18 23:11:29 · 4425 阅读 · 0 评论 -
RT-Thread 04任务间同步及通讯 -互斥量、事件、邮箱、消息队列
互斥量互斥量又叫相互排斥的信号量,是一种特殊的二值性信号量。它和信号量不同的是,它支持互斥量所有权、递归访问以及防止优先级翻转的特性。互斥量工作如 互斥量的工作示意图 所示。互斥量的状态只有两种,开锁或闭锁(两种状态值)。当有线程持有它时,互斥量处于闭锁状态,由这个线程获得它的所有权。相反,当这个线程释放它时,将对互斥量进行开锁,失去它的所有权。当一个线程持有互斥量时,其他线程将不能够对它进行开锁转载 2017-09-25 13:52:38 · 4217 阅读 · 1 评论