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

六、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

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/584204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入浅出理解转置卷积Conv2DTranspose

温故而知新,可以为师矣! 一、参考资料 论文:A guide to convolution arithmetic for deep learning github源码:Convolution arithmetic bilibili视频:转置卷积(transposed convolution) 转置…

STM32入门教程-2023版【3-2】点亮LED灯之库函数介绍

关注 点赞 不错过精彩内容 大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作! 二、正式点亮一个LED灯 操作STM32的GPIO需要三个步骤: 1.使用RCC打开GPIO的时钟&#…

基于策略模式和简单工厂模式实现zip、tar、rar、7z四种压缩文件格式的解压

推荐语 这篇技术文章深入探讨了基于策略模式和简单工厂模式实现四种常见压缩文件格式的解压方法。通过阅读该文章,你将了解到如何利用这两种设计模式来实现灵活、可扩展的解压功能,同时适应不同的压缩文件格式。如果你对设计模式和文件处理感兴趣或刚好…

算法题Python常用内置函数、方法、技巧汇总(其八:推导式)

文章目录 推导式列表推导式元组推导式集合推导式字典推导式 华为OD算法/大厂面试高频题算法练习冲刺训练 推导式 python中的推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列。可以简单理解为for循环语句(if条件语句)的简写版本&#xff…

Springboot配置http-Only

项目框架 jdk1.8、springboot2.5.10 情况一 项目中未使用(权限认证框架:Sa-Token) application.yml文件内增加配置 server.servlet.session.cookie.http-onlytrueserver.servlet.session.cookie.securetrue (此条配置建议也加上) 情况二…

Flink去重计数统计用户数

1.数据 订单表,分别是店铺id、用户id和支付金额 "店铺id,用户id,支付金额", "shop-1,user-1,1", "shop-1,user-2,1", "shop-1,user-2,1", "shop-1,user-3,1", "shop-1,user-3,1", "shop-1,user…

课题学习(十八)----捷联测试电路设计与代码实现(基于MPU6050和QMC5883L)

一、 电路设计 本周主要工作是在项目上,抽空做了一个跟本课题相关的电路板,之前用开发板来做测试,MPU6050和QMC5883L都是用杜邦线连接的,导致接线很乱,也不美观,当然也不符合“捷联”的定义。   下面是电…

哈希表基础

设计意义: 查找性能快,比搜索二叉树更快 二叉树查找速度O(log2N),哈希表一般可以达到O(1) 构建方法: 数组下标,关键字x通过哈希函数f(x)转换为下标 哈希函数: 根据关键字设计,主要原理是根据数组大小…

【领域驱动设计】模式--通用语言(Ubiquitous language)

一.前言 有道无术术可求,有术无道止于术。方法论的形成都是为了让我们能够更高效,系统的解决问题,而不至于遇到问题不知所措。 二.通用语言的必要性 相信大家在实际的软件开发流程过程中,经常会遇到参照 Prd原型 编码出的系统与实…

SSM驾校预约管理系统----计算机毕业设计

项目介绍 本项目分为管理员、教练、学员三种角色, 管理员角色包含以下功能: 学员管理、教练管理、车辆管理、关系管理、车辆维修管理、个人中心等功能。 教练角色包含以下功能: 我的课程、我的学员、车辆中心、个人中心等功能。 学员角色包…

zabbix添加监控主机(agent)并告警

一、添加监控主机 总体来说,在被监控主机上安装部署zabbix-agent,并修改配置文件(zabbix_agentd.conf)的参数。然后在zabbix 服务端zabbix-get检查是否可以监控。如果可以了,就可以在web页面添加了,要监控…

Vue3.2 自定义指令详解与实战

一、介绍 在Vue3中,自定义指令为开发者提供了一种灵活的方式来扩展Vue的HTML模板语法,使其能够执行特定的DOM操作或组件逻辑。不同于Vue2.x中的全局和局部指令注册方式,Vue3引入了Composition API,这使得自定义指令的编写和使用更…

Ubuntu16.04 安装Anaconda

步骤 1: 去官网下载安装包,链接如下: https://repo.anaconda.com/archive/ 找到对应版本下载至本地电脑,并上传至服务器。 步骤2: 通过命令解压 sh Anaconda3-2023.03-0-Linux-x86_64.sh 一路选择yes或则回车,直到安装成功出现下面画面&…

Spring高手之路-@Autowired和@Resource注解异同点

目录 相同点 不同点 1.来源不同。 2.包含的属性不同 3.匹配方式(装配顺序)不同。 ​编辑 4.支持的注入对象类型不同 5.应用地方不同 相同点 都可以实现依赖注入,通过注解将需要的Bean自动注入到目标类中。都可以用于注入任意类型的Bean…

如何使用ChatGPT来提高编程效率

如何使用ChatGPT来提高编程效率 在软件开发的世界中,时间就是金钱。程序员常常在寻找新方法和工具来提高他们的编程效率。而现代技术中,人工智能(AI)已经成为了一个不可或缺的助手。特别是OpenAI的大型语言模型,即ChatGPT,它的出现为编程领域带来了翻天覆地的变化。本文…

Docker六 | Docker Compose容器编排

目录 Docker Compose 基本概念 使用步骤 常用命令 Docker Compose Docker-Compose是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Compose可以管理多个Docker容器组成一个应用。 需要定义一个YAML格式的配置文件docker-compose.yml,…

win安装scoop,并配置环境

安装 PowerShell 非管理员权限运行下面三条命令。 Set-ExecutionPolicy RemoteSigned -scope CurrentUseriwr -useb scoop.201704.xyz -outfile install.ps1.\install.ps1 -ScoopDir D:\Scoop -ScoopGlobalDir D:\Scoop\GlobalApps更新scoop scoop install gitscoop bucket …

[NOIP2006 提高组] 金明的预算方案

[NOIP2006 提高组] 金明的预算方案 题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置&#xff0…

vue如何实现局部刷新?

应用场景&#xff1a; 比如你要切换tap栏实现刷新下面form表单等&#xff0c;相当于刷新页面。 如何使用如下&#xff1a; <div v-if"isReloadData"> 比如你想刷新那个位置就把 v-if"isReloadData"写到那个标签上 </div> 在data中定义刷新标…

如何本地搭建FastDFS文件服务器并实现远程访问【内网穿透】

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…