1、硬件初始化:
初始化函数:rt_hw_board_init()
2、创建单线程-SRAM静态内存:
- 定义线程函数 static void led1_thread_entry(void* parameter)
- 定义线程栈 static rt_uint8_t rt_led1_thread_stack[1024]
- 定义线程控制块 static struct rt_thread led1_thread
- 初始化线程 rt_thread_init()
- 启动线程 rt_thread_startup()
创建线程完整代码:
1 /*
2 *************************************************************************
3 * 包含的头文件
4 *************************************************************************
5 */
6 #include "board.h"
7 #include "rtthread.h"
8
9
10 /*
11 *************************************************************************
12 * 变量
13 *************************************************************************
14 */
15 /* 定义线程控制块 */
16 static struct rt_thread led1_thread;
17
18 /* 定义线程控栈时要求 RT_ALIGN_SIZE 个字节对齐 */
19 ALIGN(RT_ALIGN_SIZE)
20 /* 定义线程栈 */
21 static rt_uint8_t rt_led1_thread_stack[1024];
22 /*
23 *************************************************************************
24 * 函数声明
25 *************************************************************************
26 */
27 static void led1_thread_entry(void* parameter);
28
29
30 /*
31 *************************************************************************
32 * main 函数
33 *************************************************************************
34 */
35 /**
36 * @brief 主函数
37 * @param 无
38 * @retval 无
39 */
40 int main(void)
41 {
42 /*
43 * 开发板硬件初始化,RTT 系统初始化已经在 main 函数之前完成,
44 * 即在 component.c 文件中的 rtthread_startup() 函数中完成了。
45 * 所以在 main 函数中,只需要创建线程和启动线程即可。
46 */
47
48 rt_thread_init(&led1_thread, /* 线程控制块 */
49 "led1", /* 线程名字 */
50 led1_thread_entry, /* 线程入口函数 */
51 RT_NULL, /* 线程入口函数参数 */