ICCAVR官方版是一款适合程序员日常设计开发软件的功能强大,操作逻辑清晰的专业AVR单片机编程软件,该软件JumpStart API功能模块,该功能可以完美解决Cortex-M编程入门的难度,这比8位微控制器更复杂,与mbed或Arduino软件堆栈不同,底层硬件功能不会被隐藏,因此ICCAVR官方版可以获得全部硬件功能,低级设置和I/O寄存器初始化的大部分繁琐都是在API库代码中完成的,因此用户可以在几分钟内启动并运行!
功能介绍
现在为所有增强型核心设备启用“使用ELPM / RAMPZ
ICCAVR官方版添加了8位优化。大多数,如果不是全部可以按照标准C规则合法完成的表达式完成8位操作而不是提升的int类型。
ICCAVR官方版将大多数程序提高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寄存器保存/恢复例程