论文研究-基于μCOS-Ⅱ的S3C2440模拟屏保 .pdf

所需积分/C币:9 2019-08-15 13:03:00 659KB .PDF
72
收藏 收藏
举报

基于μCOS-Ⅱ的S3C2440模拟屏保,颜伟,高婷,介绍了μCOS-Ⅱ操作系统的软件特点和S3C2440 ARM9处理器的硬件特点,并详细叙述了μCOS-Ⅱ移植到2440处理器的准备条件以及具体的移植过程��
取国科技论文在线 typedef signed long INT325 ∥定义有符号长整型 #define os stK growth 1 ∥/表示设置堆栈从上往下增长 几个重要的函数和汇编函数 在 OS CPU C.C文件中,需要编写10个C函数,以完成栘植吋仼务堆栈结构初始化 OSTaskstklnit(任务建立 OSTask create()、任务删除 OSTaskDelHook()、任务切换 OSTaskSwHook( 等功能 在os_CPU_AS中需要编写4个汇编函数,运行优先级最高的就绪任务 OSStartHighRdy()、 任务级的任务切换函数OS_ TASK SW()、中断级的任务切换函数 OSIntCtx Sw()、时钟节拍中断 OSTickISRO 程序中需要先开始多任务调度之后才能允许时钟节拍中断。完成了上述工作之后,uCOS- Ⅱ航可以运行在2440处理器上了 4μC0S-Ⅱ下的多任务屏保实现 本文的屏保实现是由μcoS-Ⅱ下的多任务调度实现的。屏保模拟的是计算机屏保的实现 方法,即在屏幕上随机的画出位置随机,半径随机,颜色随机的圆形,同时屏幕上显示当前 实时时间及μCOS-Ⅱ系统运行时间。μCOS-Ⅱ完成进行两个任务(屏幕画图和RTC实时计时) 的调度。程序的核心在于μCoS-Ⅱ的任务调度,由μCOS-Ⅱ创建,切换任务,使两个任务有 条不紊的运行,适时的相互切换,以实现系统需求的功能。 主要程序如下: OS STK Task1Stk [ Task1StkLengh]; ∥/定义任务1堆栈 OS STK Task2Stk [Task2StkLengh] ∥′定义任务2堆栈 void Main Task(void*pdata) // Main Task用来创建任务1和任务2 t OS_ENTER CRITICAL0: ∥宏控制系统关闭中断 Timerolnito //初始化μCos定时器0时钟节拍 ISRInit( //初始化中断服务子程序 OS EXIT CRITICA L() ∥/宏控制系统打开中断 OSStatInit(: OSTask Create(Task1, (void*)0, & Task1Stk[Task1StkLengh-1], Task1Prio); /创建任务1 OSTask Create(Task2, (void*)o, &Task2Stk[Task2StkLengh-1], Task2Prio): 3 取国科技论文在线 ∥/创建任务2 OSTime dly(200;/*将任务延时等待,在此期间,其他任务可以抢占CPU* 由 Main task创建任务1和任务2后,编与只体的任务执行代码,由任务1完成屏幕画圆 的功能。主要代码如下 void circle( int Xo, int yo, int r, int color) /在LCD屏幕上画一个圆 i unsigned char x, y; unsigned int xx, rr, xt, yt, rs; rr=r*r+1 yt*34 /8分之一圆弧 for(xt=0; xt<=rs; xt++) while(yt yt>(rr-xX) yt x=XO+xt: ∥/第一象限 y=yo-yt PutPixel(x, y, color) X=XO-xt //第二象限 y, color y=yo+yt ∥/第三象限 PutPixel(x,y, color); ∥第四象限 Put Pixel(x, y, color) x0+yt;/第·象限 y=yo-xt PutPixel(x, y, color) 取国科技论文在线 -yt;〃第象限 PutPixel(x,y, color) y=y0+xt;/第三象限 PutPixel(x, y, color); xO+yt;∥第四象限 PutPixel(x,y, color); void Task1 (void*pdata) /千务1 While(1) [r=l+(int)(400*randO/(RAND MAX+1.0)); ∥/半径为1~40的随机数 Xx-1+(int)(200.0*rand(/(RAND MAX+1.0 横坐标为1~200的随机数 yy=1+(int) (300.0*rand(/(RAND MAX+1.0)) /纵坐标为1~300的随机数 coor=RGB(0 XFFXrand(,0xFF*rand(),OxF*rand();/颜色为随机数 circle xx, yy,r, color); /按以上设定值随机画圆 OSTime dly (200) /*将任务延时等待,在此期间,其他任务可以抢占 CPU 仟务2主要完成RTC实时计时及时间显示。 void Task 2(voidpdata /任务2 signed int i n, k, y; int tmp, key: Rtc Init( ∥/RTC初始化 Lcd N35 Inito /CD初始化 hile(1) f(>99)ji=0; 山国武技论文在线 if(rBCDYEAR==0X99) rEar=1999 rEar (2000+ rBCDYEAR mOnth FROM BCD(rBCDMOn 0x1f D FROM BCD(rBCDDay & 0x03f) rDay OfWeek =rBCDDATE-1; hOur FROM BCD(rBCDhOUR &0x3f) mInute FRom BCD(rBCDMIN 0x7f sEcond FROM BCD(rBCDSEC &0x7f) OSTimeDly (5) Lcd_ printf(0, 5, RGB( OxFF, OXFF, OxFF), RGB( 0x00, 0x00, 0x00), 0, "94d-902d-%02d E 期%%2d:‰02d%02d颜伟\n", rEar, mOnth, rDay, rDayOfWeek, hour mInute, sEcond; //在LCD上显示口期,吋间,星期 Lcd_ printf(0,300,RGB(0xF,0XF0xF,RGB(0x000x00,0×00).0,"颜伟:uC/OS2任 务演小中:%02d",i) ∥/在LCD上显小μCOS-Ⅱ系统运行时问 OSTime Dly(2005};/*将任务延时等待,在此期间,其他任务可以抢占CPU*/ 程序实际运行效果图如下 晒星略孙 O 8 顺伟,cC务示中7 画身制 伟,但备务渔示中 取国科技论文在线 5结束语 uCoS-Ⅱ架作系统具有精巧、高效、免费的特点,结合高性能的S3C2440处理器,在2440 上由μCoS-Ⅱ内核进行任务调度,顺利地实现了多任务间的切换,通过模拟屏保的程序,全 面的体现了嵌入式硬件平台与操作系统软件协同工作的特性,展现了由μCOS-Ⅱ调度下的 ARM9提高了L作效率,减少了多任务实现的复度的特点 参考文献 [1]丁峰徐靖鲁亠.ARM系统开发从实碳到提高.中国电力出版社[M].2007 [2]仟哲.嵌入式实时操作系统μC/0S-Ⅱ原理及应用.北京航空航天大学出版社[M].2006 [3]石莹,康栋梁,付华科.μC/0s-Ⅱ与TMS320F2812栘植详解.科技论文在线.2009.11 [4]王田苗.嵌入式系统设计与实例开发[M].清华人学出版社.2005.5 作者简介:颜伟,男,年生,硕士研究生,主要研究方向为嵌入式系统设计。

...展开详情
试读 7P 论文研究-基于μCOS-Ⅱ的S3C2440模拟屏保 .pdf
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 至尊王者

关注 私信
上传资源赚钱or赚积分
最新推荐
论文研究-基于μCOS-Ⅱ的S3C2440模拟屏保 .pdf 9积分/C币 立即下载
1/7
论文研究-基于μCOS-Ⅱ的S3C2440模拟屏保 .pdf第1页
论文研究-基于μCOS-Ⅱ的S3C2440模拟屏保 .pdf第2页

试读结束, 可继续读1页

9积分/C币 立即下载