CMSIS-RTOS V2是keil软件自带的操作系统,相较其他操作系统,该系统的有点在于移植方便,代码开源,可实时响应中断,之前查看网上资料,发现这个系统的内容特别少,个人用了一段时间,感觉特别好,写一下学习笔记,作为备用吧。写的有什么问题的,希望大神及时指正。接下来是操作系统的学习笔记。 5 N7 ?7 C# m1 e% a- ^4 x; g& \ / X2 @& M, G) }2 D7 S 9 V- B! q! m; P( E9 @$ h5 h 第一篇:操作系统的移植" B' s8 u# q; Q4 c' k* J 第一步:添加操作系统API,勾选CMSIS—RTOS2—keil RTX5 - v9 k# A- B* r4 d$ z/ } 7 J' ]6 E! v, `9 e' R5 N 完成以后如下图显示 |/ c, d* q" k, K. P 第二步:添加头文件, #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 /* 初始化外设 */ } : S0 E; i' D% Y, M- h# h " G. J2 \2 A b6 { " ~ V2 `6 s* P2 {5 e 至此,操作系统的移植完成。 需要注意的是原工程里面不能有SysTick,PendSV和SVC三个系统中断的使用,因为RTX系统要使用这三个中断。 |
åµå ¥å¼å®æ¶æä½ç³»ç»uCOS-II[éµè´è´].pdf
下载4.33 MB, 下载次数: 62
参与人数 1 | ST金币 +2 | 收起 理由 |
---|---|---|
wu18946796976 | + 2 |
. G- c; y! H T9 T) c1 W* x' \
附件是例程
8 T; Q6 \3 J0 D7 y( o, f
系统是CMSIS RTOS2
2 q2 v& p* ?/ X; s$ A$ }8 ]1 B% ^
keil版本5.28/ X( F2 b. ~( z, X9 _4 L6 m
例程只是空模板 * K0 z; z) G1 ~( J6 n3 l# K
Demo.rar
2020-3-12 13:13 上传
点击文件名下载附件
871.72 KB, 下载次数: 37
Thank you so much!
感谢分享,学习学习。。