1 / 8
文档名称:

《嵌入式系统》课程设计.doc

格式:doc   大小:56KB   页数:8页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

《嵌入式系统》课程设计.doc

上传人:ttteee8 2022/6/25 文件大小:56 KB

下载得到文件列表

《嵌入式系统》课程设计.doc

相关文档

文档介绍

文档介绍:2011级课程设计说明书
S3C2410处理器的uc/OS - I I系统移植
分组号:__9
学生姓名: 张超
学 号: **********
学生姓名: 何开顺
学 号: **********
学生姓名: 郭浩 器可以产生 可重入代码,并且支持内嵌汇编,
C环境中可任意的进行开关中断操作。综上所述uC/OS II 完全可以移植到S3C2410上运行。
主体移植过程
4. 1设置与处理器及编译器相关的代码
不同的编译器会使用不同的字节长度来表示同一数据类型,所以要定义一系列数据类型 以确保移植的正确性。下面是uC/OS II定义的一部分数据类型。
typedef unsigned char BOOLEAN;
typedef unsigned char INT8U; /*无符号 8 位*/
typedef signed char INT16S; /*带符号 8位*/
typedef unsigned int INT16U; /*无符号 16位*/
typedef signed int INT16S; /*带符号 16位*/
typedef unsigned long INT32U; /*无符号 32 位数*/
typedef signed long INT32S; /*带符号 32 位数*/
typedef float FP32; /*单精度浮点数*/
typedef double FP64; /*双精度浮点数*/
typedef unsigned int OS_STK; /*堆栈入口宽度*/
typedef unsigned int OS_CPU_SR; /*寄存器宽度*/
uC/OS II需要先关中断再访问临界区的代码,并且在访问完后重新允许中断。uC/OS II 定义了两个宏来禁止和允许中断:OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL(),本移植实 现这两个宏的汇编代码。
^define OS_ENTER_CRITICAL()(cpu_sr=OSCPUSaveSR())/*Disable interrupts*/
#define OS_EXIT_CRITICAL()(OSCPURestoreSR(cpu_sr))/^Enable interrupts*/
EXPORT OSCPUSaveSR
OSCPUSaveSR
mrs rl, cpsr
mov rO, rl
orr rl, rl, #0xc0
msr cpsr_cxsf, rl
mov pc, Ir
EXPORT OSCPURestoreSR
OSCPURestoreSR
msr cpsr_cxsf, rO
mov pc, Ir

OSTaskStklnit()
OSTaskCreateHook()
OSTaskDelHook()
OSTaskSwHook()
OSTaskStatHook()
OSTimeTickHookO
实际需要修改的只有OSTaskStklnit ()函数,其他五个函数需要声明,但不一定有实际 内容。这五个函数都是用户定义的,。如果需要使用这些 函数,可以将文件O