资料介绍
中科大嵌入式课件2嵌入式系统开发环境和工具
段勃 duanbo@ustc.edu.cn
1
嵌入式软件开发
源代码的编辑环境 源代码的编译过程 目标代码的链接过程 目标代码的运行环境 目标代码的调试过程
2
嵌入式系统工具链
GNU C,binutils EPSON Gnu33
Xgcc基于gcc 2.95.2 as,ld基于binutil 2.10.1 gdb 基于insight v5.1.1
Gcc cpp, g++,gcc, libgcc, 工 具 Libstdc++,… …
二 进 制 工 具
ar,as,ld,nm, objcopy,objdump, ranlib,strip,……
3
EPSON工具链
xgcc as ld gdb ar 调用cpp和cc1来对C源文件进行处理,生成汇编文件,再调用 as来将汇编文件生成目标文件 将汇编文件生成目标文件(汇编文件使用的是指令助计符,as 将之翻译成机器码) 链接器,为前面生成的目标代码分配地址空间,将多个目标文 件链接成一个库或者是可执行文件 调试工具 用于库操作,可以通过这个工具从一个库中删除或者增加目标 代码模块
在linux下的工具,名称为c33-epson-elf-*** 在windows下,集成开发环境为GWB33
4
软件开发流程
5
Make
Make不属于GNU工具链的一部分,但是编 译程序必不可少的工具 检查源代码和目标文件,确定需要编译的 文件以及编译规则 Makefile文件描述了目标文件和源文件之 间的依赖关系,以及编译规则
6
Makefile
宏定义以及其使用 依赖关系的描述 注意:
命令行需用Tab键缩进 $@ 所有目标文件 $^ 所有依赖文件 $< 第一个依赖文件
Makefile Example
7