当前位置:   article > 正文

STM32F103移植FreeRTOS操作系统_stm32f如何跑系统

stm32f如何跑系统

一、建立必要的stm32开发工程

1、FreeRTOS文件夹下存放的是整个FreeRTOS系统的文件夹(也可直接从文件所在文件夹直接调用,加头文件时不要弄错就行)。

FreeRTOS的相应资料(source文件夹)网上很多,可以自行下载。(许多开发板买的时候也会送一些资料的)

2,添加相应文件

1、list.c queue.c task.c位于source根目录下;

2、Port.c和portmacro.c是硬件接口层,位于FreeRTOS\Source\portable\RVDS\ARM_CM3文件夹下​;

3、heap4.c为内存管理文件,位于FreeRTOS/Source/portable/MemMang​下;

三、添加头文件路径

 1、...\FreeRTOS\Source\portable\RVDS\ARM_CM3

2、…\FreeRTOS\Source\include

3、​…\FreeRTOS\Source

四、编写FreeRTOSConfig.h文件

从FreeRTOS自带的Demo文件夹下拷贝一份FreeRTOSConfig文件,并将该文件添加到工程中去。

​此时,如果不是自己编写的代码出错,应该可以全部编译通过。再下载到开发板上,看下现象是不是很预料的一样,如果现象不一样,那我们就要对程序进行Debug,找出错误所在,对其进行修正。

我的程序修改之后运行没有问题,但是下载到板子之后,没有现象出现,所以对其进行Debug找到了错误所在

通过Debug找到之后,我们进入程序看看哪里有错误(光标处)

找到之后,退出Debug,知道是这里有错误,可以在网上找下(我是网上找到资料怎么修改)改怎么修改才能正确显示现象

这里有两种方法可以对其进行修改:

第一种:对startup_stm32f10x_hd.s进行修改

编译之后下载到开发板即可

第二种:在FreeRTOSConfig.h进行定义(在程序的最后面加一些定义)

#define configLIBRARY_KERNEL_INTERRUPT_PRIORITY 15

#define xPortPendSVHandler PendSV_Handler
#define vPortSVCHandler SVC_Handler
//#define xPortSysTickHandler  SysTick_Handler


#endif /* FREERTOS_CONFIG_H */

中间部分为加上去的定义,最后一行被注释掉了,是想提醒自己,如果加上这个定义就会出现重复定义的问题(我另一篇文章上有写)

编译代码,下载到开发板即可

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/730275
推荐阅读
相关标签
  

闽ICP备14008679号