1. 从RT-Thread的github上clone下源码(git@github.com:RT-Thread/rt-thread.git) 2. 从源码路径:rt-thread\bsp\stm32\libraries\templates中,复制一份stm32f10x的模板到源码路径:rt-thread\bsp\stm32,并修改其名字(我的修改为Rice_RT_Thread_stmf103c8
打开处于Core目录下的stm32f1xx_it.c或者f4xxit,c文件,找到systick的中断服务函数(ctrl+F搜索这一行voidSysTick_Handler(void)),如果使用hal库的代码,就能发现我们生成的代码中有调用HAL库的接口,此时只需将其屏蔽,替换成RT-Thread提供的板级移植函数rt_os_tick_callback即可。 /* USER CODE BEGIN Includes *...
RT-Thread Nano 支持多种CPU 架构与内核源码,还具有可拆卸的 FinSH 组件,可拆卸以精简内核。 支持架构:ARM:Cortex M0/ M3/ M4/ M7 等、RISC-V 及其他。 功能:线程管理、线程间同步与通信、时钟管理、中断管理、内存管理。 1.2 STM32CubeMX添加RT-Thread系统组件 首先要获取 RT-Thread NANO软件包,https://w...
一、移植准备 开发版STM32F10xC8T6 准备好移植RT-Thread的移植工程 没动手移植过RT-Thread的小伙伴,可以看RT-Thread移植到stm32 我这里是将控制台信息打印到串口的,所以需要确认RT-Thread可以将控制台信息通过串口输出。有疑问的话可以看我之前的文章,RTThread 重定义rt_hw_console_output函数。 控制台能正常打印...
目前我使用的是STM32L475系列单片机,是ali当时在PDD 50块钱卖的一个开发板,其他STM32单片机参考即可,这里会手把手教大家基于RTT Studio 来使用PWM。 二、创建工程 1.创建工程 首先大家打开RT-Thread Studio 来基于单片机创建工程。点击左上角文件,新建 RT-Thread项目 ...
首先打开 RT-Thread Studio,新建RT-Thread 项目: 目前支持 QEMU 模拟仿真的开发板有这些: 大家可以看到,其中包含了 GD32VF103、VEXPRESS-A9、STM32F4 系列的一些开发板 我们以 STM32F401 为例,新建项目后这样配置,注意系列一定要选对,要是上面支持 QEMU 模拟仿真的开发板系列,否则没有对应的 QEMU 调试器: ...
RT-Thread的定时器提供两类定时器机制:第一类是单次触发定时器,这类定时器在启动后只会触发一次定时器事件, 然后定时器自动停止。第二类是周期触发定时器,这类定时器会周期性的触发定时器事件, 直到用户手动的停止,否则将永远持续执行下去。 1、定时器的创建 ...
这是rtthread是驱动的继承关系 其中,设备基类层的rt_device的结构是如下如下的 struct rt_device { struct rt_object parent; /* 内核对象基类 */ enum rt_device_class_type type; /* 设备类型 */ rt_uint16_t f…
rt_thread_trt_thread_create(constchar*name,//线程名字void(*entry)(void*parameter),//线程处理函数void*parameter,//线程入参数rt_uint32_t stack_size,//线程栈大小rt_uint8_t priority,//线程优先级rt_uint32_t tick)//节拍数{ 静态创建
《RT-Thread内核实现与应用开发实战》主要基于野火STM32开发板» 10. 事件 10. 事件 10.1. 事件的基本概念 事件是一种实现线程间通信的机制,主要用于实现线程间的同步,但事件通信只能是事件类型的通信,无数据传输。与信号量不同的是,它可以实现一对多,多对多的同步。即一个线程可以等待多个事件的发生:可以是...