推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

FreeRTOS在单片机上的移植

更新时间:2019-10-21 22:00:06 大小:10K 上传用户:xuzhen1查看TA发布的资源 标签:freertos单片机 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

emWin 配合FreeRTOS的移植主要步骤:

论上只要移植好FreeRTOS,创建一个任务运行 while(1XGUl_Delay(100)}即可运行emwin|

1.在FreeRTOS的demo文件夹中拷贝对应的FreeRTOSConfig.h文件后,需要加入一行:

#define configUSE_MUTEXES 112.在FreeRTOSConfigh文件中定义如下几行,这样子就不用改标准的启动文件了!(不用百度的方法)

#define vPortSVCHandler SVC_Handler

#definexPortPendSVHandler PendSV_Handler

#definexPortSysTickHandler SysTick_Handler

3.stm32fxxx_it.c 中需要删除默认的3个中断空函数,就是上面define的3个空函数。因为FreeRTOS的portc中定义了它需要的这3个中断函数。

4.如果使用emwin的话,需要把GUIConth中的#define GUL_OS(1)

5.而且GUl_X文件必须换成带OS支持的文件。如例程中的GUl_X_FreeRTOS。这个文件中主要改了emwin的tick的获取方式,延时方式等。emwin 的时钟基准全部来自FreeRTOS的函数。比如这里是:


部分文件列表

文件名 大小
FreeRTOS在单片机上的移植.pdf 10K

部分页面预览

(完整内容请下载后查看)
emWin 配合 FreeRTOS 的移植主要步骤:  
论上只要移植好  
FreeRTOS ,创建一个任务运行  
while(1){GUI_Delay(100);} 即可运行  
emwin  
1. FreeRTOS demo 文件夹中拷贝对应的 FreeRTOSConfig.h 文件后,需要加入一行:  
#define configUSE_MUTEXES  
1
2. FreeRTOSConfig.h 文件中定义如下几行, 这样子就不用改标准的启动文件了! (不用  
百度的方法)  
#define vPortSVCHandler SVC_Handler  
#define xPortPendSVHandler PendSV_Handler  
#define xPortSysTickHandler SysTick_Handler  
3. stm32fxxx_it.c 中需要删除默认的 3 个中断空函数,就是上面  
FreeRTOS port.c 中定义了它需要的这 3 个中断函数。  
define 3 个空函数。因  
4. 如果使用 emwin 的话,需要把 GUIConf.h #define GUI_OS  
(1)  
5. 而且 GUI_X 文件必须换成带 OS 支持的文件。 如例程中的 GUI_X_FreeRTOS 。这个文  
件中主要改了 emwin tick 的获取方式,延时方式等。 emwin 的时钟基准全部来自  
FreeRTOS 的函数。比如这里是:  
int GUI_X_GetTime(void)  
{
return ((int) xTaskGetTickCount()); // 用的 FreeRTOS 的函数  
}
而以前单 emwin 的时候,只是返回一个  
tick 的全局变量即可。  
总的说来, FreeRTOS 是基石, 它定义了 systick 的中断, 管理了 systick 的配置, 而且选择  
相应的 port.c portmarco.h 文件后些配置只用 3 个中断向量重定义即可。 emwin 的时  
钟只能使用 FreeRTOS 提供的相关时钟函数。  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载