
CMSIS-RTOS V2是keil软件自带的操作系统,相较其他操作系统,该系统的有点在于移植方便,代码开源,可实时响应中断,之前查看网上资料,发现这个系统的内容特别少,个人用了一段时间,感觉特别好,写一下学习笔记,作为备用吧。写的有什么问题的,希望大神及时指正。接下来是操作系统的学习笔记。 7 d; {% S! P# ]7 M/ l+ b / M# @, u# y' b- K; @! Y& T) j( ? 5 s! }1 ^! w& n; ?0 c, ^ 第一篇:操作系统的移植 第一步:添加操作系统API,勾选CMSIS—RTOS2—keil RTX5+ Q6 i3 r( R. l1 ~3 `: }( r+ F ; H; @% D4 d- ?$ l + \8 e! v# N' P- r0 S, x$ R ![]() 完成以后如下图显示 8 n* l% T% C0 s' a( w![]() 5 F" k+ I! x: ^$ w) L) Q 第二步:添加头文件, #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 g: Y# e5 B3 Z; n ![]() 至此,操作系统的移植完成。 需要注意的是原工程里面不能有SysTick,PendSV和SVC三个系统中断的使用,因为RTX系统要使用这三个中断。 |
åµå ¥å¼å®æ¶æä½ç³»ç»uCOS-II[éµè´è´].pdf
下载4.33 MB, 下载次数: 107
参与人数 1 | ST金币 +2 | 收起 理由 |
---|---|---|
|
+ 2 |
, `8 i, _6 W3 D
3 K& c& X3 O k m6 j
附件是例程" k1 j4 W: |- b9 q1 u
系统是CMSIS RTOS20 I, Z1 g2 a/ }' W: B
keil版本5.28
例程只是空模板
k1 ^! K3 p: }" X, e% V) g
Demo.rar
2020-3-12 13:13 上传
点击文件名下载附件
871.72 KB, 下载次数: 51
Thank you so much!
感谢分享,学习学习。。