简体中文/
简体中文/
简体中文/
简体中文/
ICCAVR是一个集开发环境和编译编写于一体的AVR单片机编程软件,与JumpStartapi函数模块兼容的新版本,可以很好地解决使用比8位单片机复杂得多的Cortex-M编程的困难,与mbed或arduino软件栈不同,底层硬件功能不会被隐藏,所以所有硬件功能都可以在api库代码中完成低级别设置和i≤o寄存器初始化,因此用户可以在几分钟内启动和运行用于cortex的jumpstart嵌入式工具,并得到程序的无与伦比的支持。专业的功能,易用,嵌入式工具是满足用户编程开发需求的最佳选择,强大而实用。
现在为所有增强型核心设备启用“使用ELPM / RAMPZ
添加了8位优化。大多数,如果不是全部可以按照标准C规则合法完成的表达式完成8位操作而不是提升的int类型。
将大多数程序提高1%到2%甚至更多变量被广泛使用。
为AT90USB82和AT90USB162添加了设备条目编译器
编译器将参数寄存器保存到另一个保存的注册而不保存保留的寄存器。
这通常只是如果函数没有其他局部变量并且它发生了用参数调用其他C函数。
具有比相应的非P设备更多的中断向量的设备。
对于使用STK500的ISP,可以添加无擦除框。仅在您使用时使用预擦除芯片。
增加了对M256x功能指针的支持。
函数指针可以现在指向超出地址空间128K字节的功能
M256x函数指针是efunc_lit区域中的一个条目。
efunc_lit中的每个条目都是一个3字节的WORD函数地址。
启用调试后,编译器将无法访问的代码留在
生成的代码。
更改-D__ICC_VERSION = XXX其中XXX是整数形式的版本,例如722.这允许更容易的条件编译。
重写了本地寄存器分配算法。应该消除最多“寄存器外”错误的实例
合并返回序列的7.05中引入的优化“调用gpopnret”到“jmp ...”发出错误的调试信息,
以便显示某些版本的AVR Studio(4.12)某些功能的光标/ currentPC位于错误的位置。
连续加载R30 / R31,干预“ld / st Z + off”没有优化。
增加了对m640,m1280,m2560,m1281和m2561等的AppBuilder支持
为AT90USB芯片增加了设备映射支持。
更快的功能prolog / epilog寄存器保存/恢复例程
输入文件
.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调试命令文件