当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]前言uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多

前言

uC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能,uC/OS II最大程度上使用ANSI C语言进行开发,并且已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。 uC/OS II可以简单的视为一个多任务调度器,在这个任务调度器之上完善并添加了和多任务操作系统相关的系统服务,如信号量、邮箱等。其主要特点有公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理60个任务。从1992年开始,由于高度可靠性、移植性和安全性,uC/OS II已经广泛使用在从照相机到航空电子产品的各种应用中。

想学习操作系统的同学的可以好好分析这个系统的代码

ucos下载编译

 

$sudo apt-get install git git-core

$git clone https://github.com/Pillar1989/ucos-ii-for-pcDuino

$cd arduino

$make

$cd ..

$make

ucos-ii测试

编写测试程序:

1 /*

2 *************************************************************************************************** ******

3 * sample.c

4 *

5 * Description: This sample program uses the ucos linux port to start 5 simple tasks.

6 *

7 * Author: Philip Mitchell

8 *

9 *************************************************************************************************** ******

10 */

11

12 #include

13 #include

14 #include “ucos_ii.h”

15 #include

16 #include

17

18 int led_pin = 1;

19 int btn_pin = 5;

20

21 void hardware_init()

22 {

23 pinMode(led_pin, OUTPUT);

24 }

25 /* Function common to all tasks */

26

27 void MyTask( void *p_arg )

28 {

29

30 char* sTaskName = (char*)p_arg;

31 static flag1 = 1;

32 #if OS_CRITICAL_METHOD == 3

33 OS_CPU_SR cpu_sr = 0;

34 #endif

35

36 while(1)

37 {

38 /* printf uses mutex to get terminal access, therefore must enter critical section */

39 OS_ENTER_CRITICAL();

40 printf( “Name: %sn”, sTaskName );

41 if(!strcmp(sTaskName,”Task 1″))

42 {

43 if(flag1 == 1)

44 {

45 flag1 = 0;

46 printf(“HIGHn”);

47 digitalWrite(led_pin, HIGH);

48 }

49 else

50 {

51 flag1 = 1;

52 printf(“LOWn”);

53 digitalWrite(led_pin, LOW);

54 }

55 }

56 OS_EXIT_CRITICAL();

57

58 /* Delay so other tasks may execute. */

59 OSTimeDly(50);

60 }/* while */

61

62 }

63

64

65 int main (void)

66 {

67 /* pthreads allocates its own memory for task stacks. This UCOS linux port needs a minimum stack size

68 in order to pass the function information within the port. */

69 hardware_init();

70 INT8U Stk1[ OSMinStkSize() ];

71 INT8U Stk2[ OSMinStkSize() ];

72 INT8U Stk3[ OSMinStkSize() ];

73 INT8U Stk4[ OSMinStkSize() ];

74 INT8U Stk5[ OSMinStkSize() ];

75

76 char sTask1[] = “Task 1″;

77 char sTask2[] = “Task 2″;

78 char sTask3[] = “Task 3″;

79 char sTask4[] = “Task 4″;

80 // char sTask5[] = “Task 5″;

81

82 OSInit();

83

84 OSTaskCreate( MyTask, sTask1, (void*)Stk1, 4 );

85 // OSTaskCreate( MyTask, sTask2, (void*)Stk2, 5 );

86 // OSTaskCreate( MyTask, sTask3, (void*)Stk3, 6 );

87 // OSTaskCreate( MyTask, sTask4, (void*)Stk4, 7 );

88 // OSTaskCreate( MyTask, sTask5, (void*)Stk5, 8 );

89

90 OSStart();

91

92 return 0;

93 }

94

连接一个led灯到1脚,执行刚刚编译出来的程序

ubuntu@ubuntu:~/ucos-ii-for-pcDuino$ ./ucos_sample

1Name: Task 1

HIGH

Name: Task 1

LOW

Name: Task 1

HIGH

Name: Task 1

LOW

Name: Task 1

板子上接到1 pin的led会不断的闪烁

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭