这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» STM32» 分享STM32F103上移植UCOSII和FreeRTOS

共11条 1/2 1 2 跳转至

分享STM32F103上移植UCOSII和FreeRTOS

高工
2016-01-31 11:42:15 打赏

分别在对应的官网下载源码:Micrium_STM32F103ZE-SK_uCOS-II.rarFreeRTOSV8.2.3.rar


1、 移植UCOS建立工程,将下图中对应的文件加入到工程中:

2、下载下来的是IAR的DEMO程序,需要修改os_cpu_a.asm中下图所示地方:


3、 注释掉Systick相关部分,换作自己的代码实现:

修改stm32f10x_it.c里关于systick中断服务函数的代码:

/** * @brief This function handles SysTick Handler. * @param None * @retval None */ void SysTick_Handler(void) { OS_CPU_SR cpu_sr; OS_ENTER_CRITICAL(); /* Tell uC/OS-II that we are starting an ISR */ OSIntNesting++; OS_EXIT_CRITICAL(); OSTimeTick(); /* Call uC/OS-II's OSTimeTick() */ OSIntExit(); /* Tell uC/OS-II that we are leaving the ISR */ }


4、修改启动文件中OS_CPU_PendSVHandler 替换 PendSV_Handler

5、根据自己的需求配置os.cfg.h文件。

完成,可以使用了。


FreeTROS移植:

1、添加如下图所示文件到工程:

2、根据自己的需求配置FreeTROSConfig.h

3、修改启动文件中几个中断向量:

DCD vPortSVCHandler ; SVCall Handler DCD DebugMon_Handler ; Debug Monitor Handler DCD 0 ; Reserved DCD xPortPendSVHandler ; PendSV Handler DCD xPortSysTickHandler ; SysTick Handler

vPortSVCHandler PROC EXPORT vPortSVCHandler [WEAK] B . ENDP DebugMon_Handler\ PROC EXPORT DebugMon_Handler [WEAK] B . ENDP xPortPendSVHandler PROC EXPORT xPortPendSVHandler [WEAK] B . ENDP xPortSysTickHandler PROC EXPORT xPortSysTickHandler [WEAK]


这样也就直接可以使用了,下面是移植好的工程:

STM32_RTOS.rar




关键词: STM32F103 UCOSII FreeRTOS

院士
2016-01-31 20:12:44 打赏
2楼

这个真心不错。

我在工作之前,使用ucosii在做科研,

而工作之后,只能使用freeRTOS来做项目


高工
2016-01-31 21:38:39 打赏
3楼
楼主厉害

高工
2016-01-31 21:39:51 打赏
4楼
真心不错,支持一个

院士
2016-02-01 09:21:12 打赏
5楼
用来freeRTOS才知道uCOS的强大啊

助工
2016-02-01 10:56:20 打赏
6楼
楼主厉害,点个赞~

助工
2016-02-03 11:48:11 打赏
7楼
感谢分享!!

菜鸟
2020-07-10 13:24:24 打赏
8楼

谢谢分享


菜鸟
2020-07-10 16:45:54 打赏
9楼

感谢分享


工程师
2020-07-10 19:20:09 打赏
10楼

感谢分享


共11条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]