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. 启动任务

反汇编配置

css 复制代码
fromelf  --text  -a -c --output=.\Objects\demo.dis  .\Objects\demo.axf 

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

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

看下7840的起始地址

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

还是看不懂讲解

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

什么是msp/psp

ok,看的一脸懵逼

5. 切换任务

6. 删除任务

相关推荐
.普通人1 天前
freertos源码解析(里面的源码来源于另一个博主,我这里只是讲一下我自己的理解)
操作系统·rtos
R6bandito_1 天前
自实现FLASH读取函数中的隐式类型转换bug踩坑记录
c语言·开发语言·经验分享·stm32·单片机·mcu·bug
Redemption1 天前
嵌软面试每日一阅----freeRTOS(三)
stm32·单片机·嵌入式硬件·mcu·物联网·面试·51单片机
学嵌入式的小杨同学2 天前
STM32 进阶封神之路(三十九)FreeRTOS 临界区、挂起 / 删除、钩子函数、调度底层原理|从应用到内核深度解析
c++·stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb
Dotrust东信创智2 天前
轻量化、低成本、高可靠:MCU控制器引领汽车执行单元升级
mcu·汽车电子
苏灵凯2 天前
智能环境监测终端全栈设计:从单片机到微信小程序,手把手搞定!
单片机·嵌入式硬件·mcu·物联网·微信小程序·小程序·蓝牙模块
学嵌入式的小杨同学3 天前
STM32 进阶封神之路(三十四):TFT LCD 深度全解 —— 显示原理、ILI9341 控制器、8080 并行接口与底层驱动体系
vscode·stm32·单片机·嵌入式硬件·mcu·智能硬件·嵌入式实时数据库
学嵌入式的小杨同学4 天前
STM32 进阶封神之路(三十五):TFT LCD 工程化实战 ——FSMC 高速驱动、多图层界面、中英文显示与图形引擎(完整可落地)
stm32·单片机·嵌入式硬件·mcu·硬件架构·硬件工程·智能硬件
网易独家音乐人Mike Zhou4 天前
【Python】TXT、BIN文件的十六进制相互转换小程序
python·单片机·mcu·小程序·嵌入式·ti毫米波雷达
电子科技圈4 天前
芯科科技驱动和重塑智能门锁行业格局多协议、安全性、AI技术与开发工具共同赋能
大数据·人工智能·嵌入式硬件·mcu·物联网·智能家居·iot