Merge pull request #240 from QingChuanWS/master

修正了KEIL移植文档中的错误
This commit is contained in:
Supowang
2020-10-21 10:15:57 +08:00
committed by GitHub

View File

@@ -7,8 +7,6 @@ TencentOS tiny目前主要支持ARM Cortex M核芯片的移植比如STM32 基
调试ARM Cortex M核还需要仿真器 NUCLEO-L073RZ自带ST-Link调试器如果您的开发板或者芯片模组没有板载仿真器就需要连接外置的仿真器如J-Link、U-Link之类的。
### 2.准备编译器环境
本移植指南针对的是Keil编译器所以我们移植内核前需要先安装Keil编译器能编译ARM Cortex M核的Keil编译器现在也叫MDK最新版本5.28a,下载地址为:[https://www.keil.com/demo/eval/arm.htm]()
@@ -21,7 +19,7 @@ TencentOS tiny目前主要支持ARM Cortex M核芯片的移植比如STM32 基
本教程使用ST官方的STM32CubeMX软件来自动化生成MDK裸机工程STM32CubeMX的下载地址为
[ https://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html]()
[https://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html]()
安装STM32CubeMx还需要事先安装好JDK环境您可以在互联网上查找如何安装和配置JDK环境此处不再赘述。
@@ -75,8 +73,6 @@ TencentOS tiny目前主要支持ARM Cortex M核芯片的移植比如STM32 基
### 4. 准备TencentOS tiny的源码
TencentOS tiny的源码已经开源github下载地址为[https://github.com/Tencent/TencentOS-tiny.git]()
|一级目录 | 二级目录 | 说明 |
|---------|---------|---------|
| arch | arm | TencentOS tiny适配的IP核架构含M核中断、调度、tick相关代码 |
@@ -186,15 +182,15 @@ TencentOS tiny所有要添加的头文件目录如下
#endif
```
按照上面的模板配置好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任务测试移植结果
### 1. 修改部分代码
#### 修改stm32l0xx_it.c的中断函数,在stm32l0xx_it.c文件中包含 tos_k.h 头文件
![](https://main.qcloudimg.com/raw/172245ad4fd6768dca798fd2db209755.png)
![](https://s1.ax1x.com/2020/10/20/BpTL60.png)
在stm32l0xx_it.c文件中的PendSV_Handler函数前添加___weak关键字因为该函数在TencentOS tiny的调度汇编中已经重新实现同时在SysTick_Handler函数中添加TencentOS tiny的调度处理函数如下图所示
@@ -271,7 +267,7 @@ TencentOS tiny所有要添加的头文件目录如下
![](https://main.qcloudimg.com/raw/3ce4c79796f4261fd45d26caa64e1e24.png)
按照上图指示进行编译下载到开发板即可完成TencentOS tiny的测试如下图所示可以看到串口交替打印信息表示两个任务正在进行调度切换运行
按照上图指示进行编译下载到开发板即可完成TencentOS tiny的测试如下图所示可以看到串口交替打印信息表示两个任务正在进行调度切换运行
![](https://main.qcloudimg.com/raw/b0f9d16064c4aeffa5f8c3dfbfbc0dbd.png)
@@ -282,5 +278,3 @@ TencentOS tiny所有要添加的头文件目录如下