- 打卡等级:偶尔看看I
- 打卡总天数:16
- 最近打卡:2025-04-30 08:41:32
荣誉版主
- 积分
- 12882
|
发表于 2024-4-5 09:34:52
|
显示全部楼层
就用楼主当年的原话作为介绍吧:
今天送杨老师一个礼物 <STC32G - FreeRTOS 中断切换任务版本>
这个版本去年年底就做了, 因为没有实际项目要用到, 当时只是浅尝即止了.
这个版本和官网上发的版本主要改动是用中断切换任务.基本功能已经做好了, 但文档还有些乱, 需要整理一下. 做的时候只是为了看一下运行结果,很多地方也还需要优化.
官网上那个FreeRTOS的版本中有个缺陷是, 如果在中断里激活了一个高优先级任务, 不能即时任务切换, 需要等到时钟滴塔到了以后再统一进行切换.
现在这个版本没有这个缺陷, 但是可靠性还得进一步验证.
去年年底我发现官网上这个FreeRTOS版本的缺点后就发贴提出过, 但很遗憾, 到现在官网上的范例代码仍没有改变, 还是老样子.
我希望杨老师接收这个礼物, 并将其发杨光大, 本人认为这是一个重大的改进, 毕竟名字叫做RTOS, 官网的例子不能实时切换任务, 那还能叫实时OS吗
范例中, 打开了任务运行时间统计功能, 串口0 printf 输出结果, 运行截图如下:

此代码需要注意的是, 运行时间统计功能需要很大的任务栈, 故范示中使用了heap_4.c , 好像 FreeRTOS 原码有个用大内存的地方原码也改过, 具体记不清了, 用的时候注意一下就可以了
|
|