littlebot
Published on 2025-04-09 / 0 Visits
0

【源码】基于C++和modm框架的紫水滴微流控平台嵌入式软件

项目简介

本项目是为紫水滴(PurpleDrop)数字微流控平台开发的嵌入式软件,用于控制微流控设备的微控制器。软件使用C++编写,借助modm框架进行构建和外设库管理,支持STM32和SAMG55两种Cortex M4微控制器,具备固件更新、调试和控制功能。

项目的主要特性和功能

  1. 多平台支持:支持STM32F413ZH和SAMG55J19两种微控制器,可适应不同硬件版本需求。
  2. 固件更新:能通过USB DFU(Device Firmware Update)方式进行固件更新,支持STM32和SAMG55的固件更新流程。
  3. 调试工具:提供GDB调试支持,可通过OpenOCD连接调试器进行调试,支持STLink - V2等调试器。
  4. Python控制接口:紫水滴设备通过USB CDC虚拟串口与主机上的Python控制软件通信,实现设备的控制和调试。
  5. 单元测试:具备单元测试框架,确保代码的正确性和稳定性。

安装使用步骤

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引导程序更新固件

  1. 将设备进入引导程序模式(按住BOOT0按钮,然后释放RST按钮)。
  2. 使用dfu-util工具更新固件:
  3. STM32:dfu-util -d 0483:df11 -a 0 -D purpledrop-stm32.dfu
  4. SAMG55:dfu-util -d 1209 -a 0 -D purpledrop-sam.bin
  5. 重置设备,使其进入应用程序模式。

5. 运行单元测试

bash cd test mkdir build cd build cmake .. make ./PurpleDropTest

6. 调试设备

  1. 启动OpenOCD:openocd
  2. 启动GDB调试会话:make gdb

通过以上步骤,可顺利构建、更新和调试紫水滴微流控平台的嵌入式软件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】