1. 掌握在内核移植了ucos-ii 的处理器上创建任务的方法。
2. 了解ucos-ii内核的主要结构。
1. 运行c盘的实验十,在超级终端上观察两个任务的切换。
2. 创建第三个任务,在超级终端上打印第三个任务。
3. 任务1~3,每个控制“红”、“绿”、“蓝”一种颜色的显示,适当增加ostimedly()的时间,且优先级高的任务延时时间加长,以便看清三种颜色。
4. 引入一个全局变量 boolean ac_key,解决完整刷屏问题。
5. 创建任务4,#define rutrstat0 (*volatile unsigned *)0x50000010)
#define rdurxh0() volatile unsigned char *)0x50000024)
6. 当键盘有输入时在超级终端上显示相应的字符。
1. 了解ucos-ii的系统结构。
2. 了解arm920t处理器的结构。
2410s教学实验箱、arm920t的jtag**器、串口连接线、arm ewarm5.3集成开发环境 、超级终端通讯程序、**器驱动程序。
1. 以实验十为模板,将实验六 inc目录下的 和src目录下的拷到模板下的相应目录。
2. 包含以下头文件 #include “inc/
3. 改 文件中包含头文件的路径 。
include "
include "
4. 声明引用的变量 extern u32 lcdbufferii2[480][640];
5. 程序**如下:
copyright (c) 2004-2007 all rights reserved.
by threewter 2004.5.12
#说明: c main 函数,ucos-ii初始化等定义。
bugtodo list
修正。2004-5-12 创建。
#include"..ucos-ii/ interface */
#include ".ucos-ii/add/"
#include ".inc/"
#include ".inc/sys/"
#include ".src/gui/"
#include <>
#include <>
#include ".inc/"
#pragma import(__use_no_semihosting_swi) /ensure no functions that use semihosting
os_event *mboxsem;
任务定义。*os_stk sys_task_stack[stacksize]= system task刷新任务堆栈。
#define sys_task_prio1
void sys_task(void *id);*
os_stk task1_stack[stacksize]=;main_test_task堆栈。
void task1(void *idmain_test_task
#define task1_prio 12
os_stk task2_stack[stacksize]=;test_test_task堆栈。
void task2(void *idtest_test_task
#define task2_prio 15
os_stk task3_stack[stacksize]=;test_test_task堆栈。
void task3(void *idtest_test_task
#define task3_prio 17
os_stk task4_stack[stacksize]=;test_test_task堆栈。
void task4(void *idtest_test_task
#define task4_prio 9
已经定义的os任务。
#define sys_task_prio1
#define touch_screen_task_prio 9
#define main_task_prio 12
#define key_scan_task_prio 58
#define lcd_fresh_prio59
#define led_flash_prio60
事件定义。extern u32 lcdbufferii2[lcdheight][lcdwidth];
/void copylcddata(u8 *pbuf,boolean loc);
extern u16 *plcdbuffer16i2;
extern u16 *plcdbuffer16i1;
u32 jcolor;
boolean ac_key=1;
void uart_sendbyten(int,u8);
char uart_getchn(char* revdata, int uartnum, int timeout);
#define rutrstat0 (*volatile unsigned *)0x50000010)
#define rdurxh0()(volatile unsigned char *)0x50000024)
#define wrutxh0(ch) (volatile unsigned char *)0x50000020)=(unsigned char)(ch)
int main(void)
armtargetinitdo target (uhal based arm system) initialisation //
osinitneeded by uc/os-ii //
ostaskcreate(task1, (void *)0, (os_stk *)task1_stack[stacksize-1], task1_prio);
ostaskcreate(task2, (void *)0, (os_stk *)task2_stack[stacksize-1], task2_prio);
ostaskcreate(task3, (void *)0, (os_stk *)task3_stack[stacksize-1], task3_prio);
ostaskcreate(task4, (void *)0, (os_stk *)task4_stack[stacksize-1], task4_prio);
osaddtask_init(0);
bspprintf(0,"starting ucos-ii...n");
lcd_init
osstartstart the os //
return 0;
void task1(void *id)
int k,j;
for(;;
jcolor=0x000000ff;
bspprintf(0,"red");
if(ac_key)
ac_key=0;
ARM嵌入式实验开发系统
arm嵌入式实验开发系统el arm 830 产品描述。一 适用范围 el arm 830 型嵌入式实验开发系统适合高等院校 嵌入式系统原理开发与设计 课程的实验教学,可以移植linux uclinux vxworks psos qnx ucosii wince等嵌入式操作系统,适合嵌入式系统的实验...
嵌入式ARM实验系统820型
el arm 820实验系统。一 适用范围。该系统适合于高等院校嵌入式系统实验教学 嵌入式操作系统linux ucosii windows ce等实验教学开发 毕业设计及电子设计竞赛,也适合于工程技术人员做嵌入式系统开发。二 系统结构简介。armii教学实验系统属于一种综合的教学实验系统,该系统采用...
ARM嵌入式系统实验报告
郑州航空工业管理学院。20 13 20 14 第 2 学期。赵成,张克新 院系。姓名。专业。学号。电子通信工程系。2014年3月制。一 实验目的。了解arm9 s3c2410a嵌入式微处理器芯片的体系结构,熟悉arm微处理器的工作模式 指令状态 寄存器组及异常中断的概念,掌握arm指令系统,能在ad...