四川信息职业技术学院毕业设计说明书(论文) 设计(论文)

发布时间 : 星期日 文章四川信息职业技术学院毕业设计说明书(论文) 设计(论文)更新完毕开始阅读

四川信息职业技术学院毕业设计说明书(论文)

图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 : : ... 这个附注必须在函数之前定义,它说明函数func1、func2 是中断操作函数,所以编译器在中断操作函数中生成中断返回指令reti 来代替普通返回指令ret ,并且保存和恢复函数所使用的全部寄存器;同样编译器根

据中断向量号vector number 生成中断向量地址。

#pragma ctask ...

这个附注指定了函数不生成挥发寄存器来保存和恢复代码,它的典型应

用是在RTOS实时操作系统中让RTOS 核直接管理寄存器。

#pragma text:

改变代码段名称,使其与命令行选项相适应。

#pragma data:

改变数据段名称,使其与命令行选项相适应。这个附注在分配全局变量

至EEPROM中时必须被使用。

#pragma abs_address:

函数与全局数据不使用浮动定位(重定位),而是从

开始分配

绝对地址。这在访问中断向量和其它硬件项目时特别有用。

#pragma end_abs_address

结束绝对定位,使目标程序使用正常浮动定位。

第M页

联系合同范文客服:xxxxx#qq.com(#替换为@)