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

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

3天内不再提示

RZ Loader APP工程修改方法

瑞萨嵌入式小百科 来源:瑞萨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

    文章

    1715

    浏览量

    154664
  • bootloader
    +关注

    关注

    2

    文章

    241

    浏览量

    47661
  • LDR
    LDR
    +关注

    关注

    0

    文章

    100

    浏览量

    8140
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    GCC开发工程的模版

    的interrupts_cw32l083.h。 10、修改Libraries/Libraries.mk文件内容,主要是文件夹的名称重新定位。 # 模块名_DIR 是上一层传递下来的参数, # 是从工程根目录到该
    发表于 11-28 08:15

    瑞萨RZ/T2H PCIe通信的调试方法

    本文阐述了RZ/T2H的PCIe外设作为EP,在Windows上做驱动开发、速率测试时,可能会遇到无法被Windows识别的问题。本文总结了一些调试方法和技巧,来排查问题原因和解决方法
    的头像 发表于 11-20 16:53 4695次阅读
    瑞萨<b class='flag-5'>RZ</b>/T2H PCIe通信的调试<b class='flag-5'>方法</b>

    Rz代表什么?如何精准测量Rz

    )对于光学镜头等需要高精度Rz分析的工件,设备提供的粗糙度分析模块可结合ISO/ASME/EUR/GBT四大标准,生成包含Rz、Ra、Rq等300余种参数的分析报告,帮助工程师精准判断镜头表面加工
    发表于 11-17 14:23

    怎么导出python边缘计算中的APP,想进行修改又找不到源码?

    怎么导出python边缘计算中的APP,想进行修改又找不到源码
    发表于 08-06 07:33

    STM32CubeIDE报错编译STM32MP135(Projects\\STM32MP135C-DK\\External_Loader)的原因?

    09:39:09 **** Incremental Build of configuration Debug for project External_Mem_Loader
    发表于 07-11 06:19

    瑞萨MCU方案:瑞萨RZ/G2L Bootloader单独编译方法详解

    会提出需要单独编译Bootloader的需求。为了满足用户需求,本文将介绍一种RZ/G2L上脱离Yocto的单独编译Bootloader的方法,从而能够快
    的头像 发表于 07-08 14:47 2267次阅读
    瑞萨MCU方案:瑞萨<b class='flag-5'>RZ</b>/G2L Bootloader单独编译<b class='flag-5'>方法</b>详解

    迅为RK3568开发板基本工程目录-OpenHarmony APP工程结构

    在进行 OpenHarmony 应用/服务开发前,我们应该掌握 OpenHarmony 应用/服务的逻辑结构。 OpenHarmony 应用/服务发布形态为 APP Pack
    发表于 07-07 15:04

    《仿盒马》app开发技术分享-- 订单地址修改(31)

    (\'app.media.edit_address_notice\')) .height(15) .width(15) Text(\"提示:地址仅可以修改一次,请谨慎修改!!!\"
    发表于 06-30 20:53

    实现IAP功能,使用cubeide生成APP程序的bin文件写入Flash之后,无法跳转到APP程序中,为什么?

    合法的那一步不通过。APP程序还需要修改哪些地方 Boot Loader部分代码
    发表于 06-09 07:32

    使用cubeide生成APP程序的bin文件写入Flash之后,无法跳转到APP程序中,怎么解决?

    合法的那一步不通过。APP程序还需要修改哪些地方 Boot Loader部分代码
    发表于 06-06 08:04

    新品发布丨瑞萨电子推出RZ/A3M,面向经济型高性能HMI解决方案扩展RZ/A MPU产品线

    基于RTOS的RZ/A系列推出一款全新高性能微处理器(MPU)——RZ/A3M,以满足对高阶人机界面(HMI)系统日益增长的需求。全新RZ/A3M MPU配备大容量SDRAM、SRAM以及对RTOS
    的头像 发表于 05-20 16:33 1193次阅读
    新品发布丨瑞萨电子推出<b class='flag-5'>RZ</b>/A3M,面向经济型高性能HMI解决方案扩展<b class='flag-5'>RZ</b>/A MPU产品线

    具有3D图形和视频编解码器的通用 MPU RZ/G2L 数据手册

    嵌入 AI 加速器的 RZ/V2L引脚兼容。因此, RZ/G2L 用户无需修改 PCB 便可轻松升级到 RZ/V2L 以获得额外的 AI 功能,从而保持较低的迁移成本
    的头像 发表于 03-12 17:46 926次阅读
    具有3D图形和视频编解码器的通用 MPU <b class='flag-5'>RZ</b>/G2L 数据手册

    stm32cubeide-boot loader跳转APP后不能执行怎么解决?

    keil编译同样的程序boot跳转app执行是没有问题的,切换的cubeide之后跳转之后app压根就不能执行,需要什么关键配置吗?
    发表于 03-12 07:12

    如何快速创建用户自定义Board和App工程

    概述自HPM_SDKv1.7.0发布开始,在HPM_ENV中新增了user_template文件夹,以方便用户快速创建自定义的Board和App工程。user_template是用户模板工程,用户
    的头像 发表于 02-08 13:38 994次阅读
    如何快速创建用户自定义Board和<b class='flag-5'>App</b><b class='flag-5'>工程</b>

    瑞萨电子RZ MPU家族精品RZ/N2L产品介绍

    瑞萨生态合作伙伴RT-Thread推出了一款高性能、多功能以太网MPU开发板EtherKit,搭载瑞萨电子RZ/N2L,并携手瑞萨电子举办了产品发布会和产品研讨。瑞萨电子在本次活动中介绍了瑞萨明星
    的头像 发表于 12-23 14:10 1356次阅读
    瑞萨电子<b class='flag-5'>RZ</b> MPU家族精品<b class='flag-5'>RZ</b>/N2L产品介绍