版权声明:本文为博主yjydyod原创文章,转载请声明

本文作者为yjydyod,转载自:https://blog.csdn.net/yjydyod

前言

这是一篇关于瑞萨R7F0Cxxx系列单片机的入门教程,网上关于这方面的资料特别少,可能是使用的人较少的原因吧。由于工作的原因,这段时间接触了这款单片机,所以写下了这篇博客,希望能给大家一些帮助。

R7F0Cxxx主要针对中国大陆和香港销售的一个系列,它主要包含以下产品:

这一系列的设备文件在官网的IDE中并没有集成,所以在建立工程之前必须手动导入设备文件。同时IDE自带的自动生成外围模块驱动程序的插件也无法使用,转而用AP4这个独立软件来代替。下面我将用一个例子来展示如何开始第一个R7F0Cxxx单片机程序。

开始

本篇应用举例R7F0C014B单片机控制LED灯闪烁来介绍如何开始第一个R7F0Cxxx单片机程序。

1 规格

本篇应用说明介绍了使用定时器阵列单元、控制LED灯闪烁的应用。相关外围功能及用途,请参见“表 1.1”。

表 1.1 相关外围功能和用途

外围功能 用途
定时器阵列单元 0 通道 0 0.5s定时器,用于更新led状态
P70

LED灯光控制

2 开发条件

本应用说明中的参考例程,需要在下面的条件下来进行。

表 2.1 开发条件

项目 内容
所用微控制器 R7F0C014B
集成开发环境 CS+ for CA CX V4.01.00 或者 CS+ for CC V6.01.00
外围电路驱动生成程序 AP4 for RL78_EC V1.05.00
仿真器   EZ-CUBE
微控制器设备文件 r7f0c014_dif.zip

2.1 微控制器

选用的是R7F0C014B的最小系统板,如下图2.1.1:

图2.1.1 最小系统板

LED的接线方式,如图2.1.2:

图2.1.2 LED接线图

2.2 集成开发环境

Renesas有CS+ for CACX(以下简称CA)以及CS+ for CC(以下简称CC)两款集成开发环境,它们之间的区别在于CA终将被淘汰,现在CA版本为4.0,而CC的版本为6.0。

从供应商的技术支持得到的反馈是CA是早期的NEC开发的,而NEC的IP做得是不错的,而瑞萨的外设做得不错,然后集两家之所长,瑞萨做了关于RL78系列的单片机。但是CA的编译器编译效率不太好,然后瑞萨后来直接开发新的编译器,用于取代CA的编译器,就是后面的CC。

CA的支持度更高,资源更丰富,官网的demo都是基于CA的,但是我建议大家后面使用CC这个IDE吧,CC的使用方法基本和CA一样,而且编译出来的二进制文件比CA编译出来的小20%,且CC能支持long long类型的量,而CA只支持long型变量。

IDE环境下载与安装我这里就不说了,至于使用方法我将以CC V6.01为主,CA配置的一些差别也将提及。

2.3外围电路驱动生成程序

AP4是一个独立软件工具,根据用户设置自动生成外围模块驱动程序。 可选择编译工具(编译器) 。 AP4为编译工具产生适合的外围模块控制程序,还为集成 开发环境生成工作空间文件和项目文件。AP4 for RL78_EC 支持用于中国的MCU产品 - R7F0Cxx 系列,并支持 CA78K0R 和 CC-RL 编译器。其他单片机可以用IDE生成。

2.4 仿真器

EZ-CUBE是具有flash存储器编程功能的片上调试仿真器,可以用于调试程序或将程序烧写到内置Flash存储器微控制器中。仿真器可以代理商或者淘宝上购买,含发票价在200元左右。需要资料的话可以在官网搜索EZ-CUBE,所有资料都能下载的到。

2.5 微控制器设备文件

由于R7F0Cxxx系列是针对中国专用的芯片,设备文件在集成开发环境中没有集成,所有必须手动导入。下载路径(以R7F0C014为例):

瑞萨官网->产品->用于中国的MCU产品->R7F0C014->软件和工具->Tools->筛选。如下图:

3 建立工程

3.1 导入设备文件

将下载的R7F014MCU设备文件解压:

打开Readme.txt文件:

这里介绍了不同版本的IDE如何导入设备文件。就以我为例,我安装的是CS+ for CC V6.01,所以需要把Device_Custom里的所有文件拷贝到C:\Program Files (x86)\Renesas Electronics\CS+\CC\Device_Custom\RL78路径下去,再添加其他型号的芯片设备文件时,只要覆盖就行。这里需要注意的是:“第一次安装的时候,CC文件夹下并没有Device_Custom\RL78这个路径,所以需要你手动创建”。

3.2 创建工程

打开CS+ for CC软件,在[Create New Project]板块点击[GO]按钮。

按照下图所示配置设置后,点击[创建]。

3.3 代码生成

在本节中,您将配置您要使用的微控制器中内置的外设功能。 使用代码生成工具,只需执行GUI操作即可自动生成程序。

3.3.1 创建AP4工程

打开AP4软件,点击New Project。

按照下图所示配置设置后,点击[创建]。

注意,这里的项目名称和存放位置与创建的工程一样,这是为了方便项目管理。

3.3.2 系统设置

在这一步中,您可以配置系统的功能,例如设置时钟或选择是否使用片上调试功能。

双击时钟发生器,打开系统版面。

选择[Pin assignment]选项卡并单击[Fix settings]按钮。

选择[On-chip debugging setting]选项卡并配置,如下所示。

3.3.3 管脚设置

双击Port Function,打开管脚版面。选择[Port7]标签,并作如下设置。

在这一步中,您决定使用哪一个引脚。参阅图2.1.2,P7的Bit 0作为输出脚,且默认输出为1。

3.3.4 定时器设置

双击[Timer Array Unit],打开定时器版面,选择[General Setting]标签,并且选择Channel 0为[Interval timer]

选择[Channel 0]标签并按如下设置。

3.3.5 看门狗定时器设置

双击[Watchdog Timer],并进行如下设置。

3.3.6 代码生成

当设置完成后,还需要选择编译器,CS+ for CC选择CCRL,CS+ for CA CX选择CA78K0R,最后点击[Generate code]进行代码生成。如下图:

3.4 编码

3.4.1 添加自动生成的代码

从AP4软件切回CC软件,右键File->Add->Add New Category创建[code generate]文件夹,如下图。

右键code generate->Add->Add File

在弹出的的对话框中,选择建立工程的文件夹,将cg_src中的所有文件添加

结果如下:

然后把原有的hdwinit.asm、stkinit.asm和main.c移除,结果如下:

到此,就可以开始编程了。

3.4.2 编辑

双击r_main.c, 在下面添加定时器0通道0启动函数R_TAU0_Channel0_Start().

双击r_cg_tau_user.c,对程序做如下修改

3.4.3 编译项目

点击保存->点击[Rebuild Project]标签,显示结果如下:

显示Error0个,警告Warning 4个,其中两个软件有效期警告不管,另外两个出现的原因刚好是下载到调试器需要配置的信息,这将在下一章讲解。

4 调试

4.1 连接到调试器并下载

4.1.1 选择调试工具

右键【Debug Tool]->[Using Debug Tool]->[RL78 EZ Emulator].

选择了RL78 EZ Emulator作为调试工具

4.1.2 设置调试器使用区域与程序使用区域

这一步很重要,假如不做设置的话,编译时就出现上面描述过的两个警告,而在下载程序时会出现E1203124 或 E0204001错误。

CC按下图进行设置:

其中Option byte values for OCD与User option byte value 这两个值可以从AP4生产的文件r_option_cc.txt的如下两项获取。

再一次编译后发现,除了软件有效期警告外其他的两个警告消失了。

CA按下图进行设置

对应的值可以在AP4生成的r_option_ca.txt中找到,

4.1.3 连接EZ

按要求与EZ调试器连接。

4.1.4 下载module file 到EZ

点击【Download】下载。

自此可以开始你的瑞萨单片机之旅了,其他调试方法以后有时间完善。

瑞萨R7F0Cxxx系列单片机入门教程相关推荐

  1. 瑞萨RL78系列单片机报内存溢出故障的解决过程。RA78K0R error E3206: Segment ‘@@CODEL‘ can‘t allocate to memory - ignored

    最近开始使用瑞萨的R7F0C908芯片,ROM48K,对于目前的项目肯定是足够了,虽知道代码完成后,编译出现这个故障:RA78K0R error E3206: Segment '@@CODEL' ca ...

  2. 关于瑞萨RL78系列单片机在线升级

    最近在使用瑞萨的RL78FC0907芯片,用这个芯片做了一各在线升级的小程序.芯片基本资料请参考G13,链接如下:https://www2.renesas.cn/cn/zh/doc/products/ ...

  3. 瑞萨RL78系列单片机划分ROM、RAM区域进行合作开发

    一.引言 最近在开发中需要了一些问题,在此记录一下以便日后查看,如果有其他开发者与需要了类似的问题,也可以借鉴一下 二.背景 我们公司有个项目使用的是其他公司开发的PCB板,我们负责流程部分的开发,称 ...

  4. 33、基于CACX和R7F0C004M的瑞萨单片机入门教程

    代码资源下载:https://download.csdn.net/download/BaoTTing/58444918 一.开发环境介绍 CS+ for CACX: 瑞萨单片机开发环境,已经停止更新, ...

  5. Microchip PIC系列8位单片机入门教程(一)开发环境建立

    Microchip PIC系列8位单片机入门教程(一)开发环境建立 作者:Greg 第一节 开发环境建立条件 软件: (1)MPLAB X:集成开发环境下载地址:https://www.microch ...

  6. Microchip PIC系列8位单片机入门教程(四)中断

    Microchip PIC系列8位单片机入门教程(三) 第一节 知识点 (1)中断 PIC18F2420/2520/4420/4520 器件提供多个中断源及一个中断优先级功能,可以给大多数中断源分配高 ...

  7. 【致敬未来的攻城狮计划】— 连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下(文字上的初理解)

    系列文章目录 系列文章目录 前言 一.瑞萨MCU(CPK_RA2E1是瑞萨RA系列开发板)是什么? 首先引入是什么? 他的优势在哪? 瑞萨CPK_RA2E1 对标stm32 相似之处和不同之处? 瑞萨 ...

  8. 【瑞萨RA4系列】使用TinyMaix识别手写数字

    文章目录 一.TinyMaix简介 1.1 TinyMaix开源项目 1.2 下载TinyMaix源码 二.TinyMaix移植 2.1 创建TinyMaix移植项目 2.2 添加TinyMaix源码 ...

  9. 快速入手瑞萨RA系列MCU指南

    关注+星标公众号,不错过精彩内容 来源 | 野火电子 关于瑞萨RA系列MCU 瑞萨RA MCU基于32位Arm®Cortex®-M高性能处理器,提供强大的嵌入式安全功能.卓越的 CoreMark® 性 ...

最新文章

  1. C++中int与string的相互转换
  2. MySQL带关系运算符的查询
  3. ORA-12516:TNS:listener could not find available handler with matching protocol stack
  4. java计算时间差 Java问题通用解决代码
  5. 剑指offer(刷题51-60)--c++,Python版本
  6. Centos6配置samba服务器并批量添加用户和文件夹
  7. java基础—Hashtable,HashMap,TreeMap的区别
  8. git安装错误:can not read system config
  9. html语言的字体设置
  10. .net 下载文件几种方式
  11. CSS揭秘之多重边框连续的图像边框
  12. Atitit. 状态模式(State)attilax 总结 跟个策 略模式的区别
  13. 怎样用python控制别人的电脑_python实现远程控制电脑
  14. WIN8 RP版频繁死机
  15. QTTabBar 「资源管理器」让你的文件夹拥有浏览器标签页般的体验
  16. 海思AI芯片3559A方案学习(一)
  17. idea 无法新建工程
  18. 软考倒计时19天:招投标法、合同法、采购法
  19. Excel表格复制到Foxmail不显示边框
  20. 一文教你用 Neo4j 快速构建明星关系图谱

热门文章

  1. 中文自动文摘关键技术总结
  2. 2019-2-11-win10-uwp-安装文件-appinstaller-格式
  3. 谈谈 HashMap(int initialCapacity)与内存分配机制
  4. 登录MYSQL出现Access denied for user ‘root‘@‘localhost‘(using password: YES)无法连接问题
  5. 抢鞋软件bot服务器系统,自动抢鞋软件bot
  6. 华为手机7个超实用的功能,关键时刻帮你大忙,赶紧开启吧!
  7. BZOJ 5395--[Ynoi2016]谁的梦(STL容斥)
  8. 案例分享:医疗流式细胞术数据文件(.fcs)导出excel表工具
  9. Dirty Pipe脏管道提权漏洞复现(CVE-2022-0847)
  10. Linux文件系统精讲