在MDK中为STM32移植FreeRTOS

在MDK中为STM32移植FreeRTOS

ID:38283973

大小:102.97 KB

页数:3页

时间:2019-05-29

在MDK中为STM32移植FreeRTOS_第1页
在MDK中为STM32移植FreeRTOS_第2页
在MDK中为STM32移植FreeRTOS_第3页
资源描述:

《在MDK中为STM32移植FreeRTOS》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在MDK中为STM32移植FreeRTOS/*****************************************************************************FreeRTOS版本是V7.0.1。STM32本人用的是大容量的stm32f103zgt6,故启动文件使用startup_stm32f10x_hd.s。固件库版本V3.5.0。编译环境用的是MDKVerson:4.22。注:用户在移植FreeRTOS操作系统前最好先移植好STM32的固件库,调试好确保固件库能成功运行后,再进行操作系统的移植。***************************

2、**************************************************/1、在Project里新建一个文件夹并命名为FreeRTOS。复制FreeRTOS解压包里的Source文件夹里的croutine.c,timers.c,list.c,queue.c,tasks.c以及Source->portable->RVDS->ARM_CM3->port.c以及Source->portable->MemMang->heap_2.c到自建的FreeRTOS文件夹。按新建FreeRTOS组并添加相应文件。如下图:2、在FreeRTOS文件夹里再新建一个文件夹include

3、。在include里面加入如下文件:①FreeRTOS解压包里的Source文件下include文件夹中的所有.h文件;②Source->portable->RVDS->ARM_CM3->portmacro.h;③FreeRTOS解压缩包里的Demo文件下找到CORTEX_STM32F103_Keil文件夹(用户根据自己的开发平台选择相应文件夹),找到FreeRTOSConfig.h文件加入到include中。Include文件夹里所有.h文件如下:3、菜单栏找到Project->optionsfortarget->C/C++->IncludePaths中加入上述的include文件夹。如

4、下图:4、在main文件头部#include以下头文件:FreeRTOS.h、task.h、queue.h、list.h、portable.h、freertosconfig.h5、打开启动文件startup_stm32f10x_hd.s(用户请根据所用芯片容量选择相应的启动文件)。在__heap_limit下面添加:PRESERVE8THUMBIMPORTxPortPendSVHandlerIMPORTxPortSysTickHandlerIMPORTvPortSVCHandler找到DCDSVC_Handler将其屏蔽掉,改成DCDvPortSVCHandler。找到DCDPendSV_

5、Handler将其屏蔽掉,改成DCDxPortPendSVHandler。找到DCDSysTick_Handler将其屏蔽掉,改成DCDxPortSysTickHandler。至此FreeRTOS移植完毕。在main中创建任务后启动任务调度器就可以运行了。除了启动文件上的少许改动外,其他程序均不需要用户自己去修改。因为制作FreeRTOS的工程师们已经为我们作了这些工作。另外网上广泛流传着一篇由广州伟研电子公司写的《FreeRTOS在STM32的移植》的文章,该文章中介绍到的所有程序其实都不需要用户自己去改的。另外该文章中提到一个叫PORTASM.S的以汇编写成的文件,在stm32的移植中

6、我们不需要用到此文件,此文件的内容已经用__asm语句内嵌到了port.c文件中了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。