Renesas CS+ for ca cx入门(三)

时间:2024-05-23 16:47:18

续上一篇文章,这章节主要讲Compile Option这个标签栏,单击CA78K0R(Build Tool)->Compile Option,如下图

Renesas CS+ for ca cx入门(三)

Debug Information 

添加调试信息,有三个等级可以选,0不添加,1在布标文件中添加,2在汇编和目标文件中添加,建议选2,这个选项仅在调试中有意义,发布的时候无意义

Optimization

优化等级:默认标准,有速度优先、标准、代码尺寸优先、细节、不优化这几种选项,一般选择优化等级都是为了代码尺寸,但是即使是这个编译器的最优级别,代码尺寸仍然比CS+ for cc的不优化要大,所以当代码量比较庞大的时候,请尝试CC这个IDE

Preprocess

预处理:

添加库路径,一般不加,你真要有自己的库,到是可以在这里添加

系统包含路径,不用用户添加的,当你把代码包含进工程的时候这里会自动添加

Macro define,宏定义,我一般不建议在ide添加宏,最好在代码里面添加

宏的去处定义,和宏定义相反,细节请看c语言的相关书籍,这里就不细讲了

startup:启动,第一个启动代码的位置,可以选择标准启动和boot启动,这个IDE是有boot代码库的,可以在官网添加,我也没有用过,据代理商的技术支持介绍到是挺简单,反正是调用API

USE FIXED AREA USED BY STADARD LIBRARY:根据help的介绍,这里是主要是给动态内存调用函数使用固定内存区域的,如果没有用到malloc,free之类的函数,这里可以选择no

ROMize far area :看了help,没懂,谁知道的求指教

library:

标准库是否调用

是否使用标准的输入输出库支持浮点数据,强烈建议,不要用浮点数,宁愿数据放大后计算也不要用浮点数,除非你的单片机带FPU

是否使用累加器,废话,当然用啊,真不明白这种选项放出来干嘛,直接默认有不得了

标准库选择:没找到说明,但是我用标准库比较少,默认就好

Message:

verbose mode:老太太模式,坚决no

warring level:程序员忽略警告

Extension:延伸

是否允许C++格式:默认是允许的,反正我不用C++

嵌套评论:其实就是是否允许使用/**/,我想说,编译器作者是智障吗?白痴吗?默认居然是NO,

日文的源码解释:这个选项对于中文支持有帮助,可以看看我的第一篇文章的最后一段

是否遵循ANSI标准:默认NO,哎╮(╯▽╰)╭

关闭int拓展:是否允许unsigned char的编译,默认NO,MDZZ

输出目标到RAM:这个实在没看懂,我直译help好了。选择是否分配代码和ROM数据到RAM区域。 为RAM在运行时指定一个区域运行实时库。

Momory Model:

内存类型:默认就好,这个我忘了怎么回事了,技术支持说过的,影响不大这东西

输出flsah目标:没需求,一般NO

START address of flash area:起始地址,没啥事你改它干嘛?除非你要指定一个区域用来存东西,但是单片的flash就10000次写入,你非要搞死它吗?

Start address of flash area branch table:这个我到是没懂

specify mirror area:用来干嘛的?知道的给解释一下

Output File:

输出目标文件

汇编文件:

输出汇编文件

变量、函数信息文件

Data Control:

大小端排列,这个就不解释了,自己去看数据的大小端解释

Pack structure members :结构体的成员对齐,就是是否允许插入字节达到成员对齐,关于结构体的内存分配,请看我的另一篇博文,这里不细述

perform indirect referencing in 1-byte area :不懂

静态变量地址分配,选择变量最全的那个,不然在形参为结构体的时候,有时候回导致变量赋值失败

外部变量地址分配,同上

rom数据分配地址:这个选NO即可

List file

预处理文件输出:按需求选择

错误列表文件:一般这种错误信息除非是语法错误,否则很难读懂,感觉仅在编译过程中有意义

output cross reference list file:不懂

Other:

编译前的命令执行:在编译前调用CMD执行命令行操作,具体命令参考help,太多了,懒得写了

编译后的命令执行:在编译后调用CMD执行命令行操作

别的添加选项


写于2017年8月16日

深圳