瑞萨RL78 bootloader boot区跳转到app区 无法运行app程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了瑞萨RL78 bootloader boot区跳转到app区 无法运行app程序相关的知识,希望对你有一定的参考价值。

瑞萨RL78/F13芯片,IDE是CS+ for CC,通过CAN做的bootloader,boot区地址是0~0x4000,app区地址是0x4000以后,现在app数据已经写入0x4000地址,也正常跳转到app首地址0x4000上了,但是在线调试的时候还一直停在0x4000地址上,没有运行app程序。直接上电程序又是boot程序。 请教一下大牛们,是否工程配置上或者程序跳转上还有地方需要调整,在线等,急,谢谢!附件图片为在线仿真界面和app烧录文件

参考技术A 个人认为:估计是设置问题,或者软件有破损,重装试试追问

肯定是程序软件配置上还存在问题

参考技术B 从你截图来看,只有前面一段地址,这个s19文件仅仅是boot的还是合成以后的,如果合成以后的,没看到设置中断向量表里的中断函数入口地址这些东西,你app里面有没有用到中断向量表里的中断,如果用到了的话就有问题了。 参考技术C D800 FF,这里的FF是什么机器指令?
我怀疑程序app起来就进入Break了。
你可以换个能用的app烧录到0x4000,
多试几个,简单能用的看看。
还有硬件复位电路有没有问题,可以检查一下看看。追问

    首先你说的D8 00 FF,根据技术资料,前面128个字节是向量表数据;

    另外我的app程序很简单,就只有一句io口操作功能,没有任何中断开启,你说的break是什么意思?

    还有我单独烧录app程序是可以正常的,硬件电路应该就可以排除了吧。

感谢回复!

瑞萨IDE:CS+ for CC进行BootLoader升级时开发环境配置

目录

1、分配Boot和APP程序地址

2、输出Boot和APP程序HEX文件

3、将Boot和APP程序HEX文件烧录到MCU


BootLoader程序设计是常用的嵌入式升级方案之一,通过使用UART、SPI、IIC等接口实现对嵌入式节点的远程升级。

本片博文并不是讲解如何实现BootLoader升级程序,而是讲解使用CS+ for CC进行BootLoader升级设计时开发环境的配置,需要三步骤:

1、分配Boot和APP程序的地址;

2、分别输出Boot和APP程序HEX文件;

3、使用上位机将Boot和APP程序HEX文件合成并烧录到MCU。

如果对如何实现BootLoader升级程序感兴趣的朋友可参见博文:如何实现BootLoader升级程序

1、分配Boot和APP程序地址

选择:CC-RH(Build Tool)→Property→Link Options,设置程序的开始地址,如下图所示:

例如,设置APP程序起始地址为:0X00008000(RESET地址),如下所示:

2、输出Boot和APP程序HEX文件

选择:Common  Options,设置输出HEX文件名称:XXX.mot格式,如下图所示:

保存配置,编译工程, 可见工程文件DefaultBuild中出现XXX.mot文件,如下图所示:

3、将Boot和APP程序HEX文件烧录到MCU

Boot和APP程序HEX文件需要合并成一个HEX文件后才可以进行烧录,这里我使用的是自己设计的合并上位机软件,如下所示:

最后将Boot和APP程序合并后的HEX文件烧录到MCU,可以使用CS+自带的Flash Programmer工具烧录HEX文件,如下所示:

连接好烧录工具(我使用E1,RH850系列芯片)之后,打开 Renesas Flash Programmer,新建工程,点击:File→ Create New Project,具体设置如下所示:

Operation Settings,设置如下所示:

Flash Options,设置如下所示:

最后加载HEX就可以进行正常烧录了,如下所示:

注意:

1、在有BootLoader功能时,每次修改APP代码之后,必须重新合成、烧录HEX文件,才能调试APP; 

2、在APP开发过程中,不带BootLoader功能,配置APP起始编译地址为0x00000000,可直接调试APP。

以上是关于瑞萨RL78 bootloader boot区跳转到app区 无法运行app程序的主要内容,如果未能解决你的问题,请参考以下文章

谁有瑞萨rl78/g12单片机的教程或c语言代码 急急急!

关于瑞萨单片机RL78/G13的问题

每周一读丨瑞萨高质量开发工具,为RL78微控制器开发提供保证

瑞萨IDE:CS+ for CC进行BootLoader升级时开发环境配置

CubeSuit+ ( CS+ for ca )

STM32 USB编程,跳转到DFU的bootloader