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的地址信息等
具体使用方法参考 [TBD]
FAQ4 Butterfli工具如何调用外部脚本¶
在参数配置区的 编译参数->用户脚本 配置项中添加用户脚本全路径即可。
FAQ5 如何将用户文件预置到文件系统¶
在工具属性页的预置文件区域,设置预置用户文件路径,并根据需要勾选列出的子文件夹,如下图所示:

FAQ6 如何设定字体文件顺序¶
字体文件可以根据需要设置顺序,在参数配置区的 字体->字体选择(右键菜单)->编辑顺序 可以编辑字体文件的编译顺序。
FAQ7 多语言注意事项¶
多语言翻译表格中不要有空的表格。
多语言搜索有按照工程文件搜索和按照路径搜索两种,按照工程文件搜索更精确,但是需要先生成工程文件列表,需要多用约40秒时间。
对于印地语,如果在menuconfig中配置RREV_CONVERT,且多语言表格中印地语的名称不是 hi_IN,则需要在3.2 节参数配置区的 多语言->印地语名称中配置印地语名字(填写多语言excel表格头中印地语名称,如Hi_IN(हिंदी)则填写括号前面部分“Hi_IN”)。
FAQ8 Butterfli启动或显示异常¶
在高DPI机器上启动异常或者显示异常,一般是缩放布局过高导致,建议缩放布局设置为100%,可根据使用电脑情况调整至最佳状态。
FAQ10 文件被独占软件打开导致无法生成¶
如果使用source Insight等工具打开了build文件夹下生成的文件(如map,asm等),会导致编译时这些文件无法删除及重新创建,出现编译报错,如图所示是常见的两种文件报错:
FAQ11 分配空间不够导致链接时报错¶
Soluton的每一个独立工程都会分配空间(在项目的内存分配excel表中),如果分配的空间不够,在链接的时候会出现报错,这种情况出现一般是加入新的模块导致超界,可以增加空间或者屏蔽掉一些代码解决。
FAQ12 分配空间不够导致文件系统打包报错¶
文件系统分区不够时(大约 disksize * ((15/16)*(ratio/(ratio+1)))< filesize),打包会出现有些文件写入失败,这种问题如果确认所有文件都是必须的,就需要分配更大的空间。还有可能是Butterfli工具没有勾选图片过滤,多了一部分用不到的图片文件,可以勾选图片过滤再次编译看是否解决。