中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)GNU(交又)开发工具链简介 GNU Tools

嵌入式操作系统 2GNU(交又)开发工具链简介 陈香兰(xlanchenc@ustc.edu.cn) 计算机应用教研室。计算机学院 嵌入式系统实验室●苏州研究院 中国科学技术大学 Fa112014 November 28,2014 1口40.1是42在刀00 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作系统 ovenber28,20141/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 嵌入式操作系统 2 GNU(交叉)开发工具链简介 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室@计算机学院 嵌入式系统实验室@苏州研究院 中国科学技术大学 Fall 2014 November 28, 2014 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 1 / 111

Outline 前言 ●交叉开发 GNU Too1s简介 ●GCC ●GNU binuti1s 。Gdb-调试器 ●GNU make一一软件工程工具 。GNU1d一一链接器 GNU too1s交叉开发环境的安装和试用 ●GNU tools交又开发环境的安装 ●使用安装好的交叉编译器编译he11o ●使用安装好的交叉编译器编译1inux ●编译uC1inux 小结和作业 1口41是42在刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作香统 ovenber28,20143/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline 1. 前言 交叉开发 .2 GNU Tools简介 GCC GNU binutils Gdb—调试器 GNU make——软件工程工具 GNU ld——链接器 .3 GNU tools 交叉开发环境的安装和试用 GNU tools 交叉开发环境的安装 使用安装好的交叉编译器编译hello 使用安装好的交叉编译器编译linux 编译µClinux 4. 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 3 / 111

交叉开发 。本地开发vs交叉平台开发 ①本地开发: 一般软件的开发属于本地开发,即 开发软件的系统与运行软件的系统是相同的· ®交叉平台开发: 本课程所涉及到的嵌入式系统开发属于交叉平台开发,即 开发软件的系统与运行软件的系统不同。 ●交叉开发平台 主机: 开发软件的平台,称为主机,往往是通用电脑: 目标机: 运行软件的平台·称为目标机,在这里是嵌入式系统。 1口401是42在刀00 陈香兰(xlanchenoustc,edu,cn)(计界机应 瓷人式操作委蛇 ovenber28,20146/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 交叉开发 本地开发 vs 交叉平台开发 1. 本地开发: 一般软件的开发属于本地开发,即 开发软件的系统与运行软件的系统是相同的。 2. 交叉平台开发: 本课程所涉及到的嵌入式系统开发属于交叉平台开发,即 开发软件的系统与运行软件的系统不同。 交叉开发平台 ▶ 主机: 开发软件的平台,称为主机,往往是通用电脑; ▶ 目标机: 运行软件的平台,称为目标机,在这里是嵌入式系统。 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 6 / 111

嵌入式交叉开发工具 。掌握嵌入式开发工具的使用是进行嵌入式开发的前提条件之一 ·与主流开发工具类似,嵌入式交叉开发工具也包括 编译器 即能够把一个源程序编译生成一个可执行程序的软件 调试工具 即能够对执行程序进行源码或汇编级调试的软件 软件工程工具 用于协助多人开发或大型软件项目的管理的软件 4口4四是4P在刀00 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作香统 ovenber28,20147/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 嵌入式交叉开发工具 掌握嵌入式开发工具的使用是进行嵌入式开发的前提条件之一 与主流开发工具类似,嵌入式交叉开发工具也包括 ▶ 编译器 即能够把一个源程序编译生成一个可执行程序的软件 ▶ 调试工具 即能够对执行程序进行源码或汇编级调试的软件 ▶ 软件工程工具 用于协助多人开发或大型软件项目的管理的软件 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 7 / 111

GNU tools 。GNU too1s和其他一些优秀的开源软件可以完全覆盖上述 软件开发工具。 。为了更好的开发嵌入式系统,需要熟悉如下一些软件 ·GCC一一GNU编译器集 Binuti1s一一辅助GCC的主要软件 ·Gdb一一调试器 ,make一一软件工程工具 diff,patch一一补丁工具 ·CVS一一版本控制系统 1口4四1是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作香统 ovenber28,20148/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GNU tools GNU tools和其他一些优秀的开源软件可以完全覆盖上述 软件开发工具。 为了更好的开发嵌入式系统,需要熟悉如下一些软件 ▶ GCC——GNU编译器集 ▶ Binutils——辅助GCC的主要软件 ▶ Gdb——调试器 ▶ make——软件工程工具 ▶ diff, patch——补丁工具 ▶ CVS——版本控制系统 ▶ . . . 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 8 / 111

Outline 前言 GNU Too1s简介 。GCC o GNU binutils ·Gdb-调试器 ●GNU make一一软件工程工具 ●GNW1d一一链接器 GN而to01s交义开发环的安装和成用 小结和作业 4口4四1是14P刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式择作系统 ovenber28,20149/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 前言 .2 GNU Tools简介 GCC GNU binutils Gdb—调试器 GNU make——软件工程工具 GNU ld——链接器 .3 GNU tools 交叉开发环境的安装和试用 4. 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 9 / 111

Outline 。交又开发 GNU Too1s简介 ●GCC o GNU binutils 。Gd山一调试器 。GNU make一软件工程工具 。GNT1d一链接器 。GN阳too1s交义开发环境的安装和武用 。GNU too1s交叉开发环境的安装 。使用安装好的交叉编译器编译he11o 。使用安装好的交又编译器编译1i 。编译C1inux @小结和作业 4口4四是4P,在刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式择作系统 oveaber28,201410/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. 前言 交叉开发 .2 GNU Tools简介 GCC GNU binutils Gdb—调试器 GNU make——软件工程工具 GNU ld——链接器 .3 GNU tools 交叉开发环境的安装和试用 GNU tools 交叉开发环境的安装 使用安装好的交叉编译器编译hello 使用安装好的交叉编译器编译linux 编译µClinux 4. 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 10 / 111

GCC--The GNU Compiler Collection ·不仅仅是C语言编译器 。目前,GCC可以支持多种高级语言,如 C、C++ ADA Ob,jective-C Ob,jective-C++ JAVA Fortran PASCAL 1口4四是42刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作香统 Novesber28,201411/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GCC——The GNU Compiler Collection 不仅仅是C语言编译器 目前,GCC可以支持多种高级语言,如 ▶ C、C++ ▶ ADA ▶ Objective-C、Objective-C++ ▶ JAVA ▶ Fortran ▶ PASCAL 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 11 / 111

GCC下的工具 。GCC下的工具包括 ·Cpp一预处理器 GNUC编译器在编译前自动使用cpp对用户程序进行预处理 ~gcc一符合IS0等标准的C编译器 ·g+一基本符合IS0标准的C++编译器 ~gcj一GCC的java前端 ·gnat一GCC的GNU ADA95前端 。等等 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作香统 Novesber28,201412/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GCC下的工具 GCC下的工具包括 ▶ cpp — 预处理器 GNU C编译器在编译前自动使用cpp对用户程序进行预处理 ▶ gcc — 符合ISO等标准的C编译器 ▶ g++ — 基本符合ISO标准的C++编译器 ▶ gcj — GCC的java前端 ▶ gnat — GCC的GNU ADA 95前端 ▶ 等等 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 12 / 111

GNU Tools-gcc ●gCC 是一个强大的工具集合,它包含了预处理器、编译器、 汇编器、链接器等组件。它会在需要的时候调用其他组件。 输入文件的类型和传递给gcc的参数决定了gCC调用具体的 哪些组件。 ·对于开发者,它提供的足够多的参数,可以让开发者全面 控制代码的生成,这对嵌入式系统级的软件开发非常重要 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作香统 Novesber28,201413/111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GNU Tools—gcc gcc 是一个强大的工具集合,它包含了预处理器、编译器、 汇编器、链接器等组件。它会在需要的时候调用其他组件。 输入文件的类型和传递给gcc的参数决定了gcc调用具体的 哪些组件。 对于开发者,它提供的足够多的参数,可以让开发者全面 控制代码的生成,这对嵌入式系统级的软件开发非常重要 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 28, 2014 13 / 111
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)嵌入式系统及嵌入式软件开发概述.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)课程介绍(主讲:陈香兰).pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)进程的同步和通信.ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)Linux中的信号机制.ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)管理I/O设备.ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)文件系统.ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)程序的执行.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)Linux中的进程地址空间.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)Linux中的时钟和定时测量.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)内存管理.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)Linux进程管理(3/3).ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)系统调用.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)中断和异常.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)Linux进程管理(2/3).ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)Linux进程管理(1/3).ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(PPT课件讲稿)内存寻址.ppt
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)制作简单的Linux系统.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)基于x86的Linux启动代码分析.pdf
- 中国科学技术大学:《Linux操作系统分析》课程教学资源(课件讲义)GNU开发工具链简介 GNU Tools(主讲:陈香兰).pdf
- 中国科学技术大学:《操作系统原理与设计 Operating System》课程教学资源(PPT课件讲稿)13 IO管理 IO systems.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)嵌入式操作系统和选型.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)ArmLinux的启动(基于arm的Linux启动代码分析).pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)skyeye简介.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)bootloader简介和bootloader举例(u-boot和RedBoot).pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)Building Embedded Linux System.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)Ubuntu中的系统初始化.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)uC/OS-II简单分析.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)进程管理.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)Linux的时钟和定时测量 clock and timer.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)系统调用 syscall arm.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)内存管理 memory.pdf
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(课件讲义)Linux中的进程地址空间(arm).pdf
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第二讲 操作系统的安全机制 SecureMechanism.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第三讲 安全需求与安全策略 Requirement & Policy.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第一讲 绪论(主讲:陈香兰).ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第四讲 操作系统安全体系结构 OSSecurityArch.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第五讲 渗透测试技术 Penetration testing.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第六讲 主流操作系统中的安全技术——Linux GOS Linux Security.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第七讲 安全操作系统的设计与实现 Design Implementation.ppt
- 中国科学技术大学:《安全操作系统》课程教学资源(PPT课件讲稿)第八讲 主流操作系统中的安全技术——Windows GOS Windows Security.ppt