欢迎来到天天文库
浏览记录
ID:5368661
大小:791.25 KB
页数:34页
时间:2017-12-08
《【freertos操作系统教程】第5章 freertos操作系统移植(mdk版)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章FreeRTOS操作系统移植(MDK版)本章教程将为大家介绍基于MDK的FreeRTOS操作系统移植。移植工作比较简单,只需要用户添加需要的源码文件,不需要做任何的底层工作,再添加三个宏定义即可。本章教程含Cortex-M3内核的STM32F103的移植和Cortex-M4内核的STM32F407以及F429的移植。5.1移植前准备工作说明5.2STM32F103移植FreeRTOS系统5.3STM32F407移植FreeRTOS系统5.4STM32F429移植FreeRTOS系统5.5总结5.1移植前准备工作说明1.本章节的IDE开发环
2、境使用MDK,用MDK4.7X或者MDK5.XX均可,保证支持STM32F103,F407和F429即可(不可以使用MDK4.7X以下版本,一方面是不支持F429,另外就是FreeRTOSV8.2.3要用到C代码中嵌套汇编代码,MDK4.7X以下版本是不支持的)。2.找一个简单的工程,最好是跑马灯之类的,越简单越好,我们就在这个简单的工程上面移植即可。3.大家使用的简单工程里面不能有SysTick,PendSV和SVC三个系统中断的使用,因为FreeRTOS系统要使用这三个中断。5.2STM32F103移植FreeRTOS系统5.2.1Free
3、RTOS操作系统移植首先准备好一个简单的裸机工程模板,工程模板的制作就不做讲解了,这里的重点是教大家移植FreeRTOS系统。准备好的工程模板如下图5.1所示(大家也可以制作其它任意的工程模板,不限制):武汉安富莱电子有限公司WWW.ARMFLY.COM安富莱STM32-V6开发板FreeRTOS教程图5.1工程模板准备好工程模板后,就可以开始移植了。首先要做的就是将所有需要的源码文件放到工程模板里面。下面分六步和大家进行说明,当然,不限制必须使用下面的方法添加源码到工程,只要将需要的文件添加到工程模板即可。第1步:从网址https://so
4、urceforge.net/projects/freertos/files/FreeRTOS/V8.2.3/下载V8.2.3版本,这个是8.X系列里面最高版本了,9.0版本还处于测试阶段,我们暂不使用。2016年06月30日版本:1.0第2页共34页武汉安富莱电子有限公司WWW.ARMFLY.COM安富莱STM32-V6开发板FreeRTOS教程FreeRTOSV8.2.3.zip和FreeRTOSV8.2.3.exe内容是一样的,只是后缀为exe的压缩率更高些。下载后解压出来。第2步:在工程模板创建FreeRTOS文件夹第3步:添加源码文
5、件到相应文件夹将FreeRTOSV8.2.3软件包中路径:FreeRTOSV8.2.3FreeRTOSSource里面如下所有文件复制到刚刚创建的FreeRTOS文件夹下。文件夹User中还需要添加如下文件:2016年06月30日版本:1.0第3页共34页武汉安富莱电子有限公司WWW.ARMFLY.COM安富莱STM32-V6开发板FreeRTOS教程文件FreeRTOSConfig.h文件在FreeRTOSV8.2.3软件包中的中的路径:FreeRTOSV8.2.3FreeRTOSDemoCORTEX_STM32F103_Kei
6、l,其实就是官方整理好的配置文件。第3步:将源码文件添加到MDK的工程项目中,添加后的效果如下:其中heap_4.c文件路径:FreeRTOSSourceportableMemMangport.c和portmacro.h文件的路径:FreeRTOSSourceportableRVDSARM_CM3,由于STM32F103是M3内核的,所以移植文件也要添加M3内核的。第4步:新创建一个includes.h文件,将所有的头文件都集中到这个头文件下。这样做的好处是引用头文件的时候,只添加这个头文件就可以了。includes.h文件放
7、在了User文件夹中。然后再将这个文件也添加到MDK工程项目中(将.h文件添加到工程的好处是方便查看和修改)2016年06月30日版本:1.0第4页共34页武汉安富莱电子有限公司WWW.ARMFLY.COM安富莱STM32-V6开发板FreeRTOS教程Includes.h文件中的内容如下:/*/************************************************************************************************************模块名称:头文件汇总*文件名称:in
8、cludes.h*版本:V1.0*说明:当前使用头文件汇总**修改记录:*版本号日期作者说明*V1.02015-08-02Eric2013首次发布**
此文档下载收益归作者所有