2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > c语言 中英文文献 外文文献中英文翻译嵌入式.doc

c语言 中英文文献 外文文献中英文翻译嵌入式.doc

时间:2021-04-26 22:30:05

相关推荐

c语言 中英文文献 外文文献中英文翻译嵌入式.doc

毕业设计翻译文献

文献题目:Construction of Embedded System Platform which Based on μC/OS- and ARM7 Kernel Microprocessor

构建基于μC/ OS-和ARM7内核微处理器的嵌入式系统平台

学生姓名:

学 院: 信息与通信工程学院

专 业: 电子信息工程

指导教师: 万 忠 民

5 月 10 日

构建基于μC/ OS-和ARM7内核微处理器的嵌入式系统平台Yujun Bao Xiaoyan Jiang

摘 要

今天,嵌入式系统被广泛地应用于各行各业。引入嵌入式操作系统在嵌入式发展中已经是一种趋势。嵌入式操作系统能够适用于不同的系统硬件,并能够显著的减少开发费用,缩短研究周期。μC/ OS-是一款优秀的开源,轻型内核,占用少量资源并且在实时性方面有着高性能的嵌入式操作系统。μC/ OS-适用于越来越多的32位ARM7核微处理器,本文介绍了基于ARM7微处理器的μC/ OS-嵌入式操作系统的移植方法。最终实现了构建基于μC/ OS-和ARM7内核处理器的嵌入式开发平台。该平台能有效的简化软件程序开发流程,并缩短工程研究的周期和显著提高系统的执行效率。

关键字:嵌入式系统;嵌入式操作系统;ARM7内核;μC/ OS-

介绍

所谓的操作系统移植是一个实时操作系统内核可以在运行在其他微处理器上。移植部分对于不同的CPU具有对应的不同的代码。大多数μC / OS-代码是用C编程语言编写的,这对于移植μC / OS -是非常方便的。但根据不同的微处理器,用户仍然需要使用汇编语言编写一些有关不同微处理器的硬件的程序。这是因为当μC / OS-读或写寄存器时,它只依赖于汇编语言。

因为μC / OS -操作系统的要求,有三个文件需要当μC / OS-移植到一个特定的微处理器。整个移植工作主要围绕创建这三个文件。这些文件显示如下:

1、在C语言中的头文件OS_CPU中,一些与编译器无关的数据

类型需要定义OS_CPU中。

这些数据类型包括使用的堆栈数据类型和堆栈的增长方向。一些与ARM7内核相关的软件中断也被定义在该文件中。

2、另一个OS_CPU_C.C是一个 C源文件程序。该文件主要包括μC / OS-的任务堆栈的初始化函数和一些被μC / OS-操作系统调用的用户函数。

3、最后一个OS_CPU_A.S文件是一个汇编程序源文件。这是一个时钟中断服务函数在运行的时候,也包含了一个用于引起中断的任务切换函数,并且也具有总是运行最高优先级的任务当μC / OS-系统首次进入多任务环境时。

OS_CPU.H文件

A、定义与编译器有关的数据类型

因为不同的微处理器有不同的字长度,所以μC / OS-的移植包含一系列的数据类型的定义,这使移植能够实现。尤其是在C语言中使用的数据类型,例如短型、整型、长型等等,这些数据类型不能直接用于μC / OS-。因为这些数据类型与编译器类型有关,它们不能被移植。所以这些数据类型都定义为整型数据结构,在许多情况下,他们是可移植的。

中断是一种硬件机制,但在μC / OS -操作系统,一些重要的任务函数的实现应该取决于中断级的代码。所以,这种情况下,μC / OS-操作系统需要一条预处理器指令来模拟中断。它类似于一个硬件中断,所以它被称为软中断。大多数微处理器的内核可以提供这种类型的软中断指令。在ARM7内核,它是“SWI”。

为了使底层接口函数是独立的处理器状态并且底层任务函数不需要知道调用函数的准确的地址当任务被调用时。SWI指令应该用作底层接口。并且不同的函数能够通过不同的软件中断函数编号的方法进行区分。ADS1.2编译器总是使用“_swi”来声明一个不存在的函数。而一旦不存在的函数被调用时,一条SWI的指令应该插入调用函数并指定函数编号的位置。这里显示一些在μC / OS-Ⅱ中重要功能的软中断函数

_swi(0x00) void OS_TASK_SW(void);//在任务间切换功能

_swi(0x01) void _OSStartHighRdy(void);//首先运行最高优先级任务

_swi(0x02) void OS_ENTER_CRITICAL(void);//关中断

_swi(0x03) void OS_EXIT_CRITICAL(void);//开中断

_swi(0x80) void ChangeToSYSMode(void);//切换到系统模式

这些函数的具体代码在文件OS_CPU_C.C和OS_CPU_A.S中。根据μC / OS-的要求,所有在应用系统中的C文件必须包括文件INCLUD

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。