【经验】RH850F1H MCU中FE级别中断的实现方法
笔者最近使用RENESAS RH850F1H系列R7F7015343AFP在开发一款车载网关的产品,之所以选中这款MCU,是看重了这款MCU丰富的通信接口,它支持百兆以太网,并且同时支持8路CAN/CAN-FD,可以很好的兼顾未来网关产品的功能扩展。
网关产品的开发过程中不可避免的会使用到中断功能,接下来笔者把项目中就如何设置实现中断功能的方法给大家做一个介绍。为了便于理解,笔者挑选使用的一个OSTM0的间隔中断作为例子,功能是实现1秒的间隔中断。
首先,就是要设置跟OSTM0相关的几个基本寄存器,主要包括下面函数中列出的这些,详细内容可以参考手册,这里就不详细说明了。笔者会把使用中的几个注意点着重做一下说明,避免其它使用者再走弯路。
void R_Config_OSTM0_Create(void)
{
/* Disable OSTM0 operation */
OSTM0.TT = _OSTM_COUNTER_STOP;
/* Disable OSTM0 interrupt operation and clear request */
INTC2.ICOSTM0.BIT.MKOSTM0 = _INT_PROCESSING_DISABLED;
INTC2.ICOSTM0.BIT.RFOSTM0 = _INT_REQUEST_NOT_OCCUR;
/* Set OSTM0 interrupt setting */
INTC2.ICOSTM0.BIT.TBOSTM0 = _INT_TABLE_VECTOR;
INTC2.ICOSTM0.UINT16 &= _INT_PRIORITY_LOWEST;
/* Set OSTM0 control setting */
OSTM0.CTL = _OSTM_MODE_INTERVAL_TIMER | _OSTM_START_INTERRUPT_DISABLE;
OSTM0.CMP = _OSTM0_COMPARING_COUNTER;
/* Synchronization processing */
g_cg_sync_read = OSTM0.CTL;
__syncp();
R_Config_OSTM0_Create_UserInit();
R_Config_OSTM0_Start();
}
void R_Config_OSTM0_Start(void)
{
/* Enable OSTM0 operation */
/* Clear OSTM0 interrupt request and enable operation */
INTC2.ICOSTM0.BIT.RFOSTM0 = _INT_REQUEST_NOT_OCCUR;
/* INTC2.ICOSTM0.BIT.MKOSTM0 = _INT_PROCESSING_ENABLED; */
ECON_FEINT.FEINTFMSK &= 0xffffbfff;
OSTM0.TS = _OSTM_COUNTER_START;
}
关于使能OSTM0中断有一个需要注意的地方。因为OSTM0中断既可以做FE级别可屏蔽中断(INTOSTM0_FE),又可以做EI级别可屏蔽中断(INTOSTM0),上面两条语句中的FEINTFMSK和MKOSTM0两个寄存器需要根据使用中断的不同单独个别设置。笔者的项目中使用的是INTOSTM0_FE中断,所以需要设置FEINTFMSK寄存器,从而使能中断的产生。
其次就是设置使能所有EI可屏蔽中断。我们可以上面提到的MK寄存器是使能每个单独的中断,而__EI()指令则是相当于一个使能中断的总开关。不过__DI()和__EI()只对EI级别可屏蔽中断起作用,不对FE级别可屏蔽中断起作用。因为笔者的项目中把OSTM0用作FE级别可屏蔽中断,所以程序中无需设置__DI()和__EI(),这里列出来供其它“攻城狮”使用EI可屏蔽中断时参考使用。
// DI();
R_Systeminit();
// __EI();
接下来就是定义一个中断服务函数的实体,这个其实没有太多可以说明的,按照如下的格式设置就可以了。
#pragma interrupt INTOSTM0_FE(priority=feint, fpu=true, callt=true)
void INTOSTM0_FE(void)
{
if((ECON_FEINT.FEINTF & 0x00004000) == 0x00004000)
{
ECON_FEINT.FEINTFC = 0x00004000;
}
}
最后提到的就是如何从中断向量表跳转到中断服务函数。这个各个编译器的差别很大,笔者使用的是瑞萨的编译器CS+,需要开发者在boot.asm文件中做相应的修改。找到FEINT的中断向量的位置改成对应中断服务函数的名称就可以了。
.align 16
syncp
jr32 _INTOSTM0_FE ;_Dummy ; FEINT
到此,设置和使用中断服务函数的方法和注意事项就介绍完了,希望对各位使用RH850F1H的开发者有所帮助。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由简单的匠人提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】一文认识瑞萨RH850 MCU的RAM空间
Renesas(瑞萨电子)汽车大集成MCU RH850系列,集车身,底盘,发动机功能资源为一体,采用40nm工艺,符合ISO26262 ASIL-B~ASIL D的功能安全标准,支持HSM加密模块。本文主要介绍RH850系列MCU的 ram空间。
【经验】瑞萨RH850/F1KM系列MCU中断异常的原因与解决方法
瑞萨RH850/F1Km系列MCU,是瑞萨推出主要用于车身控制、网关、域控等应用的主控MCU,包含丰富的外设模块,支持车载控制需要用到的CAN、LIN等通讯,本文介绍该款MCU的中断机制介绍,以及在使用过程中容易出现的进入dummy中断的原因与解决方法。
【经验】CS+开发瑞萨MCU RH850的ADC+DMA调试指引
Renesas的RH850 F1K是汽车车身控制的首选MCU,由于高性能和安全性得到汽车客户认可,但由于开发资料有限,导致许多客户开发比较头痛。近期有客户在使用DMA的开发中遇到了问题,下面结合F1K的开发板实现ADC+DMA的驱动设计。
世强目前有代理riscv的mcu吗?
世强代理的RISC-V内核MCU厂家越来越多,还在不断增长。 国外厂家有瑞萨 【产品】瑞萨推出全新RISC-V MCU R9A02G020,优化先进电机控制系统设计和降低用户开发成本 国内厂家介绍如下: 广芯微内置32位RISC-V内核的PD SoC芯片UM3506,最高主频33MHz 全球首家全栈自研RISC-V内核的通讯接口芯片/全栈MCU供应商沁恒(WCH) RISC-V内核低功耗32位MCU,中移芯昇授权世强先进全线代理 芯昇科技携多款芯片产品亮相ICDIA,助力RISC-V生态发展 先楫半导体提供多系列通用MCU,以开源的RISC-V架构为核心,综合性能达世界领先水平 航顺芯片首次进入胡润全球独角兽榜,已量产中国第一颗M3+RISC-V多核MCU 中微半导体积极推动RISC-V架构安全化、智能化,共筑国产安全芯片生态 博流业界第一款基于RISC-V CPU的WI-FI+BLE双模SoC芯片,打造智慧家居AIoT芯片平台 璇玑CLE系列是核芯互联基于32位RISC-V内核推出的通用嵌入式MCU处理器 方寸微电子加入RISC-V产业联盟,推动安全芯片国产化,打破国外芯片技术垄断
RL78/G24瑞萨MCU
型号- R7F101GBE,R7F101GBG,R7F101G7G2DNP,R7F101GBG4CNP,R7F101GJE,R7F101G7G4CNP,R7F101GJG,R7F101GBG2DNP,R7F101GFE,R7F101GEE3CNP,R7F101GFG,R7F101GJE3CFA,R7F101GBG2DFP,R7F101GAE3CSP,R7F101GFE3CFP,R7F101G7E4CNP,R7F101G7E2DNP,R7F101GEE4CNP,R7F101G7G3CNP,R7F101GAG3CSP,R7F101GFG3CFP,R7F101GBE2DNP,R7F101GBE4CNP,R7F101GGE,R7F101GEE2DNP,R7F101GGE4CFB,R7F101GGG,R7F101GBE2DFP,R7F101GJE2DFA,R7F101G7E3CNP,R7F101GJE4CFA,R7F101G6E,R7F101G8E3CLA,R7F101G8G2DLA,R7F101G6G,R7F101GGG3CNP,R7F101GAG2DSP,R7F101GFG2DFP,R7F101GAG4CSP,R7F101GGE2DNP,R7F101GLG3CFA,R7F101GLG,R7F101GGG3CFB,R7F101GLG3CFB,R7F101GLE2DFB,R7F101GEG4CNP,R7F101GLE2DFA,R7F101GBE3CNP,R7F101GEG2DNP,R7F101GGE2DFB,R7F101GBE3CFP,RL78/G24,R7F101GLE,R7F101GJG4CFA,R7F101G6E2DSP,R7F101G8G3CLA,R7F101G6E4CSP,R7F101G8E2DLA,R7F101G6G3CSP,R7F101G7E,R7F101G7G,R7F101GGG2DNP,R7F101GEG,R7F101GAE,R7F101GAG,R7F101GEG3CNP,R7F101GGE3CNP,R7F101GJG2DFA,R7F101GFE2DFP,R7F101GLE3CFB,R7F101GLG2DFB,R7F101GGG4CFB,R7F101GLE3CFA,R7F101GLG2DFA,R7F101GBG3CNP,R7F101GLL3XXXCFB#AA1,R7F101GGE3CFB,R7F101GGG2DFB,R7F101GEE,R7F101GAE4CSP,R7F101GJG3CFA,R7F101GBG3CFP,R7F101G6G4CSP,R7F101G8E,R7F101GAE2DSP,R7F101G8G,R7F101G6G2DSP,R7F101G6E3CSP
【经验】瑞萨RH850/F1KM芯片R7F7016443的调试接口电路设计分享
瑞萨RH850/F1Km系列MCU,是瑞萨推出主要用于车身控制、网关、域控等应用的主控MCU,包含丰富的外设模块,支持车载控制需要用到的CAN、LIN、以太网等通讯,本文介绍该系列MCU芯片R7F7016443的调试接口电路设计。
RA系列MCU注入电流,防止损坏MCU应用笔记
描述- 本资料介绍了如何防止RA系列微控制器(MCU)因异常注入电流而损坏。内容包括推荐的注入电流条件、不同型号的参数限制以及额外的说明和建议,旨在指导用户在设计和应用过程中采取适当的措施以保护MCU免受损害。
型号- RA FAMILY,RA4T1,RA6T2,RA6T1,RA6T3,RA4M1,RA2L1,RA4M3,RA6M1,RA4M2,RA6M3,RA6M2,RA6M5,RA2E1,RA6M4,RA4E1,RA2E2,RA6E1,RA2A1,RA4E2,RA6E2
【经验】关于瑞萨MCU RH850的option bytes配置说明
瑞萨MCU RH850比较特殊的地方,其中一点就是Option Bytes配置。Option Bytes实际上是一个扩展区域,用于保存用户上电初始化配置的参数。我们以RH850 F1L系列为例。
【经验】e2studio调试瑞萨MCU stack栈设置及查看
近期有客户使用e2studio调试瑞萨(Renesas)MCU时,需要查看栈的使用情况,通过软件找了一圈没有发现,感觉是没提供这个功能。其实e2studio是有的,本文介绍stack栈的调试窗调出。
【经验】瑞萨MCU RA6M4 USB转串口调试指引
USB现已非常普及,在小小的单片机上都可以实现,瑞萨的RA6M4是基于Armv8-M架构的Arm®Cortex®-M33内核MCU,其接口非常丰富,就带有USB接口。以往的USB开发给人非常繁琐的感觉,现通过e2 studio开发变得非常简单。
【经验】基于MCU CS+ RH850/F1K Boot开发指引
车载ECU开发都需要通过Boot实现在线升级,Boot是嵌在APP前面执行的程序,在需要更新APP代码时会对flash APP部分重新编程。近期有客户调试RH850/F1K MCU出现Boot跳到APP程序不能执行,下面以开发板为例实现Boot到APP。
【经验】如何配置禁用RH850/F1K MCU的烧录引脚
RH850/F1K系列MCU,是瑞萨推出主要用于车身控制、网关等应用的主控MCU,支持多种车载控制需要用到的CAN、LIN、以太网等通讯模块,也可以支持片上EEPROM存储功能。
RA系列MCU注入电流,防止损坏MCU
型号- RA FAMILY,RA6T2,RA6T1,RA4M1,RA2L1,RA6M1,RA4M3,RA4M2,RA6M3,RA6M2,RA6M5,RA2E1,RA6M4,RA4E1,RA2E2,RA6E1,RA2A1
【经验】关于瑞萨MCU RH850 C1M-A2的内存地址分配介绍
本文是关于瑞萨MCU RH850 C1M-A2的内存地址分配介绍,我们在设计瑞萨MCU RH850 C1M-A2的时候,对内存空间分布一定要有所了解。芯片内部flash和ram空间大小如下。
【经验】调试MCU RH850F1KM时,如何使用CS+调试程序在程序运行的过程中看全局变量
笔者在使用Renesas的MCU RH850F1KM和CS+开发环境开发车载网关的时候,需要在程序运行的过程中实时观察全局变量的值。本文就主要介绍该方法的实现方式。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论