固件编辑规范¶
人工须知:绝对禁止用普通编辑器打开/修改 .c/.h 文件
飞控固件使用 GB2312/GBK 编码,直接用 UTF-8 编辑器(VS Code、Notepad 等)修改会导致编码损坏、编译失败甚至飞行异常。
人工修改固件的唯一方式:用 Keil uVision 打开工程,在 Keil 内编辑。 Keil 会正确处理 GB2312 编码。
背景:为什么固件编码会损坏¶
固件源码由 Keil uVision 创建,中文注释使用 GB2312/GBK 编码。Git、现代编辑器默认 UTF-8,直接操作会导致:
- 中文注释乱码
- BOM 标记混入
- 编译时字符串长度变化(中文字符 GB2312 占2字节,UTF-8 占3字节)
- 严重时宏定义偏移导致飞行异常
详细背景和故障恢复方法见 .Codex/memory/project_board_git_corruption_recovery.md。
以下为 AI Agent 专用操作,人工无需执行
edit_firmware.py 是为 AI Agent 设计的安全编辑脚本,确保 AI 在修改固件时不会破坏 GB2312 编码。人类开发者请直接使用 Keil uVision 编辑。
AI Agent 专用:edit_firmware.py¶
# 查看文件编码
python edit_firmware.py show 飞控固件/FcSrc/ANO_LX.c
# 安全替换字符串(自动保持编码不变)
python edit_firmware.py replace <文件路径> <旧字符串> <新字符串>
# 验证文件编码未被破坏
python edit_firmware.py verify <文件路径>