0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RZ Loader APP工程修改方法

瑞萨MCU小百科 来源:瑞萨MCU小百科 2024-01-09 12:08 次阅读

一、使用场景

客户在使用N2L做多协议产品时,在不同的产品上,需要同时将几种协议的程序烧录进flash中,然后通过不同的拨码或功能码配置来选择加载不同协议,此种情况下,就需要使用bootloader做程序的引导选择功能。此时则需要将产品代码分成2个工程,即一个Bootloader工程,一个Application工程,Bootloader工程里做不同协议的选择,加载功能,根据需求加载不同协议运行。

由于RZ工程正常启动时,代码分成LDR部分和user部分,所以Bootloader可以分别对Application以上2部分进行加载,在Bootloader工程里里复制application的LDR部分到BTCM里运行,由于LDR程序里有根据user代码、数据的起始地址和长度定义,从flash区拷贝到RAM区运行的代码,所以只要LDR程序运行起来,代码则可以自动完成user程序的加载运行。

二、加了bootloader后的启动流程

6bfad2f6-aea4-11ee-8b88-92fbcf53809c.png

步骤解析:

1

芯片内部boot根据loader Parameters加载bootloader的LDR代码到BTCM的0x102000地址区。

2

bootloader的LDR程序运行后,会根据icf文件的配置从flash区加载bootloader的user代码(包括data段、prg段、rodata段等)到ATCM运行。

3

Bootloader的user里需要添加代码来搬移application的LDR到BTCM运行。

4

Application的LDR运行后,会根据application的icf文件配置加载application的user代码,并运行整个程序。

1. Bootloader程序和application是2个独立的工程

2. loader Parameters只配置bootloader工程的就可以,application是通过bootloader加载的,所以不需要更改此参数

3.bootloader和application的LDR部分复用BTCM的0x102000地址空间

4.由于本来是一次启动加载的过程,现在是启了2次,在startup文件开头的特权模式下的操作不能重复进行,否则会报错,所以在application工程中要屏蔽掉此部分代码

三、bootloader工程修改过程

6c1694e6-aea4-11ee-8b88-92fbcf53809c.png

6c29897a-aea4-11ee-8b88-92fbcf53809c.png

1

确定要加载的几个不同程序的FLASH地址

2

使用FSP工具配置一个工程

3

增加copy application的代码和跳转代码

四、App修改点

6c3196e2-aea4-11ee-8b88-92fbcf53809c.png

6c3b49c6-aea4-11ee-8b88-92fbcf53809c.png

6c421616-aea4-11ee-8b88-92fbcf53809c.png

6c5a5fc8-aea4-11ee-8b88-92fbcf53809c.png

6c3b49c6-aea4-11ee-8b88-92fbcf53809c.png

6c83464a-aea4-11ee-8b88-92fbcf53809c.png

1

icf在原有独立工程基础上按设置的FLASH地址做偏移,所有flash的配置都要加对应的偏移,图示以EIP为例

6c9accde-aea4-11ee-8b88-92fbcf53809c.png

6c3b49c6-aea4-11ee-8b88-92fbcf53809c.png

6cb37888-aea4-11ee-8b88-92fbcf53809c.png

2

Startup.c里system_init中屏蔽掉对特权模式的操作

3

调试时要注意bootloader和application里几个MPU_REGION的设置保持一致

审核编辑:黄飞

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1550

    浏览量

    146646
  • bootloader
    +关注

    关注

    2

    文章

    230

    浏览量

    45049
  • LDR
    LDR
    +关注

    关注

    0

    文章

    92

    浏览量

    7437

原文标题:RZ Loader APP工程修改方法

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    易灵思Jtag_bridge_loader生成-v2

    。 (4)在Deliverables界面根据自己的需要选择相应的demo,如果没有找到自己想用的器件就选择相近的生成之后自己修改器件 。 (5)生成IP之后,会在IP目录文件夹下生成一个example design,打开该工程。 这里需要说
    的头像 发表于 04-15 16:34 543次阅读
    易灵思Jtag_bridge_<b class='flag-5'>loader</b>生成-v2

    STM32F103C8T6在boot loader使用USB中断后,app区再使用usb中断不会跳转到app区的原因?

    主控是STM32F103C8T6,程序是我移植的之前写bootloader和APP的代码,是使用的串口IAP(在串口上使用一点问题没有)。我现在遇到的情况是在boot loader使用了USB中断
    发表于 03-11 07:10

    RZ/G1H、RZ/G1M、RZ/G1N和 RZ/G1E Linux启动指南

    电子发烧友网站提供《RZ/G1H、RZ/G1M、RZ/G1N和 RZ/G1E Linux启动指南.pdf》资料免费下载
    发表于 02-02 09:43 0次下载
    <b class='flag-5'>RZ</b>/G1H、<b class='flag-5'>RZ</b>/G1M、<b class='flag-5'>RZ</b>/G1N和  <b class='flag-5'>RZ</b>/G1E  Linux启动指南

    RZ/T2M、RZ/N2L、RZ/T2L组 硬件设计指南

    电子发烧友网站提供《RZ/T2M、RZ/N2L、RZ/T2L组 硬件设计指南.pdf》资料免费下载
    发表于 02-02 09:39 1次下载
    <b class='flag-5'>RZ</b>/T2M、<b class='flag-5'>RZ</b>/N2L、<b class='flag-5'>RZ</b>/T2L组 硬件设计指南

    RZ/G2L RZ/G2LC RZ/G2UL RZ/G3S灵活软件包应用说明

    电子发烧友网站提供《RZ/G2L RZ/G2LC RZ/G2UL RZ/G3S灵活软件包应用说明.pdf》资料免费下载
    发表于 01-14 10:46 1次下载
    <b class='flag-5'>RZ</b>/G2L <b class='flag-5'>RZ</b>/G2LC <b class='flag-5'>RZ</b>/G2UL <b class='flag-5'>RZ</b>/G3S灵活软件包应用说明

    PN代码适配客户板子修改方法

    Renesas RZ/N2L入门套件 + 用于使用RZ/N2L MPU进行评估或开发。
    的头像 发表于 01-10 12:20 1029次阅读
    PN代码适配客户板子<b class='flag-5'>修改</b><b class='flag-5'>方法</b>

    RZ/T2M RZ/N2L RZ/T2L系列应用心得

    RZ/T2M和RZ/N2L共用各种软件协议栈支持情况。
    的头像 发表于 11-15 16:09 883次阅读
    <b class='flag-5'>RZ</b>/T2M <b class='flag-5'>RZ</b>/N2L <b class='flag-5'>RZ</b>/T2L系列应用心得

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:PWMTimer Rev.1.00

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:PWMTimer Rev.1.00
    发表于 07-04 20:12 0次下载
    <b class='flag-5'>RZ</b>/N1D 组、<b class='flag-5'>RZ</b>/N1S 组、<b class='flag-5'>RZ</b>/N1L 组用户手册:PWMTimer Rev.1.00

    RZ/A1L 组、RZ/A1LU 组、RZ/A1LC 组用户手册:硬件

    RZ/A1L 组、RZ/A1LU 组、RZ/A1LC 组用户手册:硬件
    发表于 07-04 19:32 0次下载
    <b class='flag-5'>RZ</b>/A1L 组、<b class='flag-5'>RZ</b>/A1LU 组、<b class='flag-5'>RZ</b>/A1LC 组用户手册:硬件

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组数据表 Rev.1.30

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组数据表 Rev.1.30
    发表于 07-04 19:17 0次下载
    <b class='flag-5'>RZ</b>/N1D 组、<b class='flag-5'>RZ</b>/N1S 组、<b class='flag-5'>RZ</b>/N1L 组数据表 Rev.1.30

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:R-IN 引擎和以太网外设

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:R-IN 引擎和以太网外设
    发表于 07-03 19:45 0次下载
    <b class='flag-5'>RZ</b>/N1D 组、<b class='flag-5'>RZ</b>/N1S 组、<b class='flag-5'>RZ</b>/N1L 组用户手册:R-IN 引擎和以太网外设

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:系统控制和外围设备

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:系统控制和外围设备
    发表于 07-03 19:45 0次下载
    <b class='flag-5'>RZ</b>/N1D 组、<b class='flag-5'>RZ</b>/N1S 组、<b class='flag-5'>RZ</b>/N1L 组用户手册:系统控制和外围设备

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:外围设备

    RZ/N1D 组、RZ/N1S 组、RZ/N1L 组用户手册:外围设备
    发表于 07-03 19:44 0次下载
    <b class='flag-5'>RZ</b>/N1D 组、<b class='flag-5'>RZ</b>/N1S 组、<b class='flag-5'>RZ</b>/N1L 组用户手册:外围设备

    RZ/T2M 组 RZ/T2M Motor Solution Kit Startup 手册(for RZ/T2M Motion Control Utility)

    RZ/T2M 组 RZ/T2M Motor Solution Kit Startup 手册(for RZ/T2M Motion Control Utility)
    发表于 06-30 19:41 0次下载
    <b class='flag-5'>RZ</b>/T2M 组 <b class='flag-5'>RZ</b>/T2M Motor Solution Kit Startup 手册(for <b class='flag-5'>RZ</b>/T2M Motion Control Utility)

    RZ/T2M、RZ/N2L 组硬件设计指南

    RZ/T2M、RZ/N2L 组硬件设计指南
    发表于 06-30 18:33 2次下载
    <b class='flag-5'>RZ</b>/T2M、<b class='flag-5'>RZ</b>/N2L 组硬件设计指南