1 Star 0 Fork 0

网易云大侠 / miros-lesson23

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

miros学习项目

1.项目来源:

课程原版资料:https://www.state-machine.com/video-course, 网站包含视频、视频文字、源代码等资料;

b站视频:https://www.bilibili.com/video/BV1j3411B7KK, 英文无字幕;

miros主要学习课程为lesson22~lesson28;

2.硬件:

STM32F103RBT6线路板,其中PA2-LED1PA3-LED2;可根据实际情况自行准备对应硬件,建议使用Cotex-M3内核的开发板方便移植PendSV_Handler中的汇编代码。本项目采用HAL库进行开发;

3.课程内容:

lesson23:利用PendSV_Handler实现前后台程序任务切换

整个试验过程如下:

1.定义os_thread结构体;

2.将lesson22的指向stack数组的过程定义为os_thread_start;

3.定义os_init函数将PendSV的中断优先级定义为0xF0(不同厂商有可能不同),定义os_schedul函数作为thread切换使用;

4.先使用C语言编写PendSV_Handler函数,后利用disassemble窗口汇编PendSV_Handler函数,注意M0内核与M3不同,需要自己编写。

5.编译通过后,通过单步调试在SysTick_Handler中断点,并将sp_led1赋值到os_next指针,点击step,然后全速运行,即进入main_led1;

空文件

简介

lesson23:利用PendSV_Handler实现前后台程序任务切换 展开 收起
C 等 2 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/yundaxia/miros-lesson23.git
git@gitee.com:yundaxia/miros-lesson23.git
yundaxia
miros-lesson23
miros-lesson23
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891