news 2026/8/11 20:35:07

RTOS基于7840——任务创建、启动、切换、删除

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RTOS基于7840——任务创建、启动、切换、删除

1. 任务创建

7840的例程里面,main函数做了一个开始函数的创建

开始函数里面创建了2个任务

任务里面做了点灯

直接给他屏蔽掉,简化代码

任务创建失败

忘了开任务调度表

开了之后,只运行任务0,不跑任务1

原来代码里面打印写错了都写的0

发现从task1开始运行,像是优先级

改成17之后,都是先从0开始运行

查看代码接口,确实是优先级

ai分析分优先级

可以看到这2个任务都是100ms执行一次

因为打印有时间,去掉打印,2个任务相差4.2us

去掉打印,时间改成1ms,发现翻转时间是标准的1ms'

改成0之后,只有0能运行,翻转一次时间是1.68us,也就是说被0任务给阻塞了

2. 创建任务的简单分析

参考网上资料(感谢韦东山老师)

非常感谢韦东山老师的RTOS课件资料!!!

简单看一下就是

这里提到了,切换任务就是触发一个异常中断,然后保存现场。

没有寄存器地址,可以看出来这里就是模拟现场用的

发现是cm32的

M4F是按照这样写的

3. vTaskDelay函数

4. 启动任务

反汇编配置

fromelf --text -a -c --output=.\Objects\demo.dis .\Objects\demo.axf

这里看的不是很明白,后续第二遍着重看

从地址映射引出的问题,修改起始地址

看下7840的起始地址

这里地址映射到0地址不清楚,后面二次看代码时候再来细看。

还是看不懂讲解

参考讲解代码简化一下我们的代码

什么是msp/psp

ok,看的一脸懵逼

5. 切换任务

6. 删除任务

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/11 20:34:04

vim使用verible插件进行verilog语法检查

github上下载verible后,可在不联网的情况下,在vim中检查verilog语法,或者格式优化(自动缩进等),verible下还有其他插件,待探索(xxx --helpfull)

作者头像 李华
网站建设 2026/7/14 15:41:10

Pytorch之torch.nn.Conv2d详解

卷积层是卷积神经网络(CNN)的核心组件,而torch.nn.Conv2d作为 PyTorch 中实现二维卷积的核心类,广泛应用于图像分类、目标检测、语义分割等计算机视觉任务。本文将从基础概念、参数详解、使用示例到核心原理,全方位拆解…

作者头像 李华
网站建设 2026/7/14 15:41:11

Basilisk模块开发指南:手把手教你写C++/Python混合仿真模块

Basilisk模块开发实战:从C/Python混合编程到高精度仿真系统构建 如果你正在为航天器动力学仿真、飞行软件算法验证或者多智能体系统协同模拟寻找一个可靠、高效且可扩展的框架,那么Basilisk很可能已经进入了你的视野。这个由科罗拉多大学博尔德分校航天工…

作者头像 李华
网站建设 2026/7/14 15:40:59

从协议设计看FTP多通道机制:为什么现代系统仍保留这个‘老古董‘?

从协议设计看FTP多通道机制:为什么现代系统仍保留这个“老古董”? 在技术迭代如潮水般涌动的今天,我们每天都能听到关于HTTP/3、QUIC、gRPC等新协议如何重塑网络世界的讨论。然而,当你深入许多企业的核心数据交换系统、工业控制网…

作者头像 李华
网站建设 2026/7/14 15:41:13

Jetson Xavier NX系统迁移实战:从EMMC到NVMe SSD的完整避坑指南

Jetson Xavier NX 系统迁移实战:从EMMC到NVMe SSD的完整避坑指南 如果你正在使用EMMC版本的Jetson Xavier NX,并且已经感受到了存储空间的局促和读写速度的瓶颈,那么将系统迁移到NVMe固态硬盘上,无疑是释放这台边缘计算设备全部潜…

作者头像 李华