【经验】嵌入式系统应用中MCU在ghs IDE环境下如何实现app地址偏移和调试?
一般在嵌入式系统应用中,尤其是在车载应用中,都会有程序升级的需求,因而也就会用到bootloader。系统在上电或复位时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的BootLoader程序,因此app程序就需要相应的进行地址偏移。本文以瑞萨RH850系列MCU为例,介绍了在ghs环境中要如何实现app的地址偏移。
一般来说,嵌入式软件的链接地址都是由ld文件决定的,ghs工程也是如此,如图所示:
我们只需要将红色方框中的地址修改成app需要偏移到的地址即可,注意intvect_end处的0x600偏移地址必须加上。编译后会发现生成的hex文件起始地址已变成想要的地址了。但是在调试时会发现,如果系统的0x0处无内容,中断无法使用,一旦调用中断,系统就会跑飞。这是因为内核中默认的中断向量表起始位置在0x0处,所以我们需要同样需要将中断向量表起始地址修改成app所用中断向量表起始位置。具体配置代码如下:
SET_EBASE(0x00030000);
SET_INTBP(0x00030200);
SET_PSW_EBV();
其中EBASE代表exception向量表起始地址,INTBP代表interrupt向量表起始地址,而PSW_EBV表示PSW程序状态字中的EBV位,置一表示使用EBASE寄存器值作为exception起始地址,置0表示与RBASE共用一个地址。
至此,app可以正常运行。但是我们会发现,在调试过程中,如果需要手动复位,复位之后一样是无法运行的,再想调试的话只能关闭界面重新连接,很不方便,当然也可以使用界面上的restart按键,但还是会需要一段加载时间。出现这个现象同样是因为系统默认的程序复位起始地址是0x0,我们需要把程序的reset地址同样修改到我们需要的地址即可。修改代码如下:
SET_RBASE(0x00030000);
这几条指令均是定义在cpu.h文件中。该头文件可以从瑞萨官网下载的device file包中获取。有可能该头文件中没有SET_RBASE()定义,可自行参考SET_EBASE()进行添加。
- |
- +1 赞 0
- 收藏
- 评论 3
本文由夜雨提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】一文认识瑞萨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中断的原因与解决方法。
【经验】ghs IDE如何生成hex、map、size等代码信息文件
瑞萨针对其MCU产品推出了CS+,同时与其生态合作伙伴Green Hills推出了Multi,由于瑞萨应用于汽车仪表的RH850 D系列的图形库是基于ghs开发的,因此一般都是建议RH850 D1x用户使用ghs。但是毕竟是第三方的IDE,使用范围也不是那么广,因此很多D1x用户对其功能配置也不甚了解,本文将主要介绍在使用ghs编译工程时如何生成hex、map以及代码size等相关文件。
【产品】芯海车规MCU,48MHz,内置1MADC,1*PWM电机控制及车身域应用案列介绍 |视频
芯海科技通用车规MCU及车身域应用案例
【IC】极海新推工作主频达168MHz的车规级MCU APM32A系列,满足汽车电子多样化通信与车身控制应用需求
极海半导体宣布推出具有高效CPU处理性能、增强型存储空间、以及丰富连接功能的APM32A系列车规级MCU,以有效满足汽车电子多样化通信与车身控制应用开发需求,可广泛应用于车身控制、安全系统、信息娱乐系统、动力系统等车用场景。
基于极海G32A1445的BCM车身控制器量产级应用方案,降低集成复杂性
极海综合成本与功能集成化考量,推出G32A1445汽车通用MCU BCM车身控制器应用方案,可实现灵活的配置与扩展性,并降低BCM设计中面临的低功耗、复杂性、兼容性与安全性问题,确保整机系统集中管理,高效、智能、稳定运行。
【应用】车规级语音合成芯片ML22Q374用于汽车仪表,可直接输出到扬声器并节省外置ROM
ML22Q374是ROHM推出的系列车规级语音合成芯片,采用模数混合技术,内置闪存和语音功放,可存储语音数据,输出语音信号,只需要通过MCU简单发送指令即可发出想要的语音信号,支持混音功能,通过上位机可编程语音节奏,频率。可适应国标机动车低速提示单的相关标准,十分适用于汽车仪表应用设计。
芯海科技携多款智慧座舱及车身控制应用领域的车规级MCU,亮相2022张江汽车半导体生态峰会
“2022张江汽车半导体生态峰会暨全球汽车电子交流会”在上海张江科学会堂隆重举行,芯海科技的CSA37F62、CS32G020Q、CS32A010、CS32F036Q等“智慧座舱”及“车身控制”领域的创新产品应邀参展,受到现场专业观众的热情关注。
【应用】高算力低功耗32位MCU EFM32PG22C200F64IM32助力汽车仪表盘设计,功耗仅26μA/MHz
汽车仪表盘通过安装在车上各部位的传感器数据汇集到仪表盘上显示出来的。主要有发动机转速、车速、燃油位等相关信息,因为处理信息的复杂度及安全性的要求,对主控制芯片有较高的要求。本项目需要一款高算力低功耗的MCU,本文推荐芯科的控制器方案。
【选型】为汽车仪表MCU供电选择车规级LDO BD00IC0MEFJ,输出电流最高可达1A
汽车仪表系统对MCU的供电芯片有以下要求:汽车仪表为前装市场,需要满足AEC-Q100认证;5V转3.3V,输出电流需满足1A电流;需内置保护功能并要带有使能脚。推荐ROHM的LDO BD00IC0MEFJ,输入电压2.5V-5.5V,输出电压0.8V-4.5V,输出电流最大为1A,且外围电路简单,便于设计。
瑞萨公开下一代车用SoC和MCU处理器产品路线图,全新R-Car MCU系列扩展其车辆控制产品阵容
瑞萨电子公开了针对汽车领域所有主要应用的下一代片上系统(SoC)和微控制器(MCU)计划。未来产品阵容包括采用先进小芯片封装(Chiplet)集成技术的R-Car SoC和基于Arm®核的车用MCU。
【经验】CS+开发瑞萨MCU RH850的ADC+DMA调试指引
Renesas的RH850 F1K是汽车车身控制的首选MCU,由于高性能和安全性得到汽车客户认可,但由于开发资料有限,导致许多客户开发比较头痛。近期有客户在使用DMA的开发中遇到了问题,下面结合F1K的开发板实现ADC+DMA的驱动设计。
【经验】如何解决MCU RH850 C1MA2多核响应INTC2共享中断的问题
最近,有客户在调试瑞萨MCU RH850 C1MA2的多核响应中断的时候,发现中断不能正常响应的问题。具体情况是这样的,根据方案设计,部分中断响应需要通过不同的内核来并发响应中断,以提高MCU执行效率。
【经验】瑞萨RH850/F1KM芯片R7F7016443的调试接口电路设计分享
瑞萨RH850/F1Km系列MCU,是瑞萨推出主要用于车身控制、网关、域控等应用的主控MCU,包含丰富的外设模块,支持车载控制需要用到的CAN、LIN、以太网等通讯,本文介绍该系列MCU芯片R7F7016443的调试接口电路设计。
【经验】关于瑞萨MCU RH850的option bytes配置说明
瑞萨MCU RH850比较特殊的地方,其中一点就是Option Bytes配置。Option Bytes实际上是一个扩展区域,用于保存用户上电初始化配置的参数。我们以RH850 F1L系列为例。
电子商城
现货市场
服务
可定制显示屏的尺寸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 提交需求>
查看全部1条回复