
RT-Thread
文章平均质量分 53
RT-Thread 的使用及原理
Nameless-Y
这个作者很懒,什么都没留下…
展开
-
使用AC6编译RT-Thread(如何升级arm编译器)
该文章主要主要内容是讲解如升级arm编译器的两种方法【(1) 直接升级keil为新版本、(2) 或者下载高版本编译器进行安装】,基于主题 rt-thread 在 Arm Compiler 6 (armclang)进行编译。目录在 MDK5 上使用 Arm Compiler 6 进行编译方法一:升级 MDK 版本至 5.26 以上方法二:下载安装 32 位 Arm Compiler ......原创 2020-03-10 18:30:16 · 2734 阅读 · 3 评论 -
RT-Thread 自动初始化详解
目录一、前言1.1、一般情况的初始化调用1.2、使用自动初始化后二、引入三、自动初始化原理3.1、6个自动初始化宏的定义3.2、自动初始化过程3.2.1、两个函数的实现3.2.2、划分3.2.3、示例一、前言在学RT-Thread时,经常能听到这个词:自动初始化。用起来也非常容易,一个宏就解决了,但是原理是什么呢?官网文档提及到了,(他们的文档在...原创 2019-06-28 15:34:09 · 23343 阅读 · 34 评论 -
RT-Thread代码启动过程——以及 $Sub$ $main 与 $Super$ $main
我们找到系统复位的地方,可以往下单步跟踪。①从系统初始化开始执行,将函数地址赋给R0寄存器,跳转到R0地址执行并返回此处(BLX是带链接的跳转,即带返回的跳转)。②将main函数地址给R0,将函数地址赋给R0,跳转到R0地址执行,不返回(BX是跳转,不返回)。③跳转到了$Sub$$main。【注:在 __CC_ARM 编译器环境下,使用了$Sub$$ 与$Super$ $ 的...原创 2018-07-05 10:26:40 · 13470 阅读 · 9 评论 -
SFUD 使用示例
准备潘多拉,打开板载 spi flash示例代码简单的进行测试:#include <rtthread.h>#include <rtdevice.h>#include <board.h>#include <spi_flash_sfud.h>int main(void){ sfud_err result; u...原创 2020-04-27 18:34:06 · 1776 阅读 · 0 评论 -
在Ubuntu下使用QEMU连网
在ubuntu下运行QEMU,并就能行连网。添加tap虚拟网卡添加虚拟网卡TAP,首先请先加载 tun 模块:modprobe tun安装 uml-utilities:原创 2020-03-04 11:36:53 · 2221 阅读 · 0 评论 -
RT-Thread 断言:assertion failed at function:rt_mutex_take 等
断言断言是什么?https://www.cnblogs.com/thisway/p/5558914.html“ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE(0),程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于...原创 2019-12-20 16:31:05 · 14229 阅读 · 0 评论 -
【超详细教程】移植RT-Thread nano,并基于 nano 添加 FinSH/shell
目录背景:移植RT-Thread nano,并基于 nano 添加 FinSH/shell前提及准备工作step1:添加rt-thread nano到裸机工程1.1、Nano Pack 安装方法一:Pack Installer 安装方法二:手动安装1.2、基础工程准备1.3、开始移植rtt nano到裸机工程1.4、适配 RT-Thread nano1.5...原创 2019-10-14 18:40:43 · 15638 阅读 · 17 评论 -
【RT-Thread潘多拉(iot board)】使用PWM设备点亮LED
准备:潘多拉开发板、源码、env工具,(cube mx 5.0在添加外设时也需要的)使用潘多拉开发板,使用LED_B (PE9),是TIMER1的ch1,使能pwm驱动该led。该bsp暂时不支持TIMER1,所以需要使用cube进行配置、修改Kconfig文件。1、cube配置,生成代码2、修改kconfig文件打开 bsp\stm32\stm32l47...原创 2019-03-12 18:41:52 · 4290 阅读 · 0 评论 -
RT-Thread 系统时钟与定时器简介
OS Tick的产生:核心是由周期信号实现,说到底是中断实现,单位一般在ms级别。①由系统滴答(Systick)产生,直接将Systick作为OS Tick,这主要针对Cortex-M系列;②由控制器的硬件定时器(配置为中断触发)产生。 RT-Thread基于OS Tick实现了系统定时器rt_timer, 定时器在初始化时可以配置为HARD_TIMER或SOFT_TIMER,...原创 2018-09-07 17:46:47 · 2199 阅读 · 0 评论 -
RT-Thread 调度器钩子函数的使用
调度器钩子函数如何使用?可以使用函数 rt_scheduler_sethook(scheduler_hook);来设置一个调度器钩子,括号里面的函数就是你自己的钩子函数。现在写了一个例子:在钩子函数中打印线程切换的相关信息: /* * 在调度器钩子中打印线程切换信息 */#include <rtthread.h>#define THREAD_STACK_S...原创 2018-09-07 17:48:57 · 3516 阅读 · 1 评论 -
RT-Thread 验证 线程相同优先级时间片轮转调度例程
首先创建2个优先级相同的线程,使他们的时间片不一样,验证是否按照时间片轮转调度线程。(注:shell线程的优先级也是20)2个线程的入口代码完全相同,都是thread_entry,如果是新的时间片到来,那就打印相应线程信息。这2个线程 分别在执行30个时间片后结束。#include <rtthread.h>#define THREAD_STACK_SIZE 1024...原创 2018-08-27 16:28:11 · 3413 阅读 · 0 评论 -
RT-Thread使用I2C读写eeprom例程(24c02)
实验准备:开发板:正点原子探索者RT-Thread源码env工具env配置:使能相关的uart,用于打开控制台打开I2C设备: 实验源代码:#include <rtthread.h>#include <rtdevice.h>#ifndef EEP_I2CBUS_NAME#define EEP_I2CBUS_NAME ...原创 2018-10-22 18:32:01 · 8555 阅读 · 11 评论 -
【RT-Thread潘多拉(iot board)】ESP8266使用bsp连接onenet云平台
准备工作:iot board 潘多拉开发板 esp8266模块 源码 env实验:在bsp上跑onenet软件包,并获取AXIS SENSOR的数据注册onenet:注册账户 创建产品 创建设备可以根据官方文章来进行:https://www.rt-thread.org/document/site/submodules/onenet/docs/samples/en...原创 2019-01-22 18:55:39 · 3285 阅读 · 4 评论