你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 5734|回复: 6

[STM32L496] 【NUCLEO-L496ZG评测】FreeRTOS之多线程任务调度

[复制链接]

57

主题

317

回帖

7

蝴蝶豆

论坛元老

最后登录
2020-8-2
发表于 2017-5-14 20:06:07 | 显示全部楼层 |阅读模式
    在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。
    FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对μC/OS-II、embOS等商业操作系统,FreeRTOS操作系统是完全免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行
1.jpg
    CubeMX自带了FreeRTOS的插件,可以直接创建基于STM32的FreeRTOS工程。我这次做的是多线程任务调度,因此可以利用开发板自带的三盏LED灯和开发板自带串口作为任务调度的标志。首先配置PG7和PG8为低功耗串口1,以便在串口打印任务调度情况;然后配置板上三盏LED灯(PB7、PB14、PC7配置为输出)。 1.PNG 2.PNG 3.PNG
    在时钟配置界面配置MSI(内部高频晶振)、PLLCLK(锁相环倍频),主频80MHz,全速运行。
4.PNG
    在外设界面配置FreeRTOS的参数,Config parameters(配置参数)选项卡使用系统默认设置就好;我们重点关注的是Tasks and Queues(任务与队列)选项卡的配置,在此处新建三个任务,设置不同的优先级,配置好堆栈大小(这里要注意一下的是,堆栈大小最好使用默认的128KB,多个任务的总堆栈大小不能超过511KB,否则Heap配置界面会报错,任务也不能正常切换),其它都按默认配置。
5.PNG 6.PNG 7.PNG
    在串口配置窗口配置波特率115200、数据位8、停止位1、无校验位就可以了,可以生成工程了。
8.PNG 9.PNG
    这里我设置了三个任务,红蓝绿灯按照100、200、300毫秒的间隔闪烁,并且串口打印被调度的任务。由于是在RTOS(实时操作系统)下运行的,三个任务按照规定的调度顺序执行,因此互不冲突。
10.PNG
1.gif 11.PNG
    上传一份工程文件。 工程文件.zip (15.58 MB, 下载次数: 255)
<
回复

使用道具 举报

7

主题

1426

回帖

42

蝴蝶豆

论坛元老

最后登录
2020-8-11
发表于 2017-5-15 12:00:16 | 显示全部楼层
不错,学习一下,感谢分享~
回复 支持 反对

使用道具 举报

1

主题

20

回帖

0

蝴蝶豆

中级会员

最后登录
2020-12-4
发表于 2017-5-15 15:24:45 | 显示全部楼层
写错了是128words
回复 支持 反对

使用道具 举报

4

主题

233

回帖

0

蝴蝶豆

高级会员

最后登录
2019-1-10
发表于 2017-5-16 12:10:28 | 显示全部楼层
感谢分享!!
回复 支持 反对

使用道具 举报

0

主题

4

回帖

0

蝴蝶豆

初级会员

最后登录
2018-10-20
发表于 2017-5-28 17:02:18 | 显示全部楼层
请问 怎么确定任务需要多大的堆栈呢?
回复 支持 反对

使用道具 举报

4

主题

100

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-3-21
发表于 2018-3-21 17:11:15 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

初级会员

最后登录
2018-7-20
发表于 2018-4-22 14:02:10 | 显示全部楼层
支持               
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版