2. 开发环境搭建
说实话,很多初学者一上来就急着写代码,结果环境没配好,折腾半天连个"Hello World"都跑不起来。我见过太多这样的案例了。磨刀不误砍柴工,今天咱们就把开发环境这块硬骨头啃下来。
本章核心目标:搭建一套稳定、可复用的烧录工具开发环境。这套环境不仅适用于本课程,你以后做任何Python项目都能直接用。
2.1 Python环境配置
Python版本选择上,我个人习惯用Python 3.8或3.9。为什么?因为很多烧录相关的底层库(比如pyusb、pyserial)对最新版本的支持可能滞后。我在项目中就踩过这个坑——用Python 3.11跑一个老项目,结果某个依赖库死活装不上。
下载与安装步骤:
- 访问Python官网,下载对应操作系统的安装包
- 安装时务必勾选"Add Python to PATH"
- 选择自定义安装,确保pip被勾选
注意:Windows用户千万别把Python装到带空格的路径下,比如"C:\Program Files\Python"。我曾经因为这个折腾了一下午,某些工具死活认不到路径。
安装完成后,打开终端验证一下:
python --version
pip --version
如果能看到版本号,说明安装成功了。嗯,这里要注意,有些系统会同时存在Python 2和Python 3,这时候你可能需要用python3和pip3来区分。
2.2 PyCharm安装与调试
编辑器这块,我推荐PyCharm Community版。够用,免费,而且对Python项目的支持非常到位。你想想看,一个专业的IDE能帮你省多少事——代码补全、调试器、版本控制集成,全都有。
安装要点:
- 下载Community版(专业版功能太多,反而容易让人眼花)
- 安装时勾选".py"关联
- 启动后选择"New Project",Location选你准备好的项目文件夹
第一次打开PyCharm,它会自动检测系统里的Python解释器。如果没检测到,手动添加一下:
File → Settings → Project → Python Interpreter → Add
调试功能怎么用?说白了就是让代码"慢动作"执行。我在调试烧录协议时,经常在关键位置打上断点,然后一行一行看数据是怎么变的。具体操作:
- 在代码行号旁边点击,出现红色圆点就是断点
- 右键选择"Debug"运行
- 程序会在断点处暂停,你可以查看变量值、单步执行
小技巧:调试烧录工具时,建议在读写寄存器的地方都打上断点。我曾经靠这个发现了一个芯片手册写错了的寄存器地址。
2.3 Git版本管理
Git这东西,刚开始觉得麻烦,用习惯后就离不开了。说白了,它就是给你的代码装了个"后悔药"——改错了随时能回退。
基本配置:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
一个典型的烧录工具项目,我建议这样组织仓库:
burn-tool/
├── src/ # 源代码
├── docs/ # 文档
├── tests/ # 测试用例
├── firmware/ # 固件文件
└── README.md # 项目说明
日常操作流程:
git init— 初始化仓库git add .— 暂存修改git commit -m "描述信息"— 提交修改git log— 查看历史
避坑指南:千万不要把编译生成的二进制文件(.hex、.bin)提交到Git仓库。我刚开始做项目时,每次提交都带着几百兆的固件文件,仓库越来越大,最后不得不重来。记得在项目根目录创建.gitignore文件,把这些文件过滤掉。
2.4 虚拟环境搭建
为什么要用虚拟环境?你想想看,你同时做两个项目,一个用pyusb 1.0,另一个用pyusb 2.0,没有虚拟环境的话,这两个库会打架。虚拟环境就是给每个项目一个"独立的小房间"。
创建虚拟环境:
# 在项目目录下执行
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# Linux/Mac:
source venv/bin/activate
激活后,终端前面会出现(venv)字样,说明你已经在虚拟环境里了。这时候安装的所有库都只在这个项目里生效。
管理依赖:
# 安装烧录工具常用的库
pip install pyserial pyusb pyqt5
# 导出依赖列表
pip freeze > requirements.txt
# 别人拿到项目后,一键安装所有依赖
pip install -r requirements.txt
我的习惯:每次提交代码前,都会更新requirements.txt。这样团队成员或者未来的你,都能快速重建环境。我曾经接手过一个项目,没有这个文件,光配环境就花了两天。
2.5 知识体系总览
下面这张图,把整个开发环境搭建的脉络梳理清楚了。你可以把它当作一个"检查清单"——每完成一项,就在图上打个勾。
2.6 环境验证清单
所有东西都配好后,我建议你跑一个简单的测试脚本,确保整个链路是通的:
# test_env.py
import sys
import serial
import usb.core
print(f"Python版本: {sys.version}")
print("所有依赖库加载成功!")
print("开发环境搭建完成!")
如果这个脚本能正常运行,恭喜你,环境搭建成功了。接下来就可以正式开始烧录工具的开发了。
记住:环境搭建不是一次性的。每当你遇到"莫名其妙"的错误时,先检查环境配置。我敢说,至少一半的"Bug"其实是环境问题。