Rt-Thread 移植2--线程定义与切换(KF32)

1.1文件建立

1.1.1 main.c

Rt-Thread 移植2--线程定义与切换(KF32)_第1张图片

1.1.2 Doc

Rt-Thread 移植2--线程定义与切换(KF32)_第2张图片

1.1.3 rthread核心文件

Rt-Thread 移植2--线程定义与切换(KF32)_第3张图片
Rt-Thread 移植2--线程定义与切换(KF32)_第4张图片

Rt-Thread 移植2--线程定义与切换(KF32)_第5张图片
Rt-Thread 移植2--线程定义与切换(KF32)_第6张图片
Rt-Thread 移植2--线程定义与切换(KF32)_第7张图片
Rt-Thread 移植2--线程定义与切换(KF32)_第8张图片

2.文件编程

2.1 redef.h

主要是变量定义

Rt-Thread 移植2--线程定义与切换(KF32)_第9张图片
Rt-Thread 移植2--线程定义与切换(KF32)_第10张图片

2.2 main.c

应用编程
这里首先rt_system_scheduler_init接口初始化调度器
然后rt_thread_init定义线程
rt_list_insert_before将线程插入就绪列表
rt_system_scheduler_start启动调度器

Rt-Thread 移植2--线程定义与切换(KF32)_第11张图片

2.3 scheduler.c

调度器组件
Rt-Thread 移植2--线程定义与切换(KF32)_第12张图片
Rt-Thread 移植2--线程定义与切换(KF32)_第13张图片

2.4 thread.c

线程组件
线程初始化会调用rt_hw_stack_init

Rt-Thread 移植2--线程定义与切换(KF32)_第14张图片

2.5 cpuport.c

跟移植CPU底层实现相关的组件
如rt_hw_stack_init在这里实现

Rt-Thread 移植2--线程定义与切换(KF32)_第15张图片

2.6 contex_gcc.c

CPU底层汇编代码实现部分
如上问的调度切换
Rt-Thread 移植2--线程定义与切换(KF32)_第16张图片

你可能感兴趣的:(#,Rt-thread,嵌入式)