瑞萨单片机R8CTiny内部培训讲解

合集下载

瑞萨E8a使用手册(中文)

瑞萨E8a使用手册(中文)

2010年4月1日 瑞萨电子公司
【发行】瑞萨电子公司() 【业务咨询】/inquiry
Notice
1. All information included in this document is current as of the date this document is issued. Such information, however, is subject to change without any prior notice. Before purchasing or using any Renesas Electronics products listed herein, please confirm the latest product information with a Renesas Electronics sales office. Also, please pay regular and careful attention to additional and different information to be disclosed by Renesas Electronics such as that disclosed through our website.
6. Renesas Electronics has used reasonable care in preparing the information included in this document, but Renesas Electronics does not warrant that such information is error free. Renesas Electronics assumes no liability whatsoever for any damages incurred by you resulting from errors in or omissions from the information included herein.

R8C系列简介 Chinese presentation

R8C系列简介 Chinese presentation

瑞萨R8C:达到16位高性能的8位微控制器4位740380007600740族H8/300H H8/300L H8/300L 超低功耗H8族8位16位32位CISCH8S/2100H8S/2200H8S/2300H8S/2400H8S/2500H8S/2600H8S族H8/TinyM16C/TinyR8C/Tiny32引脚~80引脚20引脚~80引脚M16C/30M16C/60M16C/80M32C/80M32C/90R32C/100M16C族H8SX/1500H8SX/1600H8SX族SH/TinySH2-DSP SH-1SH-2SH3-DSP SH-3SH-4SH-4A SuperH族开发中MMU超标量体系结构控制器类型处理器类型按CPU内核展开单周期指令32位RISC SH-2A M32R族M32R/ECU7204500单周期指令单周期指令48引脚~80引脚TinyTiny瑞萨MCU的发展蓝图“”是什么?“”是瑞萨MCU的一个品牌名,它具有成本低、引脚少及封装小型化等特点。

20引脚~80引脚1. 高性能CPU (16bit及以上),小型化封装,2. 高可靠性闪存(可在工厂出货时写入)3. 具有高性能的常用外围功能,以削减应用系统成本。

4. 系列产品之间具备下列共同点,可使系列之间兼容无障碍。

-低成本开发工具-统一的通用外围功能-网站技术支持-简单的OS、中间件支持等“”MCU包括H8/Tiny 系列、R8C/Tiny 系列、M16C/Tiny 系列和SH/Tiny 系列。

“”MCU最适合应用于系统控制器或子控制器,如用于家电、AC、PC外设和工业设备等。

无障碍的共通性H8 TINY R8C TINY M16C TINY SH TINY网站提供强大的技术支持低成本的开发环境简单的实时OS中间件、解决方案(加密、TCP-IP等)外围功能的标准化规格入门套件、低价CPU板R8C/Tiny系列产品概念【产品概念】-产品全部为低价位的闪存MCU (可在工厂出货时写入)-由于采用16bit内核,具有强大的运算处理能力(最大工作频率:20MHz)-具备丰富的产品线:20~80pin/4~128KB -内置易于使用的高性能外围功能(高速片内振荡器、通用的定时器、SSU/I 2C、D/A转换、数据闪存)-特别适合C语言编程的高ROM代码效率-低功耗工作-低价位的开发环境:提供On-chip 调试器、入门套件、CPU板等-提供丰富的支持信息(网页、应用笔记、各种手册等)R8CCPU名称族名R8C/TinyR8C/10, 11, 12, 13, 14…系列名R: Renesas 瑞萨8: 内部总线宽度(CPU: 16bit)C: 轻巧型(同M16C族MCU)Tiny: 少引脚, 小型闪存MCUM16C族(M16C 平台)R8C/Tiny系列发展图R8C/Tiny系列MCU 的特有功能■R8C/Tiny具有高性能的CPU、低功耗和高性能的外围功能。

R8C 瑞萨CPU 教学课程

R8C 瑞萨CPU 教学课程

5V
3V
Stop 5V 3V
125kHz ring osc.
______ ______
35µA
0.8µA 0.7µA
175µW
4µW 2.1mW
中斷
Interrupt Sources
BRK Key input interrupt A/D INT0_ INT1_ INT2_ INT3_ UART0 transmit UART0 receive UART1 transmit UART1 receive Software Interrupts (32 interrupt sources)
– 當外部時脈故障停止時.自動切換到內部振盪線路
內部時脈振盪線路:
• 免用外部石英振盪器 • 兩組內部時脈振盪線路.低速時脈振盪器為125kHz .高速為 8MHz (R8C/1x 系列) 或 40MHz ( R8C/2x 系列).可依需要切換.
• 內建頻率調整暫存器可精確調整高速時脈振盪線路
功率損耗
High Performance 16-bit “Sweet Spot” 8- to 16-bit Transition Platform Entry Device
R8C Core
Covered in this training course
M16C Core
Covered in other training courses
0
15
0
15
0
15
0
15
0
31 / 16
16 / 0
31 / 15
16 / 0
15
0
15
0
15
SB ISP USP FLG PC INTB

瑞萨E8a使用手册(中文)

瑞萨E8a使用手册(中文)
2. Renesas Electronics does not assume any liability for infringement of patents, copyrights, or other intellectual property rights of third parties by or arising from the use of Renesas Electronics products or technical information described in this document. No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or others.
8. You should use the Renesas Electronics products described in this document within the range specified by Renesas Electronics, especially with respect to the maximum rating, operating supply voltage range, movement power voltage range, heat radiation characteristics, installation and other product characteristics. Renesas Electronics shall have no liability for malfunctions or damages arising out of the use of Renesas Electronics products beyond such specified ranges.

瑞萨单片机入门教程

瑞萨单片机入门教程

瑞萨单片机入门教程本教程以R7F0C002L单片机为例一、开发环境下载安装与工程注意:该工程目录和工程名不能含有中文1.1、 CubeSuite+环境的下载:官网下载地址将安装环境下载到本地,该文件大小532M在安装过程中有提示需要填写注册码,请输入以下注册码,如果无效请联系供应商。

查看是否已经注册:在IDE环境中选择 Help->About后有下面窗口:注册码:67DCS-V3Q7L-XMGL9-FI6L9-EE1BJ该注册码有限制台数的,一旦注册了就会把MAC绑定,重装无需注册!当有以下报错时:请查看是否已经注册。

1.2、按照一般的软件安装方法安装好IDE环境,下面介绍IDE环境的配置:1、将DIF_RFP文件夹下的Device_Custom文件夹拷贝到安装目录下的C:\Program Files\Renesas Electronics\CubeSuite+下(这里是默认的安装目录,另外注意:DIF_RFP中Readme_Device_Custom.txt说将Device_Custom文件夹拷贝到C:\Program Files\Renesas Electronics\CubeSuite+\Device下,但是实际上不可以!)。

DIF_RFP文件夹安装根目录当配置成功以后会在芯片族里面多出R7F系列的单片机,如下图示:2、将DIF_RFP文件夹下的RFP_R7F0C002L_V10000子目录下面的两个文件(Device_Custom文件夹和Custom_Productlist.xml文件)拷贝到安装目录下的C:\Program Files\Renesas Electronics\Programming Tools\Renesas Flash Programmer V2.01\Device下(这里是默认安装路径)。

1.3、开发环境新建工程:1、启动CubeSuite+环境,会弹出如下启动界面:2、创建Project工程,在上述启动界面中,点击Creat New Project栏中GO按钮,将会弹出以下对话框:选择工程路径创建输入工程名选择芯片型号选择芯片族3、点击Create创建工程,会得到如下工程界面:4、通过生成工具生成一个简单的代码:5、将芯片型号换成R7F0C002单片机,并且将选项字节配置好!详细设置请参考第三章代码生成与编码。

第1章R8C1A、1B单片机概述

第1章R8C1A、1B单片机概述

第1章R8C/1A、1B单片机概述随着半导体技术和工艺的快速发展,单片机已经渗透到人们生活的各个领域。

由于其体积小、重量轻、价格便宜、具有很强的灵活性,为学习、应用和开发提供了便利条件。

环顾身边,几乎很难找到哪个领域没有单片机的踪迹。

遥控器、洗衣机、电冰箱、空调、电饭煲等家电产品,移动电话等通信产品,电视、音响等AV设备,以及汽车音响、安全气囊等汽车电子产品,单片机在各个领域都得到了广泛的应用。

瑞萨公司由日立制作所、三菱电机的半导体部门合并而成,是MCU市场占有率位居全球第一的企业,业务范围更是涵盖了“移动通信”、“数码家电”和“汽车电子”三大领域。

1.1 瑞萨R8C/Tiny系列单片机随着单片机技术的发展,电子化使得产品的性能得到大幅度的提高,而一些尚未使用单片机的产品,例如还在使用机械式定时器的电子微波炉等,都有向高性能、多功能产品转化的趋势。

瑞萨公司为帮助用户完成产品高性能化的目标,秉承为用户打造“Easy to Use”的单片机理念,设计开发了具有低价位、少引脚、小型封装等特征的R8C/Tiny系列单片机,可应用于家电、AV,以及工业设备的系统控制器等。

1.1.1 R8C/Tiny系列单片机的特点作为瑞萨单片机的特色产品,R8C/Tiny系列单片机具有如下特点:1.采用16位CPU内核在当今的单片机应用领域,8位单片机依然在中国市场上占据主导地位,但是随着网络时代的到来,例如,通信协议的控制和安全性的验证对运算的复杂性提出了更高的需求,而8位单片机的数据处理和运算能力显然不足以满足要求。

R8C/Tiny系列单片机拥有M16C族单片机的高性能16位中央处理器内核,但为了减少引脚数,CPU与外围功能电路间的总线宽度变为8位,且内置了硬件乘法器,提高了CPU 的处理能力。

2.内置Flash存储器出于成本考虑,过去的单片机内置程序存储器以掩模ROM为主流;内置Flash程序存瑞萨R8C/1A、1B单片机原理和应用·2·储器的单片机通常只为开发才进行少数的量产。

瑞萨单片机启动文件介绍

瑞萨单片机启动文件介绍

瑞萨单片机启动文件介绍1.NC30介绍NC30的组件:nc30----------------编译驱动器cpp30---------------预处理器ccom30--------------编译器aopt30--------------汇编优化器sbauto--------------SB寄存器自动更新工具stkviewer & stk-----STK查看器与堆栈大小计算工具utl30---------------SBDATA声明及SPECIAL页函数声明工具mapview-------------映射查看器看下NC30处理流程:程序开发流程,生成X30文件的流程:以上就是编译器所做的工作和流程。

看了之后大家有了大概的了解。

具体的大家可以参看NC30编译器手册,待会会上传附件给大家下载。

2:启动程序介绍ncrt0.a30这个程序在程序启动或复位后立即运行,它主要执行下列处理:.设置SBDATA区.设置处理器的操作模式.初始化堆栈指针.初始化SB寄存器.初始化INTB寄存器.初始化NEAR数据区.初始化FAR数据区.初始化堆区.初始化标准I/O函数程序库.初始化FB寄存器.调用MAIN函数ncrt0.a30汇编文件,在建立工程的时候会自动生成。

以下附带详细注释,附件也可下载。

;***************************************************************************; C Compiler for R8C/Tiny, M16C/60,30,20,10; Copyright(C) 1999(2000-2006). Renesas Technology Corp.; and Renesas Solutions Corp., All rights reserved.;; ncrt0.a30 : Startup Program for M16C family;; $Date: 2006/11/22 04:13:23 $; $Revision: 1.1.4.1 $;***************************************************************************;---------------------------------------------------------------------; include files ;包含文件;---------------------------------------------------------------------.list OFF ;控制行输出数据输出到列表文件OFF:停止ON:开始.include nc_define.inc ;包含宏文件.include sect30.inc ;包含存储器映射文件.list ON;---------------------------------------------------------------------; BankSelect definition for 4M mode;---------------------------------------------------------------------; .glb __BankSelect;__BankSelect .equ 0BH;===================================================================== ; Interrupt section start ;中断段起始;---------------------------------------------------------------------.insf start,S,0.glb start.section interruptstart: ;复位后从这个标签开始运行;---------------------------------------------------------------------; after reset,this program will start ;复位后程序将启动;---------------------------------------------------------------------ldc #istack_top,isp ;设置istack指针(中断堆栈) ldc向专用寄存器ISP传递数据mov.b #02h,0ah ;保护寄存器PRCR PRC1=1 允许写PM0mov.b #00h,04h ;设置处理器模式PM0mov.b #00h,0ah ;关闭写保护.if __STACKSIZE__ != 0ldc #0080h,flg ;设置FLG寄存器IPL和其他状态FLG是16位标志寄存器堆栈指针选择USPldc #stack_top,sp ;设置堆栈指针.elseldc #0000h,flg.endifldc #data_SE_top,sb ;设置SB静态基址寄存器ldintb #__VECTOR_ADR__ ;向INTB寄存器传送指令,所以这里省了目标操作数intb;=====================================================================; NEAR area initialize. ;NEAR区初始化;---------------------- -----------------------------------------------; bss zero clear ;bss零清除;---------------------------------------------------------------------N_BZERO bss_SE_top,bss_SE ;清除NEAR bss段至零N_BZERO bss_SO_top,bss_SO ;N_BZERO清零宏定义N_BZERO bss_NE_top,bss_NE ;sect30.inc中有定义N_BZERO bss_NO_top,bss_NO;---------------------------------------------------------------------; initialize data section ;初始化数据段;---------------------------------------------------------------------N_BCOPY data_SEI_top,data_SE_top,data_SE ;将NEAR数据段和SBDA TA数据段的初始值转移到RAMN_BCOPY data_SOI_top,data_SO_top,data_SO ;N_BCOPY拷贝宏定义N_BCOPY data_NEI_top,data_NE_top,data_NE ;sect30.inc中有定义N_BCOPY data_NOI_top,data_NO_top,data_NO;=====================================================================; FAR area initialize. ;FAR区初始化;---------------------------------------------------------------------; bss zero clear ;bss零清除;---------------------------------------------------------------------.if __FAR_RAM_FLG__ != 0BZERO bss_FE_top,bss_FEBZERO bss_FO_top,bss_FO.endif;---------------------------------------------------------------------; initialize data section ;将FAR段数据段的初始值移到RAM中;---------------------------------------------------------------------.if __FAR_RAM_FLG__ != 0 ;从edata_EI(OI)段复制edata_E(O)段BCOPY data_FEI_top,data_FE_top,data_FEBCOPY data_FOI_top,data_FO_top,data_FOldc #stack_top,sp.stk -40.endif;===================================================================== ; heap area initialize ;堆区初始化;---------------------------------------------------------------------.if __HEAPSIZE__ != 0.glb __mnext.glb __msizemov.w #(heap_top&0FFFFH),__mnextmov.w #(heap_top>>16),__mnext+2mov.w #(__HEAPSIZE__&0FFFFH),__msizemov.w #(__HEAPSIZE__>>16),__msize+2.endif;===================================================================== ; Initialize standard I/O ;初始化标准I/O;---------------------------------------------------------------------.if __STANDARD_IO__ == 1.glb __init.call __init,Gjsr.a __init.endif;===================================================================== ; Call main() function ;调用MAIN函数;---------------------------------------------------------------------ldc #0h,fb ; for debuger 用于调试器.glb _mainjsr.a _main;===================================================================== ; exit() function ;推出函数;---------------------------------------------------------------------.glb _exit.glb $exit_exit: ; End program 结束程序$exit:jmp _exit.einsf;===================================================================== ; dummy interrupt function ;虚设的中断处理函数;---------------------------------------------------------------------.glb dummy_intdummy_int:reit.end;***************************************************************************; C Compiler for R8C/Tiny, M16C/60,30,20,10; Copyright(C) 1999(2000-2006). Renesas Technology Corp.; and Renesas Solutions Corp., All rights reserved.;***************************************************************************映射文件:sect30.inc.映射各个段.设置段的起始地址.定义堆栈和堆段的大小.设置中断向量表.设置固定向量表.宏定义;***************************************************************************; C Compiler for R8C/Tiny, M16C/60,30,20,10; Copyright(C) 1999(2000-2006). Renesas Technology Corp.; and Renesas Solutions Corp., All rights reserved.;; sect30.inc : section definition for M16C family;; $Date: 2007/01/09 04:38:46 $; $Revision: 1.1.4.1 $;***************************************************************************;===================================================================== ;; Arrangement of section ;段的排列;;---------------------------------------------------------------------; Near RAM data area ;Near RAM数据区;---------------------------------------------------------------------; SBDATA area.section data_SE,DATA.org 400Hdata_SE_top:.section bss_SE,DATA,ALIGNbss_SE_top:.section data_SO,DATAdata_SO_top:.section bss_SO,DATAbss_SO_top:; SBDATA area definition.glb __SB____SB__ .equ data_SE_top; near RAM area.section data_NE,DATA,ALIGNdata_NE_top:.section bss_NE,DATA,ALIGNbss_NE_top:.section data_NO,DATAdata_NO_top:.section bss_NO,DATAbss_NO_top:;--------------------------------------------------------------------- ; Stack area ;堆栈区;--------------------------------------------------------------------- .section stack,DATA,ALIGN.blkb __ISTACKSIZE__ ;.blkb分配一字节ram istack_top:.if __STACKSIZE__ != 0.blkb __STACKSIZE__stack_top:.endif;--------------------------------------------------------------------- ; heap section ;heap段;--------------------------------------------------------------------- .if __HEAPSIZE__ != 0.section heap,DATAheap_top:.blkb __HEAPSIZE__.endif;--------------------------------------------------------------------- ; Near ROM data area ;NEAR rom数据区;--------------------------------------------------------------------- .if __NEAR_ROM_FLG__ != 0.section rom_NE,ROMDATA,ALIGNrom_NE_top:.section rom_NO,ROMDATArom_NO_top:.endif;--------------------------------------------------------------------- ; Far RAM data area ;FAR RAM 数据区;--------------------------------------------------------------------- .if __FAR_RAM_FLG__ != 0.section data_FE,DATA.org 10000Hdata_FE_top:.section bss_FE,DATA,ALIGNbss_FE_top:.section data_FO,DATAdata_FO_top:.section bss_FO,DATAbss_FO_top:.endif;--------------------------------------------------------------------- ; Far ROM data area ;FAR ROM 数据;--------------------------------------------------------------------- .section rom_FE,ROMDATA.org __ROM_TOPADR__rom_FE_top:.section rom_FO,ROMDATArom_FO_top:;--------------------------------------------------------------------- ; Initial data of 'data' section ;far rom数据初始化;--------------------------------------------------------------------- .section data_SEI,ROMDATA,ALIGNdata_SEI_top:.section data_SOI,ROMDATAdata_SOI_top:.section data_NEI,ROMDATA,ALIGNdata_NEI_top:.section data_NOI,ROMDATAdata_NOI_top:.if __FAR_RAM_FLG__ != 0.section data_FEI,ROMDATA,ALIGNdata_FEI_top:.section data_FOI,ROMDATAdata_FOI_top:.endif;--------------------------------------------------------------------- ; Switch Table Section;--------------------------------------------------------------------- ; .section switch_table,ROMDATA;switch_table_top:;--------------------------------------------------------------------- ; code area ;代码区;--------------------------------------------------------------------- .section program,CODE,ALIGN.section interrupt,CODE,ALIGN.section program_S,CODE,ALIGN;---------------------------------------------------------------------; variable vector section ;变量向量段;---------------------------------------------------------------------.section vector,ROMDATA.org __VECTOR_ADR__.if 0.lword dummy_int ; vector 0 BRK.lword dummy_int ; vector 1.lword dummy_int ; vector 2.lword dummy_int ; vector 3.lword dummy_int ; vector 4 (for user) int3.lword dummy_int ; vector 5 (for user) timerB5.lword dummy_int ; vector 6 (for user) timerB4.lword dummy_int ; vector 7 (for user) timerB3.lword dummy_int ; vector 8 (for user) si/o4/int5.lword dummy_int ; vector 9 (for user) si/o3/int4.lword dummy_int ; vector 10 (for user) Bus collision detection .lword dummy_int ; vector 11 (for user) DMA0.lword dummy_int ; vector 12 (for user) DMA1.lword dummy_int ; vector 13 (for user) Key input interrupt.lword dummy_int ; vector 14 (for user) A-D.lword dummy_int ; vector 15 (for user) uart2 transmit.lword dummy_int ; vector 16 (for user) uart2 receive.lword dummy_int ; vector 17 (for user) uart0 transmit.lword dummy_int ; vector 18 (for user) uart0 receive.lword dummy_int ; vector 19 (for user) uart1 transmit.lword dummy_int ; vector 20 (for user) uart1 receive.lword dummy_int ; vector 21 (for user) timer A0.lword dummy_int ; vector 22 (for user) timer A1.lword dummy_int ; vector 23 (for user) timer A2.lword dummy_int ; vector 24 (for user) timer A3.lword dummy_int ; vector 25 (for user) timer A4.lword dummy_int ; vector 26 (for user) timer B0.lword dummy_int ; vector 27 (for user) timer B1.lword dummy_int ; vector 28 (for user) timer B2.lword dummy_int ; vector 29 (for user) int0.lword dummy_int ; vector 30 (for user) int1.lword dummy_int ; vector 31 (for user) int2.lword dummy_int ; vector 32 (for user or MR30).lword dummy_int ; vector 33 (for user or MR30).lword dummy_int ; vector 34 (for user or MR30).lword dummy_int ; vector 35 (for user or MR30).lword dummy_int ; vector 36 (for user or MR30).lword dummy_int ; vector 37 (for user or MR30).lword dummy_int ; vector 38 (for user or MR30).lword dummy_int ; vector 39 (for user or MR30).lword dummy_int ; vector 40 (for user or MR30).lword dummy_int ; vector 41 (for user or MR30).lword dummy_int ; vector 42 (for user or MR30).lword dummy_int ; vector 43 (for user or MR30).lword dummy_int ; vector 44 (for user or MR30).lword dummy_int ; vector 45 (for user or MR30).lword dummy_int ; vector 46 (for user or MR30).lword dummy_int ; vector 47 (for user or MR30) .lword dummy_int ; vector 48.lword dummy_int ; vector 49.lword dummy_int ; vector 50.lword dummy_int ; vector 51.lword dummy_int ; vector 52.lword dummy_int ; vector 53.lword dummy_int ; vector 54.lword dummy_int ; vector 55.lword dummy_int ; vector 56.lword dummy_int ; vector 57.lword dummy_int ; vector 58.lword dummy_int ; vector 59.lword dummy_int ; vector 60.lword dummy_int ; vector 61.lword dummy_int ; vector 62.lword dummy_int ; vector 63.endif;--------------------------------------------------------------------- ; fixed vector section ;固定向量段;--------------------------------------------------------------------- .section fvector,ROMDATA.org 0fffdcHUDI:.lword dummy_intOVER_FLOW:.lword dummy_intBRKI:.lword dummy_intADDRESS_MATCH:.lword dummy_intSINGLE_STEP:.lword dummy_intWDT:.lword dummy_intDBC:.lword dummy_intNMI:.lword dummy_intRESET:.lword start;===================================================================== ; ID code & ROM code protect //密码保护设置;---------------------------------------------------------------------; ID code check function.id "#FFFFFFFFFFFFFF"; ROM code protect control address; .protect 00H;===================================================================== ; Initialize Macro declaration //宏定义,ncrt0.30中有使用到;---------------------------------------------------------------------N_BZERO .macro TOP_,SECT_mov.b #00H,R0Lmov.w #(TOP_ & 0FFFFH),A1mov.w #sizeof SECT_,R3sstr.b.endmN_BCOPY .macro FROM_,TO_,SECT_mov.w #(FROM_ & 0FFFFH),A0mov.b #(FROM_ >> 16),R1Hmov.w #TO_,A1mov.w #sizeof SECT_,R3smovf.b.endmBZERO .macro TOP_,SECT_push.w #sizeof SECT_ >> 16push.w #sizeof SECT_ & 0ffffhpusha TOP_ >> 16pusha TOP_ & 0ffffh.stk 8.glb _bzero.call _bzero,Gjsr.a _bzero.endmBCOPY .macro FROM_ ,TO_ ,SECT_push.w #sizeof SECT_ >> 16push.w #sizeof SECT_ & 0ffffhpusha TO_ >> 16pusha TO_ & 0ffffhpusha FROM_ >> 16pusha FROM_ & 0ffffh.stk 12.glb _bcopy.call _bcopy,Gjsr.a _bcopy.endm;*************************************************************************** ; C Compiler for R8C/Tiny, M16C/60,30,20,10; Copyright(C) 1999(2000-2006). Renesas Technology Corp.; and Renesas Solutions Corp., All rights reserved.;***************************************************************************nc_define.inc头文件定义;------------------------------------------------------------------------; |; FILE :nc_define.inc |; DATE :Fri, Dec 18, 2009 |; DESCRIPTION :interrupt program. |; CPU GROUP :29 |; |; This file is generated by Renesas Project Generator (Ver.4.8). |; |;------------------------------------------------------------------------; Macro Symbol definition__NEAR_ROM_FLG__ .equ 0 ; NEAR ROM flag definition__FAR_RAM_FLG__ .equ 0 ; FAR RAM flag definition__STANDARD_IO__ .equ 0 ; STANDARD I/O flag definition__HEAPSIZE__ .equ 0300H ; HEEP SIZE definition__STACKSIZE__ .equ 0300H ; STACK SIZE definition__ISTACKSIZE__ .equ 0300H ; INTERRUPT STACK SIZE definition__VECTOR_ADR__ .equ 0ffd00H ; INTERRUPT VECTOR ADDRESS definition__ROM_TOPADR__ .equ 0F4000H ; ROM TOP ADDRESS definition__SPECIAL_PRG__ .equ 0f8000H ; Special page program address。

瑞萨RL78单片机和开发工具(培训教程)[RL78 Tool introduce]

瑞萨RL78单片机和开发工具(培训教程)[RL78 Tool introduce]
22
© 2011 Renesas Electronics Corporation. All rights reserved.
5
© 2011 Renesas Electronics Corporation. All rights reserved.
The basic operation of E1
User program execution Reset Tracing Break Performance measurement
E1
In-line programming by OCD OCD with programming function
E1
OS
Itron Compliance
Debugging by High Function Emulator In-circuit Emulator
IECUBE
REBJ-AN-MC-10001
RL78 Family Development Tool Lineup Useful tools at every development stage
Coding
Debugging
Debugging on PC
Programming
Programming by Renesas Ele.
RL7 8 / G 1 3
CubeSuite
Programmed
CPU Simulator Coding/ Building/ Device Driver IDE
In Renesas Electronics’s Factory
CubeSuite
Debugging by OCD On-Chip-Debugger with Programming function
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

停止模式
4 A/D 参考电压可切断
Vref Vref
Off
切断
AVss
电阻
模拟输入
A/D转换器
5 定时器时钟源可选
XIN
外部信号 输入
时钟发生电路 内部振荡器
定时器
7 © 2010 Renesas Electronics Corporation. All rights reserved.
R8C/Tiny系列单片机的主要优点
Vref
数据 闪存
-减少元件 -增加了有效引脚
EEPROM
减少元件
高速内部 振荡器
GND
MODE 单线调试 系统接口*
调试接口
串行写入器接口
-减少元件 -增加了有效引脚
增加了有效引脚
注: R8C/14群以后的单片机可以实现单线调试
8 © 2010 Renesas Electronics Corporation. All rights reserved.
未定义指令中断
程序失控时
CPU
重要寄存器
“跑飞”
程序区
FF FF FF
错误恢复 程序
未使用区
9 © 2010 Renesas Electronics Corporation. All rights reserved.
R8C/Tiny系列单片机的主要优点
安全设计
5 振荡停止检测功能
当主时钟意外停止时,CPU时钟自动切换到内部振荡器!
Controller type SH-1
SH-2A SH2-DSP
SH-2
SH/Tiny
Processor type SH-4A
SH3-DSP
SH-4
SH-3
Superscalar
MMU
H8S/2600
H8S Family
1 instruction in
H8S/2500
1 clock cycle H8S/2400
R8C/Tiny系列单片机的主要优点
R8C/Tiny——
Renesas最新推出的小型化封装、高性能的16位单片机 低功耗设计 减少外部电路 安全设计 代码效率高 优化的CPU寄存器结构 优秀的电磁兼容性 可靠的FLASH存储器 On-chip调试
6 © 2010 Renesas Electronics Corporation. All rights reserved.
减少外部电路
高速、高精度内部振荡器 (外接晶振引脚可用作输入端口) 内部上电复位电路 低电压检测电路 数据闪存(可代替E2PROM)
[现有产品]
复位 电路
VCC RESET
GND
Vref MODE
EEPROM 调试 接口
串行写入器接口[R8C/Tiny]复位 电路VCC
RESET POR / LVD
MCU培训(基于R8C/1B)
SH Field Application B Team EG, MCU Product Center Huang Han
Renesas Electronics Corporation MCU Product Center
2010-5-7
Rev. 0.1
© 2010 Renesas Electronics Corporation. All rights reserved.
H8/300L
H8/300L
H8/Tiny
M16C/30
R8C Family (H8S,300H)
32 to 100 pins Under development
R8C/Tiny
M16C/Tiny
48 to 80 pins
R8C/Lx
16 to 80 pins
Super Low Power
H8 Family 740 Family 7600
00000-A
2 © 2010 Renesas Electronics Corporation. All rights reserved.
MCU training
R8C MCU core
R8C peripheral & I/O
HEW and NC30 Sample Code
单片机工作的要素
R8C/Tiny系列单片机的主要优点
低功耗设计
1
可选择多种时钟分频比 (1,2,4,8,16分频)
2 低速/高速高精度内部振荡器
高速:40MHz 低速:125KHz
3 强大的功耗控制能力 1
通常运行模式, f(XIN)= 20MHz
1/200
等待模式, f(XIN)= 125 KHz
1/11000

(使用该功能时,主时钟频率须大于2MHz)
R8C/Tiny系列单片机的主要优点
安全设计
多种安全设计使单片机系统更加稳定!
1 强大的看门狗定时器
复位后硬件启动功能 时钟源保护功能(永不停止的看门狗)
VSS VCC
2 Vcc和Gnd引脚的安全处理
3 保护寄存器
正常
工作时 CPU
保护寄存器
重要寄存器
其它任意信号
4 特殊指令BRK (H’00) & UND (H’FF)
H8S/2300
M16C Family
1 instruction in 1clock cycle
Under development
R32C/100 M32C/90 M32C/80
M32R Family
M32R/ECU
H8S/2200
M16C/80
H8S/2100
M16C/60
H8/300H
8-bit
工作模式(Operation MODE) 时钟(Clock) 复位(Reset) 向量(Vecter Table)及中断(Interrupter)
Ru-Stick
3 © 2010 Renesas Electronics Corporation. All rights reserved.
4-bit
38000
4500
740
720
4 © 2010 Renesas Electronics Corporation. All rights reserved.
——R8C/Tiny系列单片机硬件接口
5 © 2010 Renesas Electronics Corporation. All rights reserved.
Roadmap of Pre-Renesas Microcomputers
32-bit RISC
SuperH Family Core development
32-bit CISC 16-bit
H8SX Family
1 instruction in
H8SX/1600
1 clock cycle H8SX/1500
相关文档
最新文档