嵌入式系统体系结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

嵌入式Linux 的软件开发环境

编译原理

Linux 环境下的GCC 及ARM交叉编译器的概念和使用

调试技术

内核编译、裁减以及Linux 的移植

什么是编译程序

从功能上看,一个编译程序就是一个语言翻译程序,它把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价的程序.

功能

术语

编译程序的源语言

(源程序)

编译程序的目标语言(目标程序)

编译程序的实现语言S O

I

高级语言

书写的程序

编译程序低级语言程序

S T

I

什么是编译程序

分类

软件

系统软件

语言处理系统操作系统编译系统

裸机

分类

软件:计算机系统中的程序及其文档 系统软件:居于计算

机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。他和具体的应用领域无关,如编译系统和操作系统等。 语言处理系统:把软

件语言书写的各种程序处理成可在计算机

上执行的程序。 软件语言:用于书写软件的语言。它主要包括需求定义语言,功能性语言,设计性语言,程序设计语言以及文档语言。

预处理器 编译器

汇编器 装配连接编辑

骨架程序

源程序 目标汇编程序

可重定位机器代码 绝对机器码

可重定位目标文件库

语言处理过程

语言转(变)换系统

C++ C

C++编译器

Java Bytecode

Java编译器

术语

编译程序(compiler)

编译程序的源语言(源程序) (source language)(source program)

编译程序的目标语言(目标程序) (object or target language)(object or target program) 编译程序的实现语言(implementation language)

语言处理程序(language processor)

语言转(变)换(language transformation)

编译过程和编译程序的结构

编译逻辑过程

★词法分析

★语法分析

★语义分析

★中间代码生成

★代码优化

★目标代码生成

词法分析

从左至右读字符流的源程序、识别(拼)单词例:

position := initial + rate * 60;

词法分析

position := initial + rate * 60;

单词类型单词值

标识符1(id1) position

算符(赋值) :=

标识符2(id2) initial

算符(加) +

标识符3(id3) rate

算符(乘) *

整数 60

分号;

又如一个C源程序片断: int a;

a = a + 2;

词法分析后可能返回:

单词类型单词值

保留字 int

标识符(变量名) a

界符 ;

标识符(变量名) a

算符(赋值) =

标识符(变量名) a

算符(加) +

整数 2

界符;

语法分析

功能:层次分析.依据源程序的语法规则把源程序的单词序列组成语法短语(表示成语法树).

position := initial + rate * 60 ;

规则

<赋值语句>::=<标识符>“:=”<表达式>

<表达式>::=<表达式>“+”<表达式>

<表达式>::=<表达式>“*”<表达式>

<表达式>::=“(”<表达式>“)”

<表达式>::=<标识符>

<表达式>::=<整数>

<表达式>::=<实数>

赋值语句 标识符

表达式

表达式 + 表达式

表达式

标识符 整数

标识符

:=

表达式

*

id1:=id2+id3*N

:=

+

N 60

*

id1

Position

id2 initial

id3 rate

语义分析

语义审查(静态语义)

上下文相关性

类型匹配

类型转换

例: Program p();

Var rate:real;

procedure initial;

position := initial + rate * 60

/* error */ /* error */ /* warning */;

又如:

int arr [2],abc;

abc = arr * 10;

Program p();

Var rate:real;

Var initial :real;

Var position :real ;

position := initial + rate * 60

相关文档
最新文档