|
CMSIS-RTOS V2是keil软件自带的操作系统,相较其他操作系统,该系统的有点在于移植方便,代码开源,可实时响应中断,之前查看网上资料,发现这个系统的内容特别少,个人用了一段时间,感觉特别好,写一下学习笔记,作为备用吧。写的有什么问题的,希望大神及时指正。接下来是操作系统的学习笔记。5 V4 p$ g5 _% p. G G 4 p% n" P# Q% a . w( m1 p, ^6 K6 y/ L0 c 第一篇:操作系统的移植2 p6 B8 V2 C$ P9 l) w ' U; [3 h7 P( x7 r 第一步:添加操作系统API,勾选CMSIS—RTOS2—keil RTX5" o2 ~1 k6 d$ j" i+ z a ( E3 o" y0 A: Y' r' W4 I7 G2 O/ J # ~; y5 c. g( {: X, m; ^
完成以后如下图显示
: K) q& c% E- A: p$ d 第二步:添加头文件, #include"cmsis_os2.h" #include"RTE_Components.h" #include CMSIS_device_header 第三步:添加main函数,V2操作系统中,有两层main函数,第一层是系统的main函数,系统上电以后,首次进入main函数,进行初始化时钟和操作系统,同时启动第二次main函数。第二层main函数是用户创建的main函数,进行用户函数的初始化和任务的创建。 //第一层main函数,不需要修改 int main (void) { // System Initialization SystemCoreClockUpdate();//初始化系统时钟 // ... osKernelInitialize();//初始化系统 osThreadNew(app_main,(void *)1,0);//启动main进程 osKernelStart();//启动系统 for (;;); } //第二层main函数,初始化用户底层驱动,建立任务等 voidapp_main(void *argument){ osKernelInitialize(); // initialize peripherals here /* 初始化外设 */ } " ? v! ?6 [% C, n6 G ) b! c1 l( z+ [3 y( q
0 C4 @0 m) ]' W& i/ c 至此,操作系统的移植完成。 需要注意的是原工程里面不能有SysTick,PendSV和SVC三个系统中断的使用,因为RTX系统要使用这三个中断。 . o+ i/ I" }) Z5 ~7 k: |9 n |
åµå ¥å¼å®æ¶æä½ç³»ç»uCOS-II[éµè´è´].pdf
下载4.33 MB, 下载次数: 127
| 参与人数 1 | ST金币 +2 | 收起 理由 |
|---|---|---|
|
|
+ 2 |
微信公众号
手机版
7 Y! t0 K3 A, O( |& a
附件是例程
$ s, m; j. [. W7 M3 g* a! F
系统是CMSIS RTOS2$ y* x4 P# I3 y* Z% S& r
4 H& O) |7 @" H) d
keil版本5.282 C* `) ~5 Q' W) G' d9 f' Z
例程只是空模板
0 }+ @' m! {- `! D" f+ g7 x0 p
Demo.rar
2020-3-12 13:13 上传
点击文件名下载附件
871.72 KB, 下载次数: 61
Thank you so much!
感谢分享,学习学习。。