打印

在STM32上运行FreeRTOS操作系统(基于STM32 V3.5.0固件库)

[复制链接]
3902|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 不爱说话 于 2013-9-10 14:47 编辑

很久以前就想实用FreeRTOS了,优点就不必说了,网上可以搜到一大堆它和ucos-ii以及其他几种嵌入式操作系统的比较。最重要的一点它是免费的,不想ucos那样商业使用需要收费。只是之前本人比较忙而且FreeRTOS对Cortex-M的支持不太好,所有一直没有勇气自己移植。最近看到了FreeRTOS的最新版7.5.2中已经包含了大量的针对Cortex-M微控制器的移植例程,于是按照网上搜的介绍把它和STM32F103的V3.5.0库函数进行了整合,在MDK4.7下进行了成功的编译。并且根据我手头STM32迷你核心板的配置,编写了几个简单的任务在上面跑,感觉FreeRTOS还是很好上手的。一旦熟悉了嵌入式操作系统的编程方式,就不想在单片机上裸奔了。为了方便对FreeRTOS感兴趣的朋友,整个工程的源码在下面,需要的下载后在MDK下直接编译即可。下面我对这些任务做些简单的介绍:

Main函数就是这个程序的入口(废话),进入后首先是硬件初始化,接下来是创建各个任务,最后启动调度器系统就跑起来了,是不是很简单!

在这里我创建了3个任务vLEDTask,vButtonTask,vCmdTask,分别是LED闪烁任务(PG15控制一个LED每0.5秒闪一次),按键任务检测核心板上的一个按键PC4(带软件去抖功能),串口任务负责接收串口发来的字符串命令,并对系统命令做出识别和响应。


LED任务(运行时可以看到PG15在跳变)


BUTTON任务,检测到一次按键便在串口打印一个字符x


串口输入命令,回车后串口任务便会对输入做出响应


这里做了一个系统可以识别的tasklist命令,可以显示各个任务运行的状况。

STM32_FreeRTOS.rar (1.28 MB)
这个例程是在我这个STM32迷你核心板上运行调试的, 经过修改也可以用在别的平台上。
沙发
wxweipot| | 2013-9-10 12:11 | 只看该作者
mark

使用特权

评论回复
板凳
liuruoshui1987| | 2013-9-10 12:27 | 只看该作者
支持一下楼主!

使用特权

评论回复
地板
不爱说话|  楼主 | 2013-9-10 14:45 | 只看该作者
谢谢大家支持啊!

使用特权

评论回复
5
j1755659290| | 2013-9-10 17:58 | 只看该作者

使用特权

评论回复
6
hkcj| | 2013-9-10 18:38 | 只看该作者
很给力的学习帖子  很不错哦   楼主  向你学习  学习  呵呵

使用特权

评论回复
7
hkcj| | 2013-9-10 18:38 | 只看该作者
抽空好好将上面的知识点消化消化  自己应该可以掌握很多的东西   

使用特权

评论回复
8
ren0zhe| | 2013-9-10 19:30 | 只看该作者
mark

使用特权

评论回复
9
不爱说话|  楼主 | 2013-9-11 13:14 | 只看该作者
看到这么多人回复,还有更多的人下载了帖子里的源码。感觉很欣慰。我一直认为受人以鱼不如授人以渔,大家都怀着一颗包容开放的心,无保留的分享,大家的水平才能提高,否则只能闭门造车原地踏步。
我希望大家能在我这个基础上做出更好的程序然后分享给更多的人。

使用特权

评论回复
10
j1755659290| | 2013-9-12 09:57 | 只看该作者
楼主楼主   你那个general purpose I/O G窗口是什么啊?怎么弄出来的?

使用特权

评论回复
11
不爱说话|  楼主 | 2013-9-12 12:00 | 只看该作者
那是Keil MDK的仿真窗口,在仿真时点Peripherals菜单。

使用特权

评论回复
12
j1755659290| | 2013-9-12 12:22 | 只看该作者
不爱说话 发表于 2013-9-12 12:00
那是Keil MDK的仿真窗口,在仿真时点Peripherals菜单。

恩 恩  等下回家试试,谢谢楼主~~

使用特权

评论回复
13
trumpxp| | 2013-9-12 18:55 | 只看该作者
支持楼主  一个   感觉比较给力  确实是好东西   这个毋庸置疑的啦   楼主 啊

使用特权

评论回复
14
qq20707| | 2013-9-12 21:23 | 只看该作者
FreeRTOS学习中

使用特权

评论回复
15
cuihao0922| | 2014-7-28 11:06 | 只看该作者
学习下FreeRTOS,支持下大神的无私……

使用特权

评论回复
16
不爱说话|  楼主 | 2014-8-4 15:46 | 只看该作者
谢谢这1年多大家的支持!

使用特权

评论回复
17
ikkl220| | 2014-8-7 13:16 | 只看该作者
楼主,在freertos中移植uip 有过吗?怎么移的?脑壳都是大的现在。
  stm32f103ve+uip+freertos

使用特权

评论回复
18
alber5099| | 2014-10-31 08:56 | 只看该作者
謝謝,我正在做這個

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:飞翼电子工作室 http://shop68798667.taobao.com/

115

主题

886

帖子

34

粉丝