CVAVR使用说明
一、Code Generation(常规)
1、chip
选择芯片类型
2、Clock
选择芯片时钟频率。
3、Memory modet(存储器模式)
为了提高代码效率,存储器模式有两种。Tiny单选按钮使用8位来存储指向SRAM中变量的指针,这种模式下,程序只能访问SRAM中最开始的256字节。Small单选按钮使用16位来存储指向SRAM中变量的指针,这种模式下,程序只能访问SRAM中最开始的65536字节。指向FLASH和EEPROM存储器区域的指针一般都使用16位,因此存储器模式的选择对这些区域脊影响。
4、optimize for (优化)
用于在编译时优化代码选择,Size优化尺寸,speed优化速度。
5 、optimization Levet (优化等级)
用于在编译时优化代码水平,有低、一般、高。
6、Program Type(程序类型)
选择Application(应用程序)或Boot Loader(引导加载程序)选项。
7、(s)pintf Features 输出格式
8、(s)scanf Features 输入格式
9、SRAM
9.1、Data Stack Size(数据堆栈大小)。
9.2、Heap Size (堆栈大小)
第一种情况:当准备在程序中使用C标准库中的动态内存分配函数,那么堆栈大小是必须总是被指定。这时,堆栈的大小可以用以下公式计算得到:
其中: “ n ” 是指将要被分配在堆栈中的 ” block ” - 内存块的数量。
“ block_size “ 是指 每一个” block “ - 内存块的大小。
例如:程序设计时考虑到可能要用动态内存分配函数分配 数量为20 ,内存块大小为 2 byte 的内存空间,那么,堆栈的大小 heap_size = ( 20 + 1 ) *4 + 20 * 2 = 124 byte
第二种情况:如果不准备用内存分配函数,那么堆栈的大小必须被指定为0。
9.3、Intemal SRAM size(内部存储器大小)
9.4、Extemal SRAM size(外部存储器大小)
9.5、Extemal SRAM Wait State(外部存储器等待状态)
10、Code Generation(常规)
10.1、Bit Vaiables Size (位变量大小)
指定R2~R15使用的位变量个数。
10.2、Promote char to in
选择该复选框,将ANSI符号型操作转换为整型,对于AVR这样的8位芯片微控制器来说,应不选择此项将字符型,以加快程序速度。
10.3、Char is unsigned
选择该复选框,默认将字符型数据当作8位无符号数处理,其范围0~255。
10.4、8 Bit enums
选择该复选框,默认枚举数据类型按8位char字符型处理,否则按ANSI的int整型数据类型(16位)处理。
10.5、Enhanced Core Instruction
选择该复选框,允许使用增强指令集,ATmega系列必须选用此项。
10.6、Automatic Register Allocation
选择该复选框,R2~R15寄存器自动分配。
10.7、Word Align Struct Members
选择该复选框,允许修正FLASH存储器中各程序段地址连贯而不断续。
10.8、Use an external startup Initialization file
选择该复选框,使用外部启动文件。
10.9、Stack End Markers
选择该复选框,编译器把字符DSTACKEND和HSTACKEND放在数据堆栈和硬件堆栈的末端,用于调试时可看到这些字符串是否被重写并相应地修改了数据堆栈的大小。在程序能正确运行时,为了缩短代码长度,可以清除这些字符串。
11、File Output Format(s)
选择编译器产生的文件格式。
二、Advanced(高级)
三、Messages(消息)
四、Globally #define
允许用宏 #define 定义,可以在所有项目文件中可见宏表中的字符串。
例 #define ABC 1234 //写在“Globally #define”表中,相当于在每一个 项目文件(.c / .h)中写同样的宏
五、Paths(路径)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !