【RTX操作系统教程】第6章 RTX操作系统源码方式移植
原文来源:http://forum.armfly.com/forum.php?mod=viewthread&tid=16616&highlight=RTX%B2%D9%D7%F7%CF%B5%CD%B3%BD%CC%B3%CC
第6章 RTX操作系统源码方式移植
本章教程为大家将介绍RTX操作系统源码方式移植,移植工作比较简单,只需要用户添加需要的源码文件即可,不需要做任何的底层工作,也不需要用户做任何修改。
本章教程含Cortex-M3内核的STM32F103的移植和Cortex-M4内核的STM32F407移植。
6.1 移植前准备工作说明
6.2 STM32F103源码方式移植RTX系统
6.3 STM32F407源码方式移植RTX系统
6.4 总结
6.1 植前准备工作说明
1. RTX系统软件开发平台仅支持MDK,建议使用MDK4.74,因为后面的例子都是以MDK4.74为平台。
1. 找一个简单的工程,最好是跑马灯之类的,越简单越好,我们就在这个简单的工程上面移植即可。
2. 大家使用的简单工程里面不能有SysTick,PendSV和SVC三个系统中断的使用,因为RTX系统要使用这三个中断。
6.2 STM32F103源码方式移植RTX系统
6.2.1 RTX操作系统移植 首先准备好一个简单的裸机工程模板,工程模板的制作就不做讲解了,这里的重点是教大家移植RTX系统。准备好的工程模板如下图6.1所示(大家也可以制作其它任意的工程模板,不限制): 图6.1 工程模板 准备好工程模板后,就可以开始移植了。首先要做的就是将所有需要的源码文件放到工程模板里面。下面分五步跟大家进行说明,当然,不限制必须使用下面的方法添加源码到工程,只要将需要的文件添加到工程模板即可。 再在RTX文件夹中创建如下三个文件夹 inc文件夹用于存放头文件。 文件RTL.h和RTX_Config.h在MDK安装目录中的路径C:\\Keil_v474\\ARM\\RV31\\INC 这5个文件在MDK安装目录中的路径C:\\Keil_v474\\ARM\\RL\\RTX\\SRC\\CM,其实HAL_CM1和HAL_CM4可以不必添加,因为这两个文件是分别用于CM1内核和CM4内核的芯片。 这11个文件在MDK安装目录中的路径C:\\Keil_v474\\ARM\\RL\\RTX\\SRC\\CM 文件RTX_Conf_CM.c在MDK安装目录中的路径C:\\Keil_v474\\ARM\\RL\\RTX\\Config u 第4步:新创建一个includes.h文件,将所有的头文件都集中到这个头文件下。 Includes.h文件中的内容如下:
复制代码u 第5步:也是最后一步,添加相应的头文件路径: 至此,RTX的移植工作就完成了,剩下就是系统配置和应用了 6.2.2 RTX操作系统配置说明 RTX操作系统的配置工作是通过配置文件RTX_Conf_CM.c实现。在MDK工程中打开文件RTX_Conf_CM.c,可以看到如下图6.2所示的工程配置向导: 图6.2 RTX配置向导 u Task Configuration 6.2.3 RTX操作系统应用实例 通过上面对RTX操作系统的配置讲解,这里将其修改为如下图6.3所示配置: 图6.3 RTX配置向导 相对默认配置,修改了上图红色箭头所示的三个地方:
复制代码按照第三章的3.4小节中介绍的调试方法,可以看到如下图6.4所示任务执行状态: 图6.4 RTX的调试信息组件 除了创建的两个用户任务以外,还有空闲任务,这个任务是系统创建的。至此,RTX的库方式移植的工程就可以运行了。 |
6.3 STM32F407源码方式移植RTX系统
6.3.1 RTX操作系统移植 首先准备好一个简单的裸机工程模板,工程模板的制作就不做讲解了,这里的重点是教大家移植RTX系统。准备好的工程模板如下图6.5所示(大家也可以制作其它任意的工程模板,不限制): 图6.5 工程模板 准备好工程模板后,就可以开始移植了。首先要做的就是将所有需要的源码文件放到工程模板里面。下面分五步跟大家进行说明,当然,不限制必须使用下面的方法添加源码到工程,只要将需要的文件添加到工程模板即可。 再在RTX文件夹中创建如下三个文件夹 inc文件夹用于存放头文件。 文件RTL.h和RTX_Config.h在MDK安装目录中的路径C:\\Keil_v474\\ARM\\RV31\\INC 这5个文件在MDK安装目录中的路径C:\\Keil_v474\\ARM\\RL\\RTX\\SRC\\CM,其实HAL_CM1和HAL_CM3可以不必添加,因为这两个文件是分别用于CM1内核和CM3内核的芯片。 这11个文件在MDK安装目录中的路径C:\\Keil_v474\\ARM\\RL\\RTX\\SRC\\CM 文件RTX_Conf_CM.c在MDK安装目录中的路径C:\\Keil_v474\\ARM\\RL\\RTX\\Config u 第4步:新创建一个includes.h文件,将所有的头文件都集中到这个头文件下。 Includes.h文件中的内容如下:
复制代码u 第5步:也是最后一步,添加相应的头文件路径: 至此,RTX的移植工作就完成了,剩下就是系统配置和应用了 6.3.2 RTX操作系统配置说明 RTX操作系统的配置工作是通过配置文件RTX_Conf_CM.c实现。在MDK工程中打开文件RTX_Conf_CM.c,可以看到如下图6.6所示的工程配置向导: 图6.6 RTX配置向导 u Task Configuration 6.3.3 RTX操作系统应用实例 通过上面对RTX操作系统的配置讲解,这里将其修改为如下图6.7所示配置: 图6.7 RTX配置向导 相对默认配置,修改了上图红色箭头所示的三个地方:
复制代码按照第三章的3.5小节中介绍的调试方法,可以看到如下图6.8所示任务执行状态: 图6.8 RTX的调试信息组件 除了创建的两个用户任务以外,还有空闲任务,这个任务是系统创建的。至此,RTX的库方式移植的工程就可以运行了。 |
6.4 总结 本章节为大家讲解了RTX的源码移植方法,移植比较简单。另一个重要内容是系统配置向导文件的说明,这个比较重要,初学者要好好熟悉下。 |
【RTX操作系统教程】第6章 RTX操作系统源码方式移植相关推荐
- 第6章 RTX 操作系统源码方式移植
以下内容转载自安富莱电子: http://forum.armfly.com/forum.php 本章教程为大家将介绍 RTX 操作系统源码方式移植,移植工作比较简单,只需要用户添加需要的源码文件即可, ...
- 【STM32F429的DSP教程】第6章 ARM DSP源码和库移植方法(MDK5的AC5和AC6)
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第6章 ARM DSP源码和库移植方法(MDK5的AC5 ...
- 老男孩GO语言线下培训班1期整套教程(完整18天含源码)
老男孩GO语言线下培训班1期整套教程(完整18天含源码) 老男孩教育-Go语言第一期(共18天 含课程源码) 课程详细目录: ├─L001-Go语言-mp4 │ 01 Go开发1期 day1 ...
- android修改原生代码,【ROM教程】安卓原生ROM修改源码消除WIFI叹号教程
[ROM教程]安卓原生ROM修改源码消除WIFI叹号教程.Android为了对网络状态进行检测,采用了一种叫做captive detection的方式进行网络状态检测.其实说起来很简单,每当连接到一个 ...
- 四千GB电脑技术高清视频教程和23万套各类源码模板
四千GB电脑技术高清视频教程和23万套各类源码模板 1.二千多GB各类电脑技术高清视频教程 2.17万本电脑技术相关的电子书籍 3.23万套各类VIP源码.商业源码.泄密源码.破解源码 4.一万多套淘 ...
- 计算机操作系统学习笔记 第一章、操作系统概论
文章目录 1 操作系统的基本概念 1.1 操作系统的概念 1.2 操作系统的特征 1.3 操作系统的目标和功能 1.4 综合应用题 2 操作系统发展历程 2.1 手工操作阶段(此阶段无操作系统) 2. ...
- .NET Core实战项目之CMS 第三章 入门篇-源码解析配置文件及依赖注入
写在前面 上篇文章我给大家讲解了ASP.NET Core的概念及为什么使用它,接着带着你一步一步的配置了.NET Core的开发环境并创建了一个ASP.NET Core的mvc项目,同时又通过一个实战 ...
- c++贪吃蛇_细致的C语言写贪吃蛇教程+详细思路-适合新手附源码
在有用C写贪吃蛇的一个想法之后,上网查了几个教程,觉得不是很能看懂.恩...或者说不是一下子就能看出来思路+具体怎么实现.所以,我花了早自习的时间想了想如何用最简单的方法实现,晚上大约两个小时写了出来 ...
- ajax资料收集-Ajax文章(教程和实例)---Ajax资源下载(源码和教程)---Ajax规范标准
CSDN Blog Ajax文章搜索: http://search.csdn.net/search/ajax/1/blog/ 专题:Ajax技术应用开发 http://www.51cto.com/ht ...
最新文章
- 自定义状态栏notification布局
- struts2的核心和工作原理
- 克服拖延的11种方法
- 又拍云上传文件后,如何访问?
- 7.10.7740.16
- vc mysql封装类_Oracle OCI API封装类VC数据库源码下载-华软网
- [周赛][Leetcode][第5457题][JAVA][动态规划][和为奇数的子数组数目]
- 机器学习硕士、博士如何自救?
- 【faebdc的模拟赛】T1错位
- 自学前端1年,靠着这份面试题和答案,我找到了20K工作
- 产品的缺点要不要提前告诉客户?
- doceker模拟数据的生成
- matlab_exercise(2)----输入一个三位数,依次输出其个位数字,十位数字,百位数字...
- linux cron 定时任务
- 用RichEditableText做的一个代码编辑器
- Java毕设项目在线购书商城系统计算机(附源码+系统+数据库+LW)
- MLX90614系列 ——红外温度计
- iPad 变身做电脑显示器
- 阿里云CentOS8_x86_64_Haproxy代理gitlab及mantis
- 三大战略分析方法——SWOT、PEST、波特五力模型