技术 | 瑞萨DA1469x外部资源生成与烧录指南

来源: 瑞萨嵌入式小百科 作者:Andy Wu 2026-08-21 11:06:52

本文档为「外部资源」系列的第一篇,讲解如何在离线阶段生成资源文件并烧录到Flash。

 

代码侧如何使用这些资源,可参看下篇《瑞萨DA1469x外部资源应用程序集成指南》内容。

概述

瑞萨DA1469x SDK支持将图像和字体等图形资源存储在Flash的专用区域,而不是编译进应用程序二进制文件。这样做的好处:

  
显著减少应用程序的RAM占用

灵活管理大型图形资源,可独立更新而不必重新编译固件

多个资源可共用同一Flash分区,通过偏移量区分

  
Flash存储区被划分为逻辑区域,称为分区(Partitions)。例如,图像位图数据和自定义字体都可以存储在NVMS_LOG_PART分区中。

  
emWin图形库通过流式位图(Streamed Bitmaps)机制从外部介质读取数据,支持两种外部资源格式:

  资源类型   文件格式   生成工具   用途
  XBF字体   .xbf   emWin Font Converter   自定义字体渲染
  位图数据流   .dta   emWin Bitmap Converter   图像显示

  
两种文件都必须以魔数字(Magic Word)开头——emWin首次加载时会校验此字符序列,校验失败则整个加载过程中止。

生成资源文件

1.1 生成XBF字体文件

使用emWin提供的Font Converter工具:

  打开Font Converter

  选择目标字体、字号和字符集

  导出为.xbf格式

  
注意 ⚠️

生成的.xbf文件必须包含魔数字头,否则后续emWin初始化时会中止。

  
1.2 生成位图数据流文件

使用emWin提供的Bitmap Converter工具,操作分两个阶段:

  阶段1—缩放图像(如需要)

  打开Bitmap Converter,将图像拖放到白色区域

  从菜单栏选择ImageScale……

  在弹出窗口中输入新尺寸并点击Ok

  缩放后的图像将显示在工具中
 

  阶段2—保存为数据流格式

  从菜单栏选择FileSave as……

  在弹出窗口中选择.dta格式

  点击Save

  在弹出窗口中选择图像的颜色格式并点击Ok

  
注意 ⚠️

生成的.dta文件同样必须以魔数字开头。

烧录资源到Flash

  
2.1 启动SmartSnippets Studio

  选择New创建新项目(如已有项目可跳过)

  输入项目名称

  选择通信接口和端口(推荐使用JTAG接口以获得更快的通信速度)

  选择设备系列:DA1469x-00

  打开项目

  
2.2 读取分区表

  切换到QSPI Partition Table窗口

  在Partition Table区域,点击Connect,等待光标停止旋转

  点击Read,所有分区条目将被显示出来

  
2.3 烧录XBF字体数据

  加载文件:

  在QSPI Partition Table区域,点击Browse

  在弹出窗口的Files of type部分选择All Files

  搜索并选择要烧录的XBF文件(.xbf)

  点击Open,文件内容将显示在QSPI Partition Table区域下方

  
执行烧录:

  在Partition Tasks区域,选择存储XBF数据的分区(例如NVMS_LOG_PART)

  设置相对于分区起始地址的偏移量(首次烧录通常使用零偏移,即0x00)

  点击Burn,等待光标停止旋转

  点击Verify确认写入成功

  
2.4 记录已占用的内存空间

  烧录完成后,务必记录XBF数据占用的内存空间大小,确保下一个资源存储在空闲且不重叠的区域。

  

  例如,如果XBF字体数据占用了0x00到0x1ADF的空间,则下一个资源的偏移量应从0x1AE0开始。

  
注意 💡

这一步的偏移量是后续应用程序配置的关键参数,请妥善记录。

  
2.5 烧录位图数据流

加载文件:

  在QSPI Partition Table区域,点击Browse

  在弹出窗口中选择All Files

  搜索并选择位图数据流文件(.dta)

  点击Open,内容将显示在QSPI Partition Table区域

  
执行烧录:

  在Partition Tasks区域,选择分区(例如NVMS_LOG_PART)

  设置偏移量(需紧接XBF字体数据之后的空闲区域,例如0x1AE0)

  点击Burn,等待光标停止旋转

  点击Verify确认写入成功

Flash分区内存布局

烧录完成后,日志分区(NVMS_LOG_PART)的内存布局示例:

  资源类型   存储分区   偏移量   说明
  XBF字体数据   NVMS_LOG_PART   0x00   自定义比例字体
  位图数据流   NVMS_LOG_PART   0x1AE0   Logo图像等位图资源

 

注意 ⚠️

多个资源可以存储在同一个分区中,只要偏移量不重叠即可。也可以将不同资源存储在不同分区中。

  
这个布局表是连接两篇文档的关键产物——应用程序集成时需要用到这里的「分区ID」和「偏移量」参数。请继续阅读下一篇《外部资源应用程序集成指南》。

工具链总结

 

工具 用途 提供方
SmartSnippets Studio 烧录外部资源到Flash、管理QSPI分区表 Dialog Semiconductor
emWin Bitmap Converter 将图像转换为位图数据流(.dta) SEGGER
emWin Font Converter 生成XBF字体文件(.xbf) SEGGER

烧录阶段注意事项

  魔数字要求:XBF文件和位图数据流文件都必须以魔数字开头,否则emWin会中止加载过程。文件不能被截断或损坏。

  分区偏移管理:烧录多个资源到同一分区时,必须正确计算偏移量,避免数据覆盖。建议每次烧录后记录已占用空间。

  验证写入:每次烧录后应点击Verify确认数据完整性,防止写入错误。

  通信接口选择:推荐使用JTAG接口进行烧录,比UART等接口速度更快。

  分区选择:可以选择任何合适的分区存储外部资源,但需确保分区大小足够容纳所有资源数据。

烧录工作流程

  

交付物清单

完成本文档所有步骤后,你应当获得以下信息,用于后续应用程序集成:

 

  交付物:字体资源分区ID

  示例值:NVMS_LOG_PART

  用途:应用程序宏PARTITION_ID_XBF_FONT

 

  交付物:字体资源偏移量

  示例值:0x00

  用途:应用程序宏PARTITION_OFFSET_XBF_FONT

 

  交付物:位图资源分区ID

  示例值:NVMS_LOG_PART

  用途:应用程序宏PARTITION_ID_BITMAP_DATASTREAM

 

  交付物:位图资源偏移量

  示例值:0x1AE0

  用途:应用程序宏PARTITION_OFFSET_BITMAP_DATASTREAM

专题

查看更多
机器人

企业 | 累计近10亿元!清华系具身创企连续完成两轮融资

灵巧手 | 市场全景扫描,谁将领跑全球量产革命?

灵巧手 | 国内外主控芯片方案深度解析

低空飞行器

市场 | 从白皮书数据看北斗规模化应用发展前景

技术 | “低空经济” 崛起,2025无人机市场暗藏哪些潜力趋势?

应用 | 从地面到太空:Qorvo卫星通信如何串联低空经济?

IC品牌故事

IC 品牌故事 | 三次易主,安世半导体的跨国迁徙

IC 品牌故事 | Wolfspeed:从LED到SiC,被中国厂商围追堵截的巨头

IC 品牌故事 | 小而美公司如何坐稳全球芯片IP龙头?——Arm成长史

0
收藏
0