十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

让 Flipper Zero 固件显示中文的 3 步完整部署教程

让 Flipper Zero 固件显示中文的 3 步完整部署教程 让 Flipper Zero 固件显示中文的 3 步完整部署教程【免费下载链接】flipperzero-firmwareFlipper Zero firmware source code项目地址: https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware你在 Flipper Zero 应用里输入中文屏幕只剩一排小方块因为内置 u8g2 字体库只带了拉丁字符位图。本文拿 Flipper Zero 固件仓库里的示例应用做载体带你把中文字体转成 u8g2 字体数据让设备画出中文。读完本文你将能在自己的应用里挂载自定义中文字体并让 128×64 屏正常显示。方案速览字体替换三步走固件的文字渲染走 canvas.h 里的 Canvas 接口内置字体数据在 lib/u8g2/u8g2_fonts.c其中没有中文。整件事就是三步造一份含中文的 u8g2 字体数组让应用在绘制时切到它编译刷进设备。步骤做什么得到什么1克隆仓库运行./fbt工具链就绪固件编译通过2把中文字体转成 u8g2 C 数组一份含汉字的字体数据3示例应用里替换字体数组编译并写入设备屏幕上出现中文动手前检查Linux 或 macOS 电脑Windows 走 WSLGit 与终端可用Flipper Zero 设备通过 USB 连接或 Devboard一份含中文的 TTF 字体文件如文泉驿微米黑设备已装好 SD 卡用于存放应用分步实施 步骤 1克隆固件仓库并初始化编译环境目的拿到可编译的 Flipper Zero 固件源码和工具链。操作在终端克隆仓库并进入目录git clone https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware cd flipperzero-firmware然后执行首次编译fbt 会自动下载交叉编译工具链等待其跑完即可./fbt确认终端末尾没有error仓库根目录生成dist/里面有各目标平台的固件镜像。步骤 2把中文字体转成 u8g2 格式的 C 数组目的TTF 固件无法直接使用u8g2 只认自己的字体数据格式先做转换。操作用 u8g2 官方字体转换脚本u8g2 仓库中的 font build 工具转换你的 TTF三个关键参数字级选 4x6 或 6x8小屏装不下大字号字符集选含中文的子集避免全量字形输出形式选 C 源数组命名u8g2_font_xxx产出的数组格式和 u8g2_fonts.c 里的u8g2_font_4x6_t_cyrillic完全一致直接拷进你的代码即可。确认转换工具打印字体名和字形数如Glyphs: 50/50即覆盖了你需要的汉字数。步骤 3在示例应用里换上中文字体目的照着官方示例改两行让固件真正调用你的字体绘制。操作打开 example_custom_font.c关键在第 77 行canvas_set_custom_u8g2_font(canvas, u8g2_font_4x6_t_cyrillic);把参数换成步骤 2 生成的中文数组并把下方canvas_draw_str里的字符串改成要显示的中文。该示例还演示了如何注册 view port 全屏绘制流程可原样复用。确认文件只改字体数组与字符串两处数组以const uint8_t定义在文件顶部。步骤 4编译应用并写入设备目的只编译这一个应用并送达设备比全量固件编译快得多。操作./fbt example_custom_font编译通过后把应用写入 SD 卡./fbt run_app确认编译输出无报错fbt 提示应用已写入 SD 卡/apps/目录。验证结果在设备应用列表里打开 Example: custom font屏幕上应出现你写入的中文文本按返回键退出。若整条链路正常说明字体数据、绘制调用、编译刷写三处都通了。踩坑速查 ⚡现象编译报内存不足或应用体积超限。原因全量汉字位图达数 MB超出应用内存预算。处理改用 4x6 小字级或只保留所需几十到几百个字的子集字体。现象中文挤成一团或被裁掉一半。原因字体高度与绘制坐标不匹配y 值偏小。处理核对转换器输出的字体高度调大canvas_draw_str的 y 参数示例里是 6。现象flash_usb提示找不到设备。原因设备未进 bootloader或串口工具占着端口。处理断电后按住中键再插 USB并关掉占用串口的调试工具。现象设备应用列表里看不到新应用。原因.fap没真正落到 SD 卡或列表未刷新。处理检查 SD 卡/apps/目录然后重启设备。收尾四步做完你的 Flipper Zero 就能渲染自定义中文字体了。想继续看绘制接口从 canvas.h 入手应用开发全流程可参考 app_dev_gui.md。字体数据本身只是一份 C 数组补一份中文字体数据就是你参与这个项目的最短路径。【免费下载链接】flipperzero-firmwareFlipper Zero firmware source code项目地址: https://gitcode.com/GitHub_Trending/fl/flipperzero-firmware创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表