【经验】瑞萨RH850/U2A使用FREERTOS中,如何处理调用浮点运算时的中断堆栈保护?

2021-09-03 世强
MCU,RH850,U2A,Renesas MCU,RH850,U2A,Renesas MCU,RH850,U2A,Renesas MCU,RH850,U2A,Renesas

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例程时,需要注意任务切换时的堆栈保护,如使用到浮点运算需要增加浮点运算相关的寄存器保护。

技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由木木提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】一文认识瑞萨RH850 MCU的RAM空间

Renesas(瑞萨电子)汽车大集成MCU RH850系列,集车身,底盘,发动机功能资源为一体,采用40nm工艺,符合ISO26262 ASIL-B~ASIL D的功能安全标准,支持HSM加密模块。本文主要介绍RH850系列MCU的 ram空间。

2021-11-07 -  设计经验

【经验】一文让你了解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供应商。

2018-08-02 -  设计经验

【经验】CS+开发瑞萨MCU RH850的ADC+DMA调试指引

Renesas的RH850 F1K是汽车车身控制的首选MCU,由于高性能和安全性得到汽车客户认可,但由于开发资料有限,导致许多客户开发比较头痛。近期有客户在使用DMA的开发中遇到了问题,下面结合F1K的开发板实现ADC+DMA的驱动设计。

2022-07-21 -  设计经验

世强目前有代理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产业联盟,推动安全芯片国产化,打破国外芯片技术垄断

2019-12-09 -  技术问答

瑞萨公开下一代车用SoC和MCU处理器产品路线图,全新R-Car MCU系列扩展其车辆控制产品阵容

瑞萨电子公开了针对汽车领域所有主要应用的下一代片上系统(SoC)和微控制器(MCU)计划。未来产品阵容包括采用先进小芯片封装(Chiplet)集成技术的R-Car SoC和基于Arm®核的车用MCU。

2023-11-11 -  原厂动态

【经验】瑞萨MCU RH850/U2A8的GHS调试链接配置方式

由于在开发RH850系列的MCU时,GHS对应链接文件都有所不同,为了方便客户的开发应用特意总结了一下RH850/U2A8的一些配置选型界面参数。

2022-12-28 -  设计经验

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

Aug. 10, 2023  - RENESAS  - 应用笔记或设计指南  - Rev.1.30

【经验】瑞萨RH850 MCU芯片如何实现从BOOT跳转到APP地址中执行?

本文介绍瑞萨RH850芯片如何实现从BOOT区域跳转到APP区域。

2021-07-01 -  设计经验

【经验】关于瑞萨MCU RH850的option bytes配置说明

瑞萨MCU RH850比较特殊的地方,其中一点就是Option Bytes配置。Option Bytes实际上是一个扩展区域,用于保存用户上电初始化配置的参数。我们以RH850 F1L系列为例。

2022-12-17 -  设计经验

【经验】以RH850/F1K MCU为例,分享怎么提高CPU使用效益

某客户在做基于RH850/F1K的开发时用到了浮点运算功能,在运行浮点运算函数时发现CPU利用率比较高,响应速度比较慢,运行不正常,怀疑是MCU内部资源问题。

2023-06-21 -  设计经验

【经验】MCU进入休眠模式后,静态电流不满足低功耗指标的问题解析

工程师在设计产品时,实现功能很简单,但要集成系统应用保持稳定工作并保证低功耗指标,就不是一件很容易的事情了,明明MCU的电气参数电流指标为微安级别,但设计完系统进入休眠模式后,静态电流却是毫安级别,甚至于大几十毫安,高出了标准的几十上百倍。本文以Renesas瑞萨电子RL78或RH850为例,介绍分析静态电流不满足低功耗指标的步骤,找出可能导致静态电流高的原因。

2020-10-22 -  设计经验

【经验】RH850 MCU内置的智能加密单元ICU,保护车辆ECU系统免遭篡改或盗窃损害

瑞萨电子RH850 MCU内置的智能加密单元ICU很好的解决了这些问题,将秘钥存储在单独的存储区域中,CPU无法直接访问,需要通过专用机制来增强实际的防篡改功能,支持高端的加密操作如RSA,ECC等;可以提供防止软件操纵,连接硬件和软件,安全启动,网络节点中ECU的验证等安全服务。

2020-02-11 -  设计经验

【经验】瑞萨RH850 U2A系列使用MCU的Retention RAM时被异常清空的处理方法

瑞萨RH850 U2A系列MCU的Retention RAM在Deepstop模式可以保存数据,在实际开发过程中我们会遇到一些异常的操作Retention RAM的问题,比如Retention RAM中的数据被异常清空的情况,那么遇到这种问题我们该怎么处理呢?

2023-05-31 -  设计经验

【经验】基于MCU CS+ RH850/F1K Boot开发指引

车载ECU开发都需要通过Boot实现在线升级,Boot是嵌在APP前面执行的程序,在需要更新APP代码时会对flash APP部分重新编程。近期有客户调试RH850/F1K MCU出现Boot跳到APP程序不能执行,下面以开发板为例实现Boot到APP。 ​

2023-02-15 -  设计经验

【经验】RH850 MCU CSI使用从模式,应该这样来操作,否则无法接收

笔者在使用瑞萨RH850的MCU时,要使用SPI的从模式接收和发送,所以在设置时,将发送和接收同时使能,但无论如何,通过仿真watch寄存器配置均正常,竟然收不到数据;而如果只打开接收使能,却可以正常收到数据;这是怎么回事呢?本文具体介绍。

2020-06-27 -  设计经验
展开更多

电子商城

查看更多

品牌:RENESAS

品类:芯片

价格:¥54.1044

现货: 0

品牌:瑞纳捷

品类:高性能防复制加密芯片

价格:¥0.7000

现货: 1,234,500

品牌:瑞纳捷

品类:MCU

价格:¥0.5500

现货: 740,897

品牌:武汉芯源

品类:通用MCU

价格:¥8.4750

现货: 300,010

品牌:武汉芯源

品类:通用MCU

价格:¥7.0625

现货: 300,000

品牌:武汉芯源

品类:通用MCU

价格:¥7.6275

现货: 300,000

品牌:武汉芯源

品类:通用MCU

价格:¥4.8025

现货: 300,000

品牌:武汉芯源

品类:通用MCU

价格:¥4.8025

现货: 300,000

品牌:武汉芯源

品类:通用MCU

价格:¥7.6275

现货: 300,000

品牌:武汉芯源

品类:通用MCU

价格:¥7.0625

现货: 300,000

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥257.6400

现货:58,799

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货:910,635

品牌:RENESAS

品类:MCU

价格:¥5.1500

现货:200,000

品牌:RENESAS

品类:MCU

价格:¥5.8041

现货:86,925

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:RENESAS

品类:芯片

价格:¥25.3732

现货:42,346

品牌:RENESAS

品类:MCU

价格:¥19.4999

现货:39,498

品牌:RENESAS

品类:MCU

价格:¥39.8484

现货:38,160

品牌:RENESAS

品类:MCU

价格:¥78.9058

现货:34,935

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

IC烧录代工及IC自动化烧录

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。

最小起订量: 1 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面