这里可以搭建一个 stm32l476-st-nucleo 的最小RT-Thread 系统 开启Alarm组件,这里使用RT-Thread ENV 工具:menuconfig 开启RT-Thread 4.1.0 (当前最新)的Alarm组件,就一个配置项,Alarm附属于RTC,也就是Alarm工作必须开启RTC功能 调试 配置使能Alarm组件,编译成
函数rt_hw_board_init未定义,这里也可以抄一抄,在RT-Thread Studio中生成的board.c中的定义,创建board.c和board.h,添加到工程中。将该函数的实现也按照board.c中的样子重写一下。 将main.c中的初始化都放到这个函数中来,另外还需要实现SysTick_Handler函数,为rtt提供系统时间。board.c: #include"board.h"#i...
thread1_entry, RT_NULL, THREAD_STACK_SIZE, THREAD_PRIORITY-1, THREAD_TIMESLICE); /* 如果获得线程控制块,启动这个线程 */ if (tid1 != RT_NULL) { //启动线程 rt_thread_startup(tid1); } /* 初始化线程2,名称是thread2,入口是thread2_entry */ rt_thread_init(&thread2, "thread2", thre...
RT-Thread 中 HardFault_Handler 分析 进HardFault_Handler 前,CPU自动把 r0~r3, r12, lr, pc, psr 一个8个寄存器入栈,再把 lr 值改为 EXC_RETURN 代码解析: 220:把MSP值赋值给r0 221:TST指令 : 执行按位与操作,直接结果更新到状态寄存标志位Z,这个指令通常与EQ、EN这些条件码来组合使用,必须注意测试后...
rt thread在需要修改的位置已经使用#error提示用户, //#error "TODO 1: OS Tick Configuration." 此处需要增加3个函数。 extern void SystemClock_Config(void); HAL_Init(); SystemClock_Config(); SystemCoreClockUpdate(); void SysTick_Handler()
=HAL_OK){Error_Handler();}returnRT_EOK;}staticrt_size_ti2c_xfer(struct rt_i2c_bus_device*bus,struct rt_i2c_msg msgs[],rt_uint32_t num){struct rt_i2c_msg*msg;rt_int32_t i,ret;for(i=0;i<num;i++){msg=&msgs[i];if(msg->flags&RT_I2C_RD){HAL_I2C_Master_Receive(&hi2c1,...
线程通过调用函数 rt_thread_create/init() 进入到初始状态;初始状态的线程通过调用函数 rt_thread_startup() 进入到就绪状态;就绪状态的线程被调度器调度后进入运行状态,调用rt_thread_suspend()函数切换为挂起状态;当处于运行状态的线程调用 rt_sem_take(),rt_mutex_take(),rt_mb_recv() 等函数或者获取不到...
线程创建失败,返回RT_ERROR */rt_err_trt_thread_init(structrt_thread* thread,constchar* name,void(*entry)(void* parameter),void* parameter,void* stack_start,rt_uint32_tstack_size,rt_uint8_tpriority,rt_uint32_ttick); 这里需要说明一下,为什么用户定义一个 char 类型的数组可以作为线程栈空间呢...
千锋教育推出的RT-Thread精品课程包含系统移植、内核介绍、线程管理、时钟管理、线程同步、设备使用等RT-Thread核心内容,让想学习和使用实时操作系统的同学更加方便和快捷的学习到实时操作系统的操作和使用。 1、ulog简介 日志的定义:日志是将软件运行的状态、过程等信息,输出到不同的介质中(例如:文件、控制台、显示屏...
一、RT-Thread线程操作函数 1.1 动态创建线程 1.2 静态创建线程 1.3 启动线程 线程创建的一个细节—创建和初始化? 句柄是什么? 1.4 删除线程和脱离线程 1.5 挂起和恢复线程 1.6 其他线程辅助函数 1.6.1 获得当前线程 1.6.2 让出处理器资源 1.6.3 线程睡眠(延时函数) ...