RL78族MCU从CA78K0R到CCRL编译器、汇编器选项转换指南

需积分: 0 1 下载量 156 浏览量 更新于2024-06-19 收藏 320KB PDF 举报
"这篇文档是瑞萨电子(中国)有限公司提供的关于从CA78K0R编译器转向CCRL编译器时,如何处理编译器和汇编器选项的指南。主要针对RL78族微控制器,适用于CA78K0RV1.20及以上版本和CC-RLV1.01.00版本。文档内容包括编译器选项和汇编器选项的对比,以及在转换过程中需要注意的差异和应对方法。" 详细说明: 1. **编译器选项**: - **指定目标设备**: CA78K0R使用 `-c` 选项,而CC-RL则需要使用 `-cpu` 选项指定内核类型(S1/S2/S3)并用 `-dev` 选项指定位设备文件,以适应不同的汇编器和优化链接器。 - **输出对象模块文件**: CA78K0R 使用 `-o` 选项,但在CC-RL中,没有直接停止输出对象模块文件的选项。用户需要查阅编译器用户手册以了解如何进行相应设置。 - **指定内存配置**: - **1字节间接寻址**: CA78K0R支持 `-ra` 选项,但在CC-RL中无法以1字节为单位进行间接寻址,可能需要代码调整。 - **位域成员配置**: CA78K0R 使用 `-rb` 可以从MSB开始配置位域成员,而CC-RL默认总是从LSB开始,可能导致位域成员的声明需要反转。 - **打包结构体成员**: CA78K0R 的 `-rc` 选项对应CC-RL的 `-pack`,但具体实现可能有差异,需要根据手册进行适配。 - **外部变量配置**: CA78K0R 可能允许将外部变量配置到saddr区域,而在CC-RL中,可能需要特别处理,因为这种特性可能不被支持。 2. **汇编器选项**: 汇编器选项的转换通常涉及到更底层的指令集细节,文档中未给出具体的对比信息,但可以预期不同编译器可能对汇编语法、宏定义、符号处理等方面存在差异。用户需要参照CC-RL的汇编器手册来调整相应的汇编代码。 转换CA78K0R到CC-RL的过程中,开发者需要仔细分析这些选项和设置的差异,以确保代码在新环境中正确编译和运行。这可能涉及到源代码的修改、链接脚本的调整以及项目构建流程的更新。此外,理解新编译器的特性和优化策略也是成功转换的关键步骤,因为不同的编译器可能在优化级别、内存布局、异常处理等方面有不同的处理方式。因此,阅读并熟悉CC-RL的用户手册至关重要。