项目简介
本项目是为紫水滴(PurpleDrop)数字微流控平台开发的嵌入式软件,用于控制微流控设备的微控制器。软件使用C++编写,借助modm框架进行构建和外设库管理,支持STM32和SAMG55两种Cortex M4微控制器,具备固件更新、调试和控制功能。
项目的主要特性和功能
- 多平台支持:支持STM32F413ZH和SAMG55J19两种微控制器,可适应不同硬件版本需求。
- 固件更新:能通过USB DFU(Device Firmware Update)方式进行固件更新,支持STM32和SAMG55的固件更新流程。
- 调试工具:提供GDB调试支持,可通过OpenOCD连接调试器进行调试,支持STLink - V2等调试器。
- Python控制接口:紫水滴设备通过USB CDC虚拟串口与主机上的Python控制软件通信,实现设备的控制和调试。
- 单元测试:具备单元测试框架,确保代码的正确性和稳定性。
安装使用步骤
1. 环境准备
- 安装Python及其依赖库:
pip install modm click intelhex
- 安装CMake:
apt install cmake
- 安装ARM嵌入式工具链:
arm-none-eabi
2. 获取项目代码
bash
cd purpledrop-stm32
git submodule update --init --recursive
3. 构建应用程序
构建STM32或SAMG55应用程序
bash
cd stm32 # 或 cd sam
lbuild build
make
make program # 需要连接OpenOCD支持的调试器
构建SAMG55的DFU引导程序
bash
cd dfu-sam
lbuild build
scons build
scons program # 需要连接SWD调试器
4. 通过USB引导程序更新固件
- 将设备进入引导程序模式(按住BOOT0按钮,然后释放RST按钮)。
- 使用
dfu-util
工具更新固件: - STM32:
dfu-util -d 0483:df11 -a 0 -D purpledrop-stm32.dfu
- SAMG55:
dfu-util -d 1209 -a 0 -D purpledrop-sam.bin
- 重置设备,使其进入应用程序模式。
5. 运行单元测试
bash
cd test
mkdir build
cd build
cmake ..
make
./PurpleDropTest
6. 调试设备
- 启动OpenOCD:
openocd
- 启动GDB调试会话:
make gdb
通过以上步骤,可顺利构建、更新和调试紫水滴微流控平台的嵌入式软件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】