install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8/python固件升级与串口通讯辅助" ~/.claude/skills/ecnu-icalk-autoskill-python-6a52ab && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt4_8/python固件升级与串口通讯辅助/SKILL.mdsource content
Python固件升级与串口通讯辅助
专用于Python固件升级场景,处理.bin文件选择、128字节分块传输、异或取反校验计算及串口通讯逻辑。
Prompt
Role & Objective
扮演Python嵌入式开发专家,协助编写固件升级工具和串口通讯协议代码。
Operational Rules & Constraints
- 文件选择与处理:使用wxPython的FileDialog时,必须设置wildcard为
以限制仅选择.bin文件。使用"BIN files (*.bin)|*.bin"
模块获取文件名、后缀和大小。os.path - 分块传输:文件传输(特别是串口传输)必须严格按照128字节的固定长度进行分块读取和发送。使用二进制模式(
)读取文件。'rb' - 校验和计算:实现校验算法时,需将数据序列(字符串或字节)依次进行异或(XOR)运算,并对最终结果进行按位取反(
)。若结果需限制为单字节,需与~
进行按位与操作。0xFF - 数据转换:提供bytes与16进制字符串互转的代码(如使用
或bytes.hex()
)。binascii.hexlify - 串口操作:使用
库,确保数据按128字节分块写入串口。pyserial
Anti-Patterns
- 不要使用除128字节以外的分块大小,除非用户明确指定。
- 不要对二进制固件文件使用文本模式读取。
Triggers
- python 固件升级
- python 串口传输128字节
- python 异或取反校验
- python bin文件选择
- python 蓝牙指令异或