littlebot
Published on 2025-04-07 / 1 Visits
0

【源码】基于C++的Mu2e慢提取调节器前端软件

项目简介

Mu2eER是一个基于C++的软件项目,运行于Mu2e慢提取调节器ARM SoC上。该软件具有设备驱动、状态管理等功能,借助ACNET协议与硬件通信,同时提供命令行工具方便用户交互,并且支持多种测试。

项目的主要特性和功能

  1. 设备驱动与控制:通过驱动程序控制和管理Mu2e慢提取调节器ARM SoC上的设备。
  2. 状态管理:对设备的启动、运行、故障等状态进行管理和监控。
  3. 命令行交互:利用命令行工具,用户可发送命令、获取状态信息和处理故障。
  4. ACNET协议支持:借助ACNET协议与硬件设备通信,完成设备的控制与管理。
  5. 测试支持:提供单元测试和验收测试套件,可对设备进行全面测试。

安装使用步骤

编译

下载项目源码文件后,进入src/目录,运行make命令,可编译出mu2eerd、ACNET接口和命令行工具mu2eercli,二进制文件会生成在bin/目录下(分为主机和目标环境)。

测试

  • 单元测试:进入src/目录,运行make tests,测试成功后会生成覆盖率报告。
  • 验收测试:进入根目录,运行cucumber。可使用标签控制测试范围,如cucumber --tags @acnet仅运行ACNET接口测试;在无ACNET和ACL的adlinux上,使用cucumber --tags 'not @acnet'运行除ACNET接口外的测试;也可组合标签,如cucumber --tags '@acnet and not @long'

部署

  1. 项目的defconfig在ees - buildroot项目(2015.08.x分支)中,Jenkins任务Mu2eER Buildroot会在Mu2eER或Achilles Baseline构建成功时构建此defconfig。
  2. 运行src/deploy.sh脚本,将目标镜像复制到chablis/fecode - bd NFS共享目录下以Jenkins构建号命名的文件夹中。
  3. 运行src/build_select.sh脚本,为指定环境(测试或生产)启用构建。

操作

  • 启动/停止守护进程:启动mu2eerd使用/etc/init.d/S78mu2eerd start;停止使用/etc/init.d/S78mu2eerd stop
  • 命令行工具使用
    • pid命令:$ mu2eerd pid,显示mu2eerd守护进程的PID。
    • show命令:$ mu2eerd show,显示mu2eerd的诊断信息。
    • shutdown命令:$ mu2eerd shutdown,请求mu2eerd守护进程关闭。

ACNET设备数据库脚本

若要执行db/目录下的DABBEL脚本,需在有acldabbel命令的开发主机(如clx节点)上操作。 - 提交测试环境脚本:make db_test。 - 仅进行语法检查:make db_test_check。 - 同步数据库脚本:make db_sync。 - 查看脚本差异:make db_diff。 - 查看db/Makefile目标摘要:make help

下载地址

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