- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北航ARM9嵌入式实验报告
PAGE 6
5
实验三 基于实时操作系统mC/OS-II实验
实验目的
掌握在内核移植了uCOS-II 的处理器上创建任务的方法。
了解uCOS-II内核的主要结构。
实验内容
运行C盘的实验十,在超级终端上观察两个任务的切换。
创建第三个任务,在超级终端上打印第三个任务。
任务1~3,每个控制“红”、“绿”、“蓝”一种颜色的显示,适当增加OSTimeDly()的时间,且优先级高的任务延时时间加长,以便看清三种颜色。
引入一个全局变量 BOOLEAN ac_key,解决完整刷屏问题。
创建任务4,#define rUTRSTAT0 (*(volatile unsigned *)0x)#define RdURXH0() (*(volatile unsigned char *)0x)
当键盘有输入时在超级终端上显示相应的字符。
预备知识
1. 了解uCOS-II的系统结构。
2. 了解ARM920T处理器的结构。
实验设备
硬件:模拟电压信号源、2410s教学实验箱、PC机Pentium100以上、ARM920T的JTAG仿真器、串口连接线。
软件:PC机操作系统WinXP 、ARM ADS1.2集成开发环境、超级终端通讯程序、仿真器驱动程序。
实验步骤
1 以实验十为模板,将实验六 inc目录下的LCD320.H 和src目录下的LCD640.C拷到 模板下的相应目录。
包含以下头文件 #include “inc/lcd320.h”。
改LCD640.C 文件中包含头文件的路径 。
#include lcd320.h ”
#include reg2410.h”
4 声明引用的变量 extern U32 LCDBufferII2[480][640];
5 程序代码如下:
/***************************************************************************\
Copyright (c) 2004-2007 threewater@, All rights reserved.
by threewter 2004.5.12
\***************************************************************************/
/***************************************************************************\
#说明: C main 函数,ucos-ii初始化等定义
Bug
TODO list
修正
2004-5-12 创建
\***************************************************************************/
#include../ucos-ii/includes.h /* uC/OS interface */
#include ../ucos-ii/add/osaddition.h
#include ../inc/drivers.h
#include ../inc/sys/lib.h
#include ../src/gui/gui.h
#include ../inc/lcd320.h
#include string.h
#include stdio.h
//#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting
OS_EVENT *MboxSem;
extern U32 LCDBufferII2[480][640];
///******************任务定义***************///
/*OS_STK SYS_Task_Stack[STACKSIZE]= {0, }; //system task刷新任务堆栈
#define SYS_Task_Prio 1
void SYS_Task(void *Id);*/
OS_STK task1_Stack[STACKSIZE]={0, }; //Main_Test_Task堆栈
void Task1(void *Id); //Main_Test_Task
#define Task1_Prio 12 //任务优先级
OS_ST
文档评论(0)