修正了KEIL移植文档中的错误
This commit is contained in:
@@ -7,7 +7,7 @@ TencentOS tiny目前主要支持ARM Cortex M核芯片的移植,比如STM32 基
|
|||||||
|
|
||||||
调试ARM Cortex M核还需要仿真器, NUCLEO-L073RZ自带ST-Link调试器,如果您的开发板或者芯片模组没有板载仿真器,就需要连接外置的仿真器,如J-Link、U-Link之类的。
|
调试ARM Cortex M核还需要仿真器, NUCLEO-L073RZ自带ST-Link调试器,如果您的开发板或者芯片模组没有板载仿真器,就需要连接外置的仿真器,如J-Link、U-Link之类的。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 2.准备编译器环境
|
### 2.准备编译器环境
|
||||||
|
|
||||||
@@ -32,33 +32,33 @@ TencentOS tiny目前主要支持ARM Cortex M核芯片的移植,比如STM32 基
|
|||||||

|

|
||||||
|
|
||||||
#### 3.2 选择MCU型号
|
#### 3.2 选择MCU型号
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
如上图所示:通过MCU筛选来找到自己开发板对应的芯片型号,双击后弹出工程配置界面,如下图:
|
如上图所示:通过MCU筛选来找到自己开发板对应的芯片型号,双击后弹出工程配置界面,如下图:
|
||||||
|
|
||||||

|

|
||||||
#### 3.3 Pin设置界面配置时钟源
|
#### 3.3 Pin设置界面配置时钟源
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### 3.4 Pin设置界面配置串口
|
#### 3.4 Pin设置界面配置串口
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### 3.5 Pin设置界面配置GPIO
|
#### 3.5 Pin设置界面配置GPIO
|
||||||

|

|
||||||
|
|
||||||
#### 3.6 配置总线时钟
|
#### 3.6 配置总线时钟
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### 3.7 工程生成参数配置
|
#### 3.7 工程生成参数配置
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### 3.8 代码生成方式配置
|
#### 3.8 代码生成方式配置
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### 3.9 生成工程
|
#### 3.9 生成工程
|
||||||
@@ -66,7 +66,7 @@ TencentOS tiny目前主要支持ARM Cortex M核芯片的移植,比如STM32 基
|
|||||||

|

|
||||||
|
|
||||||
#### 3.10 keil下的裸机工程
|
#### 3.10 keil下的裸机工程
|
||||||
|
|
||||||
点击生成代码后,生成的裸机工程效果如下:
|
点击生成代码后,生成的裸机工程效果如下:
|
||||||

|

|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ TencentOS tiny目前主要支持ARM Cortex M核芯片的移植,比如STM32 基
|
|||||||
### 4. 准备TencentOS tiny的源码
|
### 4. 准备TencentOS tiny的源码
|
||||||
TencentOS tiny的源码已经开源,github下载地址为:[https://github.com/Tencent/TencentOS-tiny.git]()
|
TencentOS tiny的源码已经开源,github下载地址为:[https://github.com/Tencent/TencentOS-tiny.git]()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|一级目录 | 二级目录 | 说明 |
|
|一级目录 | 二级目录 | 说明 |
|
||||||
|---------|---------|---------|
|
|---------|---------|---------|
|
||||||
@@ -113,7 +113,7 @@ port_s.S 文件是TencentOS tiny的任务调度汇编代码,主要做弹栈压
|
|||||||

|

|
||||||
|
|
||||||
### 4. 添加cmsis os源码
|
### 4. 添加cmsis os源码
|
||||||
|
|
||||||
cmsis os是TencentOS tiny为了兼容cmsis标准而适配的OS抽象层,可以简化大家将业务从其他RTOS迁移到TencentOS tiny的工作量。
|
cmsis os是TencentOS tiny为了兼容cmsis标准而适配的OS抽象层,可以简化大家将业务从其他RTOS迁移到TencentOS tiny的工作量。
|
||||||
|
|
||||||

|

|
||||||
@@ -187,14 +187,14 @@ TencentOS tiny所有要添加的头文件目录如下:
|
|||||||
|
|
||||||
```
|
```
|
||||||
按照上面的模板配置好TencentOS tiny的各项功能后,将tos_config.h 文件放入要移植的board工程目录下即可,例如本教程是放到board\NUCLEO_L073RZ\TOS_CONFIG目录下。
|
按照上面的模板配置好TencentOS tiny的各项功能后,将tos_config.h 文件放入要移植的board工程目录下即可,例如本教程是放到board\NUCLEO_L073RZ\TOS_CONFIG目录下。
|
||||||
|
|
||||||
这样,TencentOS tiny的源码就全部添加完毕了。
|
这样,TencentOS tiny的源码就全部添加完毕了。
|
||||||
|
|
||||||
## 三、创建TencentOS tiny任务,测试移植结果
|
## 三、创建TencentOS tiny任务,测试移植结果
|
||||||
|
|
||||||
### 1. 修改部分代码
|
### 1. 修改部分代码
|
||||||
#### 修改stm32l0xx_it.c的中断函数,在stm32l0xx_it.c文件中包含 tos_k.h 头文件
|
#### 修改stm32l0xx_it.c的中断函数,在stm32l0xx_it.c文件中包含 tos_k.h 头文件
|
||||||

|

|
||||||
|
|
||||||
在stm32l0xx_it.c文件中的PendSV_Handler函数前添加___weak关键字,因为该函数在TencentOS tiny的调度汇编中已经重新实现;同时在SysTick_Handler函数中添加TencentOS tiny的调度处理函数,如下图所示:
|
在stm32l0xx_it.c文件中的PendSV_Handler函数前添加___weak关键字,因为该函数在TencentOS tiny的调度汇编中已经重新实现;同时在SysTick_Handler函数中添加TencentOS tiny的调度处理函数,如下图所示:
|
||||||
|
|
||||||
@@ -270,11 +270,11 @@ TencentOS tiny所有要添加的头文件目录如下:
|
|||||||
### 3. 编译下载测试TencentOS tiny移植结果
|
### 3. 编译下载测试TencentOS tiny移植结果
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
按照上图指示,进行编译下载到开发板即可完成TencentOS tiny的测试,如下图所示,可以看到串口交替打印信息,表示两个任务正在进行调度,切换运行:
|
按照上图指示,进行编译下载到开发板即可完成TencentOS tiny的测试,如下图所示,可以看到串口交替打印信息,表示两个任务正在进行调度,切换运行:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user