瑞萨(Renesas)单片机RL78系列开发介绍
自从恩智浦(NXP)收购了飞思卡尔(Freescale),瑞萨(Renesas)收购了NEC,汽车电子主流MCU基本上就被恩智浦和瑞萨这两家霸占了。
前面介绍过恩智浦的S32K系列、S12G系列和ZVL系列,现在介绍一下瑞萨(Renesas)RL78系列。
Renesas RL78系列
Renesas RL78系列实际上是,整合了NEC单片机和老瑞萨单片机的架构后,推出的16位单片机。目前在汽车电子中都有广泛的应用,特别是日系的三大巨头丰田、本田和日产。小日本这方面还是比较团结的,能用国内的就用国内的,就算比进口的贵也要用,这个扯远了。
RL78
编辑器的话,IAR和Keil都支持,也可以用官方的ICE,这个根据个人喜好或者公司要求来选择。
驱动代码生成
驱动代码可以利用工具生成,Applilet3 for RL78 V1.12.00
Applilet3
图形化配置,自动生成代码后可以直接移植到你的程序中使用。如果你用的是IAR,要注意工具链的选择,
Property->Generate File Mode->Compiler IAR Compiler
单片机的通用部分就不在这里介绍了,下面介绍一下这款芯片的一些特殊性。
Option byte
Option byte选择配置字,需要单独配置,配置方法如下:
/* Set option bytes */
#pragma location = "OPTBYTE"
__root const uint8_t opbyte0 = 0x78U;
#pragma location = "OPTBYTE"
__root const uint8_t opbyte1 = 0xFFU;
#pragma location = "OPTBYTE"
__root const uint8_t opbyte2 = 0xF8U;
#pragma location = "OPTBYTE"
__root const uint8_t opbyte3 = 0x04U;
如果不配置Option byte,看门狗没法设置成功的。
如果还需要LVD低电压检测的功能,还需要做如下配置:
/* Set option bytes */
#pragma location = "OPTBYTE"
__root const uint8_t opbyte0 = 0x78U;
#pragma location = "OPTBYTE"
__root const uint8_t opbyte1 = 0x7FU;//LVD 2.75v
#pragma location = "OPTBYTE"
__root const uint8_t opbyte2 = 0xF8U;
#pragma location = "OPTBYTE"
__root const uint8_t opbyte3 = 0x84U;//Erases data of flash memory in case of failures in authenticating onchipdebug security ID
这里还增加了flash擦除的安全检测机制。
休眠唤醒
在EZ_CUBE debug模式下,tool0会定时唤醒单片机。因此在测试单片机休眠时,需要断开仿真器。
休眠之前,需要关掉定时时钟,避免被定时唤醒。
数模转换A/D
在使用A/D时,要从通道0开始使用,要从低到高用,这基本上是NEC单片机的特性。
调试的时候,发现A/D读取的数据始终为0,但是通过单步调试,可以读取到正确数据;后来发现,是延时时间不够,因为这里模拟采样后,还需要一段转换时间。
中断标志
调试的时候,发现中断函数能正常进入,但是中断标志总是失效;后来发现,这是这个单片机特性,中断标志会自动清零。如果你需要判定中断标志,建议你要自行添加,直行管理标志的置位和清零。
捕捉定时器(CCP)
捕捉定时器(CCP)各路通道都是独立的。TDR寄存器存储的是脉冲宽度,也就是计数差值
;TCR寄存器是计数值,进入中断后自动清零。
带你少走弯路,瑞萨单片机RA族开发环境搭建
接触瑞萨是因为我们的产品真的很难找到MCU来替代了,从最开始的STM32,磕磕绊绊开发完成,结果ST涨价缺货,我们换了GD32,将功能转移完成,测试通过后GD也陷入了交货困难,亏得我之前还发帖子介绍了GD的开发,结果还没量产就黄了,后面的芯片短缺大家都知道了。现在是换啥都没有货。最后找到瑞萨的R7FA2E1,这款MCU因为刚出来,没人炒,货源充足,其实我觉得是真的不太好用,尤其是对于熟悉了ST,或者GD等国产芯片开发的人来说。于是就先开发着试一下,先搭建环境,点个灯看看,截止我发帖,还没拿到样片,因为代理那边拿货需要时间,为了追求时间,我们就现在物料平台买几个样片,结果在今天早上就收到芯片因为米国出口管制,出不了货,上头通知我可能还要换芯片,那我这不就是瞎折腾吗?
一、获取RA的相关资料
我用的是RAE1,这里便以这个为例,打开瑞萨官网,在搜索框搜索RA2E1 - 48MHz Arm® Cortex®-M23 入门级通用微控制器,选择芯片。
进入页面后下拉找到相关资料。这里可以下载数据手册等文档。
继续下翻找到软件和工具:
下载灵活配置软件包 (FSP)和e² studio。这两个文件第一个应该是必须的,类似于STM32cubeMX,用于快速配置一个工程,包括时钟配置,GPIO配置,外设,中断,RTOS等。e² studio是瑞萨自己的编译环境,用于编译代码,可替代keil。最新的版本已与FSP捆绑,可在软件内进行时钟外设等快速配置。
1, 如果PC是window 10,64bit的环境,这是最理想的情况。直接安装最新版本的“E2 studio + FSP的捆绑环境”。强烈建议不要在32bit window环境下进行调试,会出现编译器兼容性问题。
2, 安装e2 studio的时候,会有一个界面,是提示是否安装QE插件,请选择安装。不一定会用得上,但单独安装QE插件非常麻烦,需要很多操作步骤,不方便。
FSP和e2 studio自行下载安装,没有可注意的点,直接傻瓜安装。
二、 debugger的选型和注意事项
1,如果选择Jlink,当Jlink插上的时候,一定要特别注意。
A, 如果是开发板上自带的JLINK,这都是renesas注册过的正版的JLINK。当e2studio提示升级的时候,可以选择自动更新 EVK上的JLINK的固件。
B, 当JLINK是 网购的和谐版JLINK的时候,请特别注意,e2提示更新的时候,不能点击自动更新,概率出现JLINK被锁死。 ---- 这个问题不是100%必现,因为我们renesas不了解JLINK的操作原理,无法给出具体意见。
C, 由于RA系列选择的ARM公司最新的cotex-M23,M33内核,所以有一定的概率出现电脑上的Jlink的版本不够高。请在segar的官网,下载最新版本的JLINK的PC端驱动。截止到2020-12月左右,最新的是这个版本是V688。
2,选择E2 Lite,一定要注意,
A, 请严格按照EVK的提示,预留这一路UART9到E2的接口上。这不是调试预留口,这是烧录口。使用E2的时候,必须要有这个UART9,不然无法烧录成功。
注意:后续空片快速烧录,也是用这个UART9,一般情况下,强烈建议预留。
B, E2 lite都允许调试器对目标板提供供电,但不推荐这样操作。强烈建议,都是目标板自己供电,E2 lite的VCC和目标板的VCC不连接。还需要在e2 studio的设置项里面,设置为E2 lite不提供电。
三、第一个工程
瑞萨自己的e² studio这里只介绍如何导入现有的工程,自己也不会,用不习惯,这里采用keil5进行开发。
1.一般不推荐完全从一个毫无依赖的环境,new一个工程,因为工程配置文件的设置项比较多,一旦有地方设置不好,就会导致编译出错等各种问题。所以都是推荐采用import的方式,避免因为工程设置问题报错。
首先在e2 编译环境里面,找到File菜单,打开下拉菜单,选择import。
选择 General, 然后选择子菜单 existing project into workspace.
next,进入下一个界面
选择browser,并制定到刚才解压缩的那个驱动包目录下。然后直接选择这个目录下的任意一个 驱动例程。
进入到例程目录里面,找到e2 studio这一级,选中,单击“选中文件夹”
然后会发现,import这个菜单里面,会自动搜索到一个 project文件。
千万注意,当选定了import的工程后,强烈建议,要把这个 copy to workspace勾选上。这样不会遇到中文路径名称的问题,因为workspace一般都在电脑的英文路径名称下自动创建的。如果不勾选,则路径是直接在原来的代码包释放的路径。这个路径很有可能是中文的,从而导致很多莫名其妙的问题。
开发板的空工程,第一次导入后,一定需要点击 configuration.xml文件,让工程文件自动匹配一下编译器里面,本地安装的FSP版本文件。
正常被识别到,会显示一个smart config对应的项目信息细节 对话框。
点击锤子图标按钮,即可进行编译。一般只要FSP版本对应上,即可编译成功。
KEIL开发
老话题了,使用keil5开发肯定要安装pack包。文末给出RA2的包。
将下载的例程解压,随便找一个keil例程,打开keil工程,编译会报错,显示很多文件都找不到。
解决方法: 依次点击,打开RA configuration。
点击,generate project content, 再次生成代码。
关闭RA configuration,再次编译即可通过;
Smart config for RA的小技巧如果编译器/仿真器就选择E2 studio,注意:如果使用e2 studio开发项目,需要下载安装FSP里的 setup_fsp_v2_3_0_e2s_v2021-01.exe (内部嵌套Smart Configurator);如果使用IAR或Keil MDK开发下载setup_fsp_v2_3_0_rasc_v2021-01.exe(独立的Smart Configurator),可以用于生成IAR和Keil MDK底层配置程序;注意:安装完Smart Configurator之后,软件的快捷方式不会出现在桌面,到如下目录寻找:C:\Renesas\RA\sc_v2021-01_fsp_v2.3.0\eclipse。
创建一个基础keil工程:命名新工程,选择工程存放的文件夹。
这里选择芯片和IDE:keil 5
我不需要RTOS,这里选择No RTOS。
至此一个空工程就建立好了,我们可以在这个软件中设置时钟,引脚,中断等等。这个根据需要的不同进行不同设计,这里不赘述。
原标题:【无效的折腾】瑞萨单片机RA族开发环境搭建
原作者:呐咯密密
本文为21ic有奖征文作品,详情请见21ic论坛活动专区:第二届万元红包——蓝V达人有奖征文活动,如果您也有兴趣参与征文,欢迎进入论坛参与活动~
相关问答
瑞萨单片机 怎么样?瑞萨单片机是一款性能稳定、功能丰富的芯片,具有高速运算能力和低功耗特性。其强大的处理能力和丰富的外设接口,使得它在嵌入式系统和智能控制领域有着广泛的...
瑞萨单片机 用什么写程序?瑞萨单片机用串口或者USB网线烧录将程序写入单片机。这个过程一般被叫做烧录。烧录是通过编译器生成单片机识别执行程序的。再就是通过上位机按照通讯协议把文...
世界上有哪些著名的 单片机 公司?1微芯科技(Microchip)+爱特梅尔(Atmel)(后者被前者收购)Atmel主要是单片机:AT89C51、AT89C52、AT89C2051,AT89S51(RC)对于从事单片机开发的人员...
2018流行什么 单片机 ?推荐全球热销 单片机 品牌排行榜?-牌子网51单片机。特点,够老够经典,很多人估计都是从它入门的吧!简单易用,资料齐全,发展这么多年也有它自己的领域。主要应用在一些简单的控制场所,比如玩...
mcu是什么比赛?MCU是瑞萨超级MCU模型车大赛。是我国规模最大的大学生技能活动―“全国大学生IT&AT技能大赛”的系列赛事之一,该项赛事由教育部管理信息中心主办,赛迪顾问承办...
瑞控是什么?瑞控是指瑞萨电子的单片机控制器。1.瑞控是指瑞萨电子的单片机控制器。2.瑞控是瑞萨电子公司开发的控制器,其主要功能是实现对各种电子设备的智能控制,包括但...
st的mcu是哪个品牌?1、NXP(恩智浦)NXP(恩智浦)公司传统的MCU是基于80C51内核的MCU,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设...
目前常用的 单片机 型号有哪些?都有什么优缺点?现在市场上的单片机型号可以说是非常多的,其中有通用型的单片机,还有专用型的单片机。专用型单片机一般我们不常见到。今天我们结合这个问题来介绍一下目前常...
提供:IC反向设计服务及MCU解密[回答]芯片反向、MCU解密、掩膜芯片专业解密专业解密日立、三菱、NEC等品牌掩膜类型芯片三菱\瑞萨\MITSUBISHI\RENESAS\单片机\解密\芯片反向芯片反向MC...
大佬们!有人知道么:香港瑞达伺服电机价格实惠,瑞达伺服电...[回答]瑞萨电子针对于家用电器的直流无刷电机解决方案,经过市场的长期验证,已经广泛地应用在变频空调、洗衣机、冰箱、风机、电动工具等市场。针对伺服电...