在c语言中 f10的作用,【经验】如何在瑞萨CS+编译器的C语言中嵌入汇编?

6d8e20f5a50abc677ed6281ebd4752b7.png

瑞萨汽车电子推出的高性价比的汽车级16位MCU RL78/F1x系列,广泛用于汽车零部件主控开发,受到车厂的好评公认。RL78系列是瑞萨78K系列的升级产品,主频可以达到32MHZ,静态功耗低到0.23uA,集成了片上EEPROM。本文以瑞萨16位RL78系列,32PIN QFN小封装,96KB FLASH,支持CAN/LIN通讯的车规级MCU R5F10BBF为例,介绍在设计模块bootloader功能时,如何实现在编译器中嵌入汇编语言的功能。

我们在设计MCU的bootloader功能时,需要对MCU做一些基本的操作,需要调用到汇编指令。瑞萨RL78系列芯片可以兼容老一代的CA78K0R编译工具,也可以支持新一代CCRL的编译工具。本文分别介绍在两个编译环境下,RL78系列MCU R5F10BBF如何实现嵌入汇编代码“跳转到对应地址”的指令。

在CA78K0R编译工具中,我们可以采用以下方式,在C文件中嵌入汇编指令:

1.直接调用__asm指令,如下所示__asm("BR !04000H");

2.调用宏命令#asm  .. #endasm,如下范例所示:#asmBR !04000H#endasm

在CCRL编译工具中,在C语言中嵌入汇编则需要修改成以下命令:

1.通过调用内联函数inline_asm来定义一个汇编指令函数,在C文件中调用该函数即可。#pragma inline_asm __inline_asm_func_00000static void __inline_asm_func_00000(void){BR !0x4000}

根据以上操作即可完成在瑞萨CS+编译器中实现RL78系列的C语言程序中嵌入“跳转到对应地址”的汇编指令。

瑞萨RL78系列MCU的优秀特性:

• 32MHz运行(支持宽电压1.6V至5.5V 105°C)

• 1.27DMIPS/MHz

• 内置硬件乘除法器/MAC /DIV

• 0.57uA @32.768kHz HALT模式,RTC、WDT、LCD工作

• 0.23uA @STOP模式,RTC、WDT、LCD不工作

• 高速片上振荡器(±1.5%在-40至105°C温度范围)

• 片上调试功能

• 内置硬件RTC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值