【经验】瑞萨RH850/U2A使用FREERTOS中,如何处理调用浮点运算时的中断堆栈保护?
RENESAS瑞萨电子下一代域控制器MCU RH850/U2A,集车身,底盘,发动机功能资源为一体,在此基础上还做了性能提升,采用新的28nm工艺,具有双核/4核配置,符合ASIL-D功能安全标准,Flash双bank配置,集成千兆以太网接口,支持EVITA-Full加密外设,目前已在域控制器主控MCU领域应用实现。
作为域控制器的主控,需要处理的信息量大,需要考虑使用实时系统来运行MCU。本文介绍瑞萨RH850/U2A在使用实时系统FREERTOS时,当调用浮点运算时,应该如何处理中断堆栈保护,以实现可在浮点运行的函数中切换任务。
RH850/U2A支持浮点运算,因此在运行带浮点运算的任务时,我们切换任务时除了保存系统基本寄存器外,还需要保存浮点运算相关寄存器。FREERTOS在瑞萨的移植的程序中,我们切换任务保存是在port.asm文件中进行堆栈保护。如下图1所示,我们使用OSTM定时器中断来做滴答时钟,并在这里处理任务切换。此时我们需要对任务切换时保护的一些汇编代码进行修改。下图为修改前的代码:
图1 FREERTOS任务切换保护寄存器
为了增加浮点运算的保护,我们将代码改成如下所示。浮点运算的基础寄存器为FPSR与FPEPC,寄存器标号为SR6,0与SR7,0.我们用LP寄存器来进行保护处理,具体代码如下:
add -0x14,sp ;; prepare stack to save necessary values
st.w lp,16[sp] ;; store LP to stack
stsr 0,r31
st.w lp,12[sp] ;; store EIPC to stack (SR2,0)
stsr 1,lp
st.w lp,8[sp]
stsr 6,lp
st.w lp,4[sp]
stsr 7,lp
st.w lp,0[sp]
...
...
...
;; ... scheduler decided should run.
ld.w 0[sp],lp ;; restore EIPC from stack(SR2,0)
ldsr lp,7
ld.w 4[sp],lp ;; restore EIPC from stack(SR2,0)
ldsr lp,6
ld.w 8[sp],lp ;; restore EIPSW from stack(SR3,0)
ldsr lp,1
ld.w 12[sp],lp ;; restore EIPC from stack(SR2,0)
ldsr lp,0
ld.w 16[sp],lp ;; restore LP from stack
add 0x14,sp ;; set SP to right position
EIRET
此外,需要注意由于通常我们对中断函数的定义加了interrup修饰符,当我们使用中断时,编译器会自主保护堆栈并打开总中断,这样容易引起中断嵌套.因此我们需要把OSTM定时器的中断修饰符interrup去掉.
综上所述,在移植瑞萨RH850/U2A的FREERTOS例程时,需要注意任务切换时的堆栈保护,如使用到浮点运算需要增加浮点运算相关的寄存器保护。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由木木提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关研发服务和供应服务
相关推荐
【经验】一文认识瑞萨RH850 MCU的RAM空间
Renesas(瑞萨电子)汽车大集成MCU RH850系列,集车身,底盘,发动机功能资源为一体,采用40nm工艺,符合ISO26262 ASIL-B~ASIL D的功能安全标准,支持HSM加密模块。本文主要介绍RH850系列MCU的 ram空间。
【经验】一文让你了解DSP与MCU区别
世强代理有Silicon Labs EFM8/EFM32系列8位MCU/32位MCU,Renesas 汽车级MCU RL78 系列,RH850、V850系列,工业级MCU RX系列等。世强有代理进芯电子32位浮点DSP,32位定点DSP,16位DSP,国内唯一可批量供货的32位工业控制DSP供应商。
【经验】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产业联盟,推动安全芯片国产化,打破国外芯片技术垄断
瑞萨公开下一代车用SoC和MCU处理器产品路线图,全新R-Car MCU系列扩展其车辆控制产品阵容
瑞萨电子公开了针对汽车领域所有主要应用的下一代片上系统(SoC)和微控制器(MCU)计划。未来产品阵容包括采用先进小芯片封装(Chiplet)集成技术的R-Car SoC和基于Arm®核的车用MCU。
【经验】瑞萨MCU RH850/U2A8的GHS调试链接配置方式
由于在开发RH850系列的MCU时,GHS对应链接文件都有所不同,为了方便客户的开发应用特意总结了一下RH850/U2A8的一些配置选型界面参数。
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
【经验】瑞萨RH850 MCU芯片如何实现从BOOT跳转到APP地址中执行?
本文介绍瑞萨RH850芯片如何实现从BOOT区域跳转到APP区域。
【经验】关于瑞萨MCU RH850的option bytes配置说明
瑞萨MCU RH850比较特殊的地方,其中一点就是Option Bytes配置。Option Bytes实际上是一个扩展区域,用于保存用户上电初始化配置的参数。我们以RH850 F1L系列为例。
【经验】以RH850/F1K MCU为例,分享怎么提高CPU使用效益
某客户在做基于RH850/F1K的开发时用到了浮点运算功能,在运行浮点运算函数时发现CPU利用率比较高,响应速度比较慢,运行不正常,怀疑是MCU内部资源问题。
【经验】MCU进入休眠模式后,静态电流不满足低功耗指标的问题解析
工程师在设计产品时,实现功能很简单,但要集成系统应用保持稳定工作并保证低功耗指标,就不是一件很容易的事情了,明明MCU的电气参数电流指标为微安级别,但设计完系统进入休眠模式后,静态电流却是毫安级别,甚至于大几十毫安,高出了标准的几十上百倍。本文以Renesas瑞萨电子RL78或RH850为例,介绍分析静态电流不满足低功耗指标的步骤,找出可能导致静态电流高的原因。
【经验】RH850 MCU内置的智能加密单元ICU,保护车辆ECU系统免遭篡改或盗窃损害
瑞萨电子RH850 MCU内置的智能加密单元ICU很好的解决了这些问题,将秘钥存储在单独的存储区域中,CPU无法直接访问,需要通过专用机制来增强实际的防篡改功能,支持高端的加密操作如RSA,ECC等;可以提供防止软件操纵,连接硬件和软件,安全启动,网络节点中ECU的验证等安全服务。
【经验】瑞萨RH850 U2A系列使用MCU的Retention RAM时被异常清空的处理方法
瑞萨RH850 U2A系列MCU的Retention RAM在Deepstop模式可以保存数据,在实际开发过程中我们会遇到一些异常的操作Retention RAM的问题,比如Retention RAM中的数据被异常清空的情况,那么遇到这种问题我们该怎么处理呢?
【经验】基于MCU CS+ RH850/F1K Boot开发指引
车载ECU开发都需要通过Boot实现在线升级,Boot是嵌在APP前面执行的程序,在需要更新APP代码时会对flash APP部分重新编程。近期有客户调试RH850/F1K MCU出现Boot跳到APP程序不能执行,下面以开发板为例实现Boot到APP。
【经验】RH850 MCU CSI使用从模式,应该这样来操作,否则无法接收
笔者在使用瑞萨RH850的MCU时,要使用SPI的从模式接收和发送,所以在设置时,将发送和接收同时使能,但无论如何,通过仿真watch寄存器配置均正常,竟然收不到数据;而如果只打开接收使能,却可以正常收到数据;这是怎么回事呢?本文具体介绍。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论