- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ICCAVR中文使用说明
ICCAVR中文使用说明(1)
ImageCraft ICCAVR 的中文使用说明
ICCAVR 介绍
1 ImageCraft 的ICCAVR 介绍
ImageCraft 的ICCAVR 是一种使用符合ANSI 标准的C 语言来开发微控制器MCU
程序的一个工具它有以下几个主要特点
ICCAVR 是一个综合了编辑器和工程管理器的集成工作环境IDE 其可在
WINDOWS9X/NT 下工作
源文件全部被组织到工程之中文件的编辑和工程的构筑也在这个环境中完成编译
错误显示在状态窗口中并且当你用鼠标单击编译错误时光标会自动跳转到编辑窗口中
引起错误的那一行这个工程管理器还能直接产生您希望得到的可以直接使用的INTEL
HEX 格式文件INTEL HEX 格式文件可被大多数的编程器所支持用于下载程序到芯片
中去
ICCAVR 是一个32 位的程序支持长文件名
出于篇幅考虑本说明书并不介绍通用的C 语言语法知识仅介绍使用ICC AVR 所
必须具备的知识因此要求读者在阅读本说明书之前应对C 语言有了一定程度的理解
2 ICCAVR 中的文件类型及其扩展名
文件类型是由它们的扩展名决定的IDE 和编译器可以使用以下几种类型的文件
输入文件
.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 调试命令文件
.noi NoICE 3.xx 调试命令文件
.dbg ImageCraft 调试命令文件
3 附注和扩充
#pragma 编译附注
这个编译器接受以下附注
#pragma interrupt_handler func1:vector number func2:vector ...
这个附注必须在函数之前定义它说明函数func1 func2 是中断操作函数所以编译
器在中断操作函数中生成中断返回指令reti 来代替普通返回指令ret 并且保存和恢复函
数
所使用的全部寄存器同样编译器根据中断向量号vector number 生成中断向量地址
#pragma ctask func1 func2...
这个附注指定了函数不生成挥发寄存器来保存和恢复代码它的典型应用是在RTOS
实时操作系统中让RTOS 核直接管理寄存器
#pragma text:name
改变代码段名称使其与命令行选项相适应
#pragma data:data
改变数据段名称使其与命令行选项相适应这个附注在分配全局变量至EEPROM
中时必须被使用读者可参考访问EEPROM 的例子
#pragma abs_address:address
函数与全局数据不使用浮动定位重定位而是从address开始分配绝对地址这
在访问中断向量和其它硬件项目时特别有用
#pragma end_abs_address
结束绝对定位使目标程序使用正常浮动定位
C++ 注释
如果你选择了编译扩充(Project-Options-Compiler) 你可以在你的源代码中使用
C ++
的 // 类型的注释
二进制常数
如果你选择了编译扩充(Project-Options-Compiler) 你可以使用0b1|0* 来指定二
进制常数例如0b10101 等于十进制数21
在线汇编
你可以使用asm(string)函数来指定在线汇编代码读者可参考在线汇编
4 代码转换
IAR 或其它ANSI C 编译系统的代码转换
IAR C 编译器作为应用于AVR 的第一个C 编译器
您可能关注的文档
最近下载
- 实验室管理体系基础知识--实验室管理体系的运行.pptx VIP
- 项目设备清单及预算.docx
- GB 50217-2018 电力工程电缆设计标准.docx
- 海鸥岛旅游策划与城市设计规划说明书.docx
- 海油工程2021-2023年度财务报表分析.docx
- 2023年高考政治新课标卷41题说题+课件-2024届高考政治一轮复习统编版.pptx VIP
- 七年级数学定理、概念、公式.pdf
- GB_T 21383-2008新划路面标线初始逆反射亮度及测试方法.pdf VIP
- 生猪屠宰兽医卫生检验人员理论考试题及答案.doc VIP
- 2025年度江苏辖区农村商业银行校园招聘笔试备考题库及答案解析.docx
文档评论(0)