Butterfli

工具具体介绍参见Butterfli

FAQ1 如何新建项目

  • 首先找一套配置比较接近的项目,拷贝项目文件夹中所有内容,重命名为要创建的项目名称。

  • 在Butterfli工具中选择拷贝的参考项目对应的分组名,修改其名称为新项目名称,并在右键菜单中保存。

  • 在Butterfli工具中选择新创建的项目,设置设备类型、工程根目录、Ftable工程路径、Bootloader工程路径、FLASH分区文件、sct、msp文件等。

  • 在各个工程的menuconfig里面根据需求进行配置修改并保存。

  • 执行一键编译,确认编译是否成功。


FAQ2 使用Butterfli工具是否有特殊配置

Butterfli 工具使用前需要先配置好编译环境,请参考 开发环境配置


FAQ3 FLASH 内存分配表如何使用

FLASH内存分配表中配置FLASH基本信息及各分区的空间分配,基于该表生成flash_map.h文件,供各个工程编译使用。内存分配表对整个项目影响较大,建议由专业人员负责维护,表格内容修改需要注意,有的表格是公式处理的,不能直接填写内容。
Flash内存分配表有四张表格,包含的信息如下:

  • FLASH_Config:保存FLASH/PSRAM的配置信息,包括地址,空间,bin对齐size等

  • FLASH_Map:配置FLASH各个分区信息,包括分区名称,偏移,空间,文件系统路径等

  • FS_RES_PATH:配置放在文件系统资源的信息,包括名称,路径,代码中用的宏等

  • MEM_Map_Customize:用户定义的一些宏,ftable表 / 二级bootloader的地址信息等

../../_images/Butterfli_003.png ../../_images/Butterfli_004.png

具体使用方法参考 [TBD]


FAQ4 Butterfli工具如何调用外部脚本

参数配置区的 编译参数->用户脚本 配置项中添加用户脚本全路径即可。


FAQ5 如何将用户文件预置到文件系统

在工具属性页的预置文件区域,设置预置用户文件路径,并根据需要勾选列出的子文件夹,如下图所示: ../../_images/Butterfli_005.png


FAQ6 如何设定字体文件顺序

字体文件可以根据需要设置顺序,在参数配置区的 字体->字体选择(右键菜单)->编辑顺序 可以编辑字体文件的编译顺序。


FAQ7 多语言注意事项

  • 多语言翻译表格中不要有空的表格。

  • 多语言搜索有按照工程文件搜索和按照路径搜索两种,按照工程文件搜索更精确,但是需要先生成工程文件列表,需要多用约40秒时间。

  • 对于印地语,如果在menuconfig中配置RREV_CONVERT,且多语言表格中印地语的名称不是 hi_IN,则需要在3.2 节参数配置区的 多语言->印地语名称中配置印地语名字(填写多语言excel表格头中印地语名称,如Hi_IN(हिंदी)则填写括号前面部分“Hi_IN”)。


FAQ8 Butterfli启动或显示异常

在高DPI机器上启动异常或者显示异常,一般是缩放布局过高导致,建议缩放布局设置为100%,可根据使用电脑情况调整至最佳状态。


FAQ9 使用Butterfli工具打开Menuconfig

在项目配置参数的工程路径控件处,右键菜单中可以打开 menuconfig。


FAQ10 文件被独占软件打开导致无法生成

如果使用source Insight等工具打开了build文件夹下生成的文件(如map,asm等),会导致编译时这些文件无法删除及重新创建,出现编译报错,如图所示是常见的两种文件报错:

../../_images/Butterfli_011.png ../../_images/Butterfli_012.png

FAQ11 分配空间不够导致链接时报错

Soluton的每一个独立工程都会分配空间(在项目的内存分配excel表中),如果分配的空间不够,在链接的时候会出现报错,这种情况出现一般是加入新的模块导致超界,可以增加空间或者屏蔽掉一些代码解决。

../../_images/Butterfli_008.png

FAQ12 分配空间不够导致文件系统打包报错

文件系统分区不够时(大约 disksize * ((15/16)*(ratio/(ratio+1)))< filesize),打包会出现有些文件写入失败,这种问题如果确认所有文件都是必须的,就需要分配更大的空间。还有可能是Butterfli工具没有勾选图片过滤,多了一部分用不到的图片文件,可以勾选图片过滤再次编译看是否解决。

../../_images/Butterfli_010.png