北航ARM9实验报告:实验3uCOS-II实验

北航ARM9实验报告:实验3uCOS-II实验

ID:39978111

大小:23.92 KB

页数:6页

时间:2019-07-16

北航ARM9实验报告:实验3uCOS-II实验_第1页
北航ARM9实验报告:实验3uCOS-II实验_第2页
北航ARM9实验报告:实验3uCOS-II实验_第3页
北航ARM9实验报告:实验3uCOS-II实验_第4页
北航ARM9实验报告:实验3uCOS-II实验_第5页
资源描述:

《北航ARM9实验报告:实验3uCOS-II实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、北京航空航天大学ARM9实验报告实验三UC-OS移植实验一、实验目的在内核移植了uCOS-II的处理器上创建任务。二、实验内容1.运行实验十,在超级终端上观察四个任务的切换。2.任务1~3,每个控制“红”、“绿”、“蓝”一种颜色的显示,适当增加OSTimeDly()的时间,且优先级高的任务延时时间加长,以便看清三种颜色。3.引入一个全局变量BOOLEANac_key,解决完整刷屏问题。4.#definerUTRSTAT0(*(volatileunsigned*)0x50000010)#defineRdURXH0()(*(volatileunsi

2、gnedchar*)0x50000024)当键盘有输入时在超级终端上显示相应的字符。三、实验设备硬件:ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上。软件:PC机操作系统Win2000或WinXP、ARMADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。四、实验原理所谓移植,指的是一个操作系统可以在某个微处理器或者微控制器上运行。虽然uCOS-II的大部分源代码是用C语言写成的,仍需要用C语言和汇编语言完成一些与处理器相关的代码。比如:uCOS-II在读写处理器、寄存器时只能通过汇编语言来实现

3、。因为uCOS-II在设计的时候就己经充分考虑了可移植性,所以,uCOS-II的移植还是比较容易的。要使uCOS一工工可以正常工作,处理器必须满足以下要求:1)处理器的C编译器能产生可重入代码。2)在程序中可以打开或者关闭中断。3)处理器支持中断,并A能产生定时中断(通常在10Hz}1000Hz之间)。4)处理器支持能够容纳一定量数据的硬件堆栈。5)处理器有将堆栈指针和其它CPU寄存器存储和读出到堆栈(或者内存)的指6北京航空航天大学ARM9实验报告令。uCOS-II进行任务调度的时候,会把当前任务的CPU寄存器存放到此任务的堆栈中,然后,再从

4、另一个任务的堆栈中恢复原来的工作寄存器,继续运行另一个任务。所以,寄存器的入栈和出栈是uCOS一工工多任务调度的基础。五、实验步骤1以实验十为模板,将实验六inc目录下的LCD320.H和src目录下的LCD640.C拷到模板下的相应目录,将LCD640.C加入工程中。2包含以下头文件#include“inc/lcd320.h”。3改LCD640.C文件中包含头文件的路径。#include"../inc/drv/reg2410.h"4声明引用的变量externU32LCDBufferII2[LCDHEIGHT][LCDWIDTH];六、源程序#

5、include"../ucos-ii/includes.h"/*uC/OSinterface*/#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#include//#include"..inc/lcd320.h"//#pragmaimport(__use_no_s

6、emihosting_swi)//ensurenofunctionsthatusesemihostingOS_EVENT*MboxSem;///******************任务定义***************////*OS_STKSYS_Task_Stack[STACKSIZE]={0,};//systemtask刷新任务堆栈#defineSYS_Task_Prio1voidSYS_Task(void*Id);*/OS_STKtask1_Stack[STACKSIZE]={0,};//Main_Test_Task堆栈voidTask1

7、(void*Id);//Main_Test_Task#defineTask1_Prio12OS_STKtask2_Stack[STACKSIZE]={0,};//test_Test_Task堆栈6北京航空航天大学ARM9实验报告voidTask2(void*Id);//test_Test_Task#defineTask2_Prio15OS_STKtask3_Stack[STACKSIZE]={0,};//test_Test_Task堆栈voidTask3(void*Id);//test_Test_Task#defineTask3_Prio17O

8、S_STKtask4_Stack[STACKSIZE]={0,};//test_Test_Task堆栈voidTask4(void*Id);//tes

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。