发布时间 : 星期日 文章四川信息职业技术学院毕业设计说明书(论文) 设计(论文)更新完毕开始阅读
四川信息职业技术学院毕业设计说明书(论文)
图5.1 系统框图
第M页
四川信息职业技术学院毕业设计说明书(论文)
6 ICCAVR制作环境及介绍
本章介绍了ICCAVR的制作环境,ICCAVR 中的文件类型及其文件的扩展名、附注和扩充,并介绍了IAR 或其它ANSI C 编译系统的代码转换。
6.1 ICCAVR 介绍
本节主要介绍了ICCAVR文件的基本特点、类型、扩展名等。 6.1.1 ImageCraft 的ICCAVR 介绍
ImageCraft 的ICCAVR 是一种使用符合ANSI 标准的C 语言来开发微
控制器(MCU)程序的一个工具,它有以下几个主要特点:
ICCAVR 是一个综合了编辑器和工程管理器的集成工作环境(IDE),
其可在WINDOWS9X/NT 下工作。
源文件全部被组织到工程之中,文件的编辑和工程的构筑也在这个环境中完成。编译错误显示在状态窗口中,并且当你用鼠标单击编译错误时,光标会自动跳转到编辑窗口中引起错误的那一行。这个工程管理器还能直接产生您希望得到的可以直接使用的INTEL HEX 格式文件,INTEL HEX 格式文件可被大多数的编程器所支持,用于下载程序到芯片中去。
ICCAVR 是一个32 位的程序,支持长文件名。
本论文并不介绍通用的C 语言语法知识,仅介绍使用ICC AVR 所必须
具备的知识。
6.1.2 ICCAVR 中的文件类型及其扩展名 文件类型是由它们的扩展名决定的,IDE 和编译器可以使用以下几种类
型的文件。 输入文件:
第M页
四川信息职业技术学院毕业设计说明书(论文)
.c 扩展名----表示是C 语言源文件 .s 扩展名----表示是汇编语言源文件 .h 扩展名----表示是C 语言的头文件
.prj 扩展名----表示是工程文件,这个文件保存由IDE 所创建和修改的一
个工程的有 关信息。
.a 扩展名----库文件,它可以由几个库封装在一起。libcavr.a 是一个包含了标准C 的库和AVR 特殊程序调用的基本库。如果库被引用,链接器会将其链接到您的模块或文件中。您也可以创建或修改一个符合你需
要的库。 输出文件
.s 对应每个C 语言源文件,由编译器在编译时产生的汇编输出文件。 .o 由汇编文件汇编产生的目标文件,多个目标文件可以链接成一个可执
行文件。
.hex INTEL HEX 格式文件,其中包含了程序的机器代码。 .eep INTEL HEX 格式文件,包含了EEPROM 的初始化数据。 .cof COFF 格式输出文件,用于在ATMEL 的AvrStudio 环境下进行程
序调试。
.lst 列表文件,在这个文件中列举出了目标代码对应的最终地址。 .mp 内存映象文件 它包含了您程序中有关符号及其所占内存大小的信
息
.cmd NoICE 2.xx 调试命令文件。
第M页
四川信息职业技术学院毕业设计说明书(论文)
.noi NoICE 3.xx 调试命令文件。 .dbg ImageCraft 调试命令文件。
6.1.3 附注和扩充 #pragma (编译附注) 这个编译器接受以下附注:
#pragma interrupt_handler
据中断向量号vector number 生成中断向量地址。
#pragma ctask
这个附注指定了函数不生成挥发寄存器来保存和恢复代码,它的典型应
用是在RTOS实时操作系统中让RTOS 核直接管理寄存器。
#pragma text:
改变代码段名称,使其与命令行选项相适应。
#pragma data:
改变数据段名称,使其与命令行选项相适应。这个附注在分配全局变量
至EEPROM中时必须被使用。
#pragma abs_address:
函数与全局数据不使用浮动定位(重定位),而是从
开始分配绝对地址。这在访问中断向量和其它硬件项目时特别有用。
#pragma end_abs_address
结束绝对定位,使目标程序使用正常浮动定位。
第M页