ICCAVR是一款编程人员都在使用的avr单片机编程软件。一款专业强大的avr单片机编程软件ICCAVR。友好,强大,集成的开发环境和经过编译的AVR微控制器编程软件,新版本与JumpStart API功能模块兼容,此功能可以完美解决入门超过8位的Cortex-M编程的困难微控制器Complex,与mbed或Arduino软件堆栈不同,其底层硬件功能不会被隐藏,因此可以获得所有硬件功能。大多数繁琐的底层设置和I / O寄存器初始化都是在API库代码中完成的,因此用户可以在数分钟内启动并运行;用于Cortex的JumpStart嵌入式工具具有无与伦比的程序支持,专业功能和易用性,嵌入式工具是满足用户编程开发需求的最佳选择;功能强大实用用户可以下载体验。
使用说明:
寄存器或内存参考。
-更改了FP Divide例程,使其使用软件堆栈而不是硬件堆栈。
-在项目中输入超过260个字符->选项->路径编辑框中
导致非法的内存引用编译器
-7.03C可能会生成断言
对于某些开关结构,.. \ avr.c(13213)处的Swtabs_index> = 0。固定。
-在某些情况下,编译器声明
-7.03中引入的实时分析未考虑(跳转表)切换情况和sbrc / sbrs指令。这些导致
编译器有时会发出错误消息“已使用变量X,但没有初始值”警告。
-“ #Pragma global_register”在7.03中被破坏,导致编译器崩溃。
-STD用户(在M128 / M256等下),如果文本区域溢出到高64K字节,则可能导致链接器分配错误
最多64K字节的文本区域的奇数字节地址将导致执行失败。
-将“ unsigned char”变量除以2、4和8可能会生成错误的代码(7.0中的代码清除中的拼写错误
3)
-将math.h函数重命名为f后缀,例如pow到powf,sin到sinf。这应该是透明的,因为math.h头文件映射了旧名称。
-文件->“压缩文件文件”->(“对象或”为输出“)不使用短路
ICCAVR(AVR微控制器编程软件)
文件名(如果文件名中包含空格)。
-生命周期分析未考虑内联因素,可能
删除仅由内联asm引用的变量。
-7.03中引入的针对易失性指针提取的修复导致错误
易失的const提取代码。
-固定的C和asm连接器,用于M640 / M1280 / M1281 / M2560 / M2561和asm
M48 / M88 / M168连接器
-对于M32,完整且经过测试的示例(LED,中断,UART轮询...)
在<安装根目录> \ examples.avr \ M32 \
-在编译器选项中添加了tiny24,44,84,26B,46,86,166。
-将M1280 / M1281添加到设备列表中。
-将复制传播添加到寄存器分配器中以实现更小/更快的代码
-增强了实时变量分析功能
-启用PRO优化。请参考“简介”一章中的帮助文件和优化部分。
-寄存器历史记录可能会错误地优化易失性指针的提取。
-添加#pragma device_specific_function
该符号装饰有$ device_specific $后缀,例如#pragma device_specific_function putchar
表示生成的名称是_putchar $ device_specific $。请参阅链接器用法条目。
-如果链接器看到表单的未定义符号<name> $ device_specific $。它将发出表格错误
函数“ putchar”未定义。这是对功能设备的IO寄存器位置的引用,必须为目标设备专门对其进行编译。
您可以在\ examples.AVR目录下的不同设备中找到此功能的示例。
-更快的FP div和mul
-Sin / cos使用定点算法要快得多
-修复了164,324和644 C和asm头文件
-在stdio.h中添加了“ #pragma device_specific putchar getchar”
-添加了putchar _ ???。 c和getchar _ ???。 C
-如果打开“编译前自动保存”选项,则表示未正确清除构建黄色标记后打开的书的图标。
-AppBuilder固定M8515 Timer0,M32 Timer1和T13 XTAL速率
-增加了对M164,M324和M644的项目调试支持
-某些项目的源代码行可能不同步
-在线帮助现在可与任何浏览器/操作系统组合编译器一起使用
-从IO寄存器访问的生成代码不在下层
IO空间不是最佳的,请使用Z间接代替LDS / STS
-应消除所有“ COFF警告”错误
-添加了m164,m324,m644,PWM2和PWM3 C和asm头文件
-改进的浮点乘法速度列表文件生成器
-地址接近64K字节及以上的列表文件被破坏。
这不仅影响生成的代码或调试信息。lst列表文件。
在某些情况下,命令行编译器未获得许可。
-不正确的网络加密狗DLL
-CAN128的起始地址不正确
文件扩展名
输入文件
.C扩展名-表示C语言源文件
.S扩展名-表示它是一种汇编语言源文件
.H扩展名-表示它是C语言头文件
.Prj扩展名-表示它是项目文件。此文件包含有关由IDE创建和修改的项目的信息。
.a扩展库文件。它可以由几个库封装。 libcavr.a是一个基本库,其中包含标准C库和AVR特殊程序调用。如果引用了库,则链接器会将其链接到您。您还可以在模块或文件中创建或修改满足您需要的库
输出文件
.S ----编译器在编译时为每个C语言源文件生成的汇编输出文件
.O ----汇编文件汇编生成的目标文件可以将多个目标文件链接到一个可执行文件中
.Hex ---- INTELHEX格式文件包含程序的机器代码
.Eep ---- INTELHEX格式文件包含EEPROM的初始化数据
.Cof ---- COFF格式的输出文件用于ATMEL的AvrStudio环境下的程序调试
.Lst ----列表文件列出了与此文件中目标代码相对应的最终地址
.Mp ----内存映像文件它包含有关程序中的符号和内存大小的信息
.Cmd ---- NoICE2.xx调试命令文件
.Noi ---- NoICE3.xx调试命令文件
.dbg ---- ImageCraft调试命令文件
软件功能:
现在为所有增强型核心设备启用“使用ELPM / RAMPZ”
添加了8位优化。大多数(如果不是全部)可以根据标准C规则合法完成的表达式(而不是提升的int类型)完成8位运算。
将大多数程序提高1%到2%,更多的变量被广泛使用。
为AT90USB82和AT90USB162添加了设备条目编译器
编译器将参数寄存器保存到另一个保存的寄存器中,而不保存保留的寄存器。
通常仅在该函数没有其他局部变量并且碰巧使用参数调用其他C函数的情况下。
具有比相应的非P设备更多的中断向量的设备。
对于使用STK500的ISP,您可以添加一个“不擦除”框。仅在使用预擦除芯片时才使用它。
添加了对M256x函数指针的支持。
现在,函数指针可以指向超过地址空间128K字节的函数
M256x函数指针是efunc_lit区域中的一项。
efunc_lit中的每个条目都是一个3字节的WORD函数地址。
安装步骤:
1.浏览此处,需要的用户可以单击本网站提供的下载路径下载相应的程序安装包
2.通过解压缩功能打开压缩包,找到主程序,双击主程序进行安装,单击下一步
3.用户可以根据需要单击浏览按钮更改应用程序的安装路径。
4.现在准备安装主程序。单击“安装”按钮开始安装,或单击“上一步”按钮重新输入安装信息
5.等待应用程序安装进度栏加载,需要稍等片刻
6.按照提示单击“安装”,弹出程序安装完成界面,单击“完成”按钮
软件特色:
启用调试后,编译器会将无法访问的代码保留在
生成的代码。
更改-D__ICC_VERSION = XXX,其中XXX是整数版本,例如722。这使条件编译更加容易。
重写了本地寄存器分配算法。应消除大多数“注册外”错误的情况
合并后的返回序列7.05将优化“调用gpop \ nret”引入“ jmp ...”以发送错误的调试信息,
为了显示某些版本的AVR Studio(4.12)的某些功能,光标/ currentPC放置在错误的位置。
R30 / R31的连续加载,干预“ ld / st Z + off”未优化。
添加了对m640,m1280,m2560,m1281和m2561等的AppBuilder支持。
增加了对AT90USB芯片的设备映射支持。
功能更快的序言/结语寄存器保存/恢复例程