六、从0开始卷出一个新项目瑞萨RZN2L之loader app分离工程优化

本文介绍了RZN2L项目中loaderapp的分离工程,讨论了其优势如多协议支持和固件升级,以及官方资料的不足。着重讲解了优化策略,包括自动调节合并appsection、外设使用、srammirror和同时使用SRAM_ATCM的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

六、loader app分离工程
6.1 概述
6.2 官方资料与不足
6.3 loader app分离工程的优化
        6.3.1 自动调节合并appsection
        6.3.2 loader中使用外设
        6.3.3 app使用sram mirror
        6.3.4 sram atcm同时使用

六、从0开始卷出一个新项目之瑞萨RZN2L loader app分离工程优化

6.1 概述

对比“3.2 base project构建”中的单个工程,本章节介绍loader app分离的双工程。可以实现更为灵活和复杂的功能,例如多协议支持、固件升级等等。

6.2 官方资料与不足

图片

  • 例程源码
    RZN2L_bsp_xspi0bootx1_app
    RZN2L_bsp_xspi0bootx1_loader

  • 文档
    r01an6737ej0110-rzn2l-separating-loader-and-application.pdf

  • 仅展示

    以官方loader app双工程为base去移植应用代码,会碰到很多问题

    图片

6.3 loader app分离工程的优化

6.3.1 自动调节合并appsection

图片

图片

图片

图片

6.3.2 loader中使用外设

图片

图片

图片

图片

//正确完整的编译loader+app
// 1: 必须首先clean loader,构建前增加make -r -j8 clean
// 2: 使能startu的初始化mpu代码 #if 1 // Original program
    /* Invalid these settings for loader project.
    * These settings are done in the application program.
    * Settings can also be made in the loader program if necessary. */

#if 1
    __enable_irq();
    g_uart0.p_api->open(g_uart0.p_ctrl, g_uart0.p_cfg);
    g_uart0.p_api->write(g_uart0.p_ctrl, (uint8_t const *)"Loader start!\n*****\nReady to Jump to the app!\n\n", strlen("Loader start!\n*****\nReady to Jump to the app!\n\n"));
    while(!uartTxCompleteFlg);
    uartTxCompleteFlg = 0;
    g_uart0.p_api->close(g_uart0.p_ctrl);
    __disable_irq();
#endif

6.3.3 app使用sram mirror

参考fsp_xspi0_boot_SRAM_ATCM.ld

6.3.4 sram atcm同时使用

  • 参考fsp_xspi0_boot_SRAM_ATCM.ld

  • 在loader中复制atcm和sram

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值