大连理工大学
课程名称:嵌入式系统实验
学院(系):电子信息与电气工程学部
专 业: 自动化
班 级:0804
学 号:200881197
学生姓名:卫韬
2011 年 11 月 18日
大连理工大学实验报告
学BEcelira! dat:n. cead ^JiHVdaxH-RdJURJ-KL i:[貞
ZAIXIxn TWJI;
七、实验心得
该实验展示了ARM的串行口通讯过程及控制方式,使我基本掌握了ARM的串行口工作原 理、编程实现ARM的UART通讯及CPU利用串口通讯的方法,对之前所学知识有了明确的理解和认 识,能够在正确操作下准确做出实验现象,并在实验箱上显示出实验结果,使我收获很 多。
大连理工大学实验报告
学院(系):
电信
专业: 自动化
班级:0804
姓 名:
何韬
学号:200881197
组:
实验时间:
2011-11-12
实验室:d108
实验台:
指导教师签字: 成绩:
实验九uC/OS-H在ARM平台的移植
一、 实验目的和要求
见预习报告
二、 实验原理和内容
见预习报告
三、 主要仪器设备
硬件:ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机PentiumlOO以上、串口线。 软件:PC机操作系统win98、Win2000或WinXP、ARM SDT 、仿真器 驱动程序、超级终端通讯程序。
四、 实验步骤
见预习报告
五、 核心代码
所涉及到的函数:
汇编函数
OSStartHighRdy()
OSCtxSw()
OSIntCtxSw()
OSTickISR()
C 语言函数
void *OSTaskStkInit (void (*task)(void *pd),void *pdata, void *ptos, INT16U opt)
void OSTaskCreateHook (OS_TCB *ptcb)
void OSTaskDelHook (OS_TCB *ptcb)
void OSTaskSwHook (void)
void OSTaskStatHook (void)
void OSTimeTickHook (void)
后 5 个函数为接口函数,可以不加代码
cut/OS-II 的启动:
void main (void)
{
OSInit(); // 初始化uC/OS-II
通过调用OSTaskCrea te()或OSTaskCrea teEx t()创建至少一个任务;
OSStart(); //开始多任务调度,永不返回
}
基于uC/OS的应用开发:
void YourTask (void *pdata)
{
/* 用户代码 */
OSTaskDel(OS_PRIO_SELF);
}
main函数,ucos-ii初始化等定义:
/* uC/OS interface */
#include"../ucos-ii/"
#include "../ucos-ii/add/"
#include "../inc/"
#include "../inc/sys/"
#include "../src/gui/"
#include <>
#include <>
#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting /*OS_STK SYS_Task_S tack[STACKSIZE]= {0, }; //sys tem t ask刷新任务堆栈 #define SYS_Task_Prio
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_STK task2_StacK[STACKSIZE]二{0, }; //test_Test_Task堆 栈
void Task2(void *Id); //test_Test_Task
#define Task2_Prio 15
#define SYS_Task_Prio
1
#define Touch_Screen_Task_Prio 9
#defi
嵌入式系统实验报告 来自淘豆网m.daumloan.com转载请标明出处.