SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

news2025/6/13 19:28:42
分区配置 (ptab.json)
img 属性介绍:
img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary
如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程
名,主工程为 main ,子工程则与编译脚本配置的名称一致,比如 acpu 作为子工程加入编译,
子工程名为 acpu ,生成了两个 binary 文件分别为 ER_IROM1.bin ER_IROM2.bin ,可以用
acpu:ER_IROM1.bin 表示 ACPU 编译生成的 ER_IROM1.bin 文件。
ftab 属性介绍:
ftab 属性用于描述 flash 分区表,即该分区与 flash table 中哪个条目相关联,以此生成 flash
table 的描述文件 ftab.c
ftab 包含以下属性:
- name :名称, main bootloader 为系统预留,分别表示主程序和二级 bootloader
者是系统预留的名称,不能随便使用,除此以外的名字可以由用户随意指定,如
acpu_region1 可以用来表示 ACPU 的代码分区 )。
- address :地址类型列表,如果分区起始地址是 image base 地址,则填写 ”base” ,如果分
区起始地址为 image xip 地址(即执行地址),则填写 ”xip” ,如果两者都是(即不需要搬移
代码到 xip 地址执行),则需要同时填写 ”base” ”xip”
\example\multimedia\lvgl\watch\project\sf32lb52-lcd_n16r8_hcpu 例程为例,主工程要生成 3
binary ,分别为:
ER_IROM1.bin --- 用于 CODE img 属性为: main:ER_IROM1.bin ;带 ftab 属性。
ER_IROM2.bin --- 用于图片资源, img 属性为: main:ER_IROM2.bin
ER_IROM3.bin --- 用于字体资源, img属性为: main:ER_IROM3.bin
链接脚本配置( .sct/.ld
\example\multimedia\lvgl\watch\project\sf32lb52-lcd_n16r8_hcpu 例程为例:
生成 3 binary ER_IROM1.bin ER_IROM2.bin ER_IROM3.bin )。
域起始地址、大小在 ptab.h (提取ptab.json生成)中定义。
ER_IROM2 域、 ER_IROM3 域分别存放图片资源和字体资源,例程中以图片资源和字体资源的
段名指定(可根据需要自定义规则)。

 GCC环境下.ld同理配置。

 

[
    {
        "mem": "flash2", 
        "base": "0x12000000", 
        "regions": [
            {
                "offset": "0x00000000", 
                "max_size": "0x00008000", 
                "tags": [
                    "FLASH_TABLE"
                ], 
                "img": "ftab",
                "exec": "ftab"                
            }, 
            {
                "offset": "0x00010000", 
                "max_size": "0x00010000", 
                "tags": [], 
                "ftab": {
                    "name": "bootloader", 
                    "address": [
                        "base"
                    ]
                }, 
                "img": "bootloader"
            }, 
            {
                "offset": "0x00020000", 
                "max_size": "0x00300000", 
                "tags": [
                    "HCPU_FLASH_CODE"
                ], 
                "ftab": {
                    "name": "main", 
                    "address": [
                        "base", 
                        "xip"
                    ]
                }, 
                "img": "main:ER_IROM1.bin",
                "exec": "main"
            }, 
            {
                "offset": "0x00320000", 
                "max_size": "0x00100000", 
                "tags": [
                    "HCPU_FLASH2_IMG"
                ], 
                "img": "main:ER_IROM2.bin"
            },
            {
                "offset": "0x00420000", 
                "max_size": "0x00200000", 
                "tags": [
                    "HCPU_FLASH2_FONT"
                ], 
                "img": "main:ER_IROM3.bin"
            },
            {
                "offset": "0x00620000", 
                "max_size": "0x00400000", 
                "img": "fs_root", 
                "tags": [
                    "FS_REGION"
                ]
            }, 
            {
                "offset": "0x00A20000", 
                "max_size": "0x00004000", 
                "tags": [
                    "KVDB_DFU_REGION"
                ]
            }, 
            {
                "offset": "0x00A24000", 
                "max_size": "0x00004000", 
                "tags": [
                    "KVDB_BLE_REGION"
                ]
            }
        ]
    }, 
    {
        "mem": "psram1", 
        "base": "0x60000000", 
        "regions": [
            {
                "offset": "0x00000000", 
                "max_size": "0x00040000", 
                "tags": [
                    "PSRAM_CODE"
                ]
            },
            {
                "offset": "0x00040000", 
                "max_size": "0x007C0000", 
                "tags": [
                    "PSRAM_DATA"
                ]
            }
        ]
    }, 
    {
        "mem": "hpsys_ram", 
        "base": "0x20000000", 
        "regions": [
            {
                "offset": "0x00000000", 
                "max_size": "0x0006BC00", 
                "tags": [
                    "HCPU_RAM_DATA"
                ]
            }, 
            {
                "offset": "0x00020000", 
                "max_size": "0x00020000", 
                "ftab": {
                    "name": "bootloader", 
                    "address": [
                        "xip"
                    ]
                }, 
                "tags": [
                    "FLASH_BOOT_LOADER"
                ],
                "exec": "bootloader" 
            }, 
            {
                "offset": "0x00040000", 
                "max_size": "0x00010000", 
                "tags": [
                    "BOOTLOADER_RAM_DATA"
                ]
            }, 
            {
                "offset": "0x0006BC00", 
                "max_size": "0x00014000", 
                "tags": [
                    "HCPU_RO_DATA"
                ]
            }, 
            {
                "offset": "0x0007FC00", 
                "max_size": "0x00000400", 
                "tags": [
                    "HPSYS_MBOX"
                ]
            }, 
            {
                "offset": "0x0007FC00", 
                "max_size": "0x00000200", 
                "tags": [
                    "HCPU2LCPU_MB_CH2_BUF"
                ]
            }, 
            {
                "offset": "0x0007FE00", 
                "max_size": "0x00000200", 
                "tags": [
                    "HCPU2LCPU_MB_CH1_BUF"
                ]
            }
        ]
    }, 
    {
        "mem": "lpsys_ram", 
        "base": "0x20400000", 
        "regions": [
            {
                "offset": "0x00000000", 
                "max_size": "0x00006000", 
                "tags": [
                    "LPSYS_RAM"
                ]
            }
        ]
    }
]

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

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

相关文章

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…

网站指纹识别

网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…

基于 TAPD 进行项目管理

起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…

JVM 内存结构 详解

内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: ​ 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…