项目简介
Mu2eER是一个基于C++的软件项目,运行于Mu2e慢提取调节器ARM SoC上。该软件具有设备驱动、状态管理等功能,借助ACNET协议与硬件通信,同时提供命令行工具方便用户交互,并且支持多种测试。
项目的主要特性和功能
- 设备驱动与控制:通过驱动程序控制和管理Mu2e慢提取调节器ARM SoC上的设备。
- 状态管理:对设备的启动、运行、故障等状态进行管理和监控。
- 命令行交互:利用命令行工具,用户可发送命令、获取状态信息和处理故障。
- ACNET协议支持:借助ACNET协议与硬件设备通信,完成设备的控制与管理。
- 测试支持:提供单元测试和验收测试套件,可对设备进行全面测试。
安装使用步骤
编译
下载项目源码文件后,进入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'
。
部署
- 项目的defconfig在ees - buildroot项目(2015.08.x分支)中,Jenkins任务Mu2eER Buildroot会在Mu2eER或Achilles Baseline构建成功时构建此defconfig。
- 运行
src/deploy.sh
脚本,将目标镜像复制到chablis
的/fecode - bd
NFS共享目录下以Jenkins构建号命名的文件夹中。 - 运行
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脚本,需在有acl
和dabbel
命令的开发主机(如clx节点)上操作。
- 提交测试环境脚本:make db_test
。
- 仅进行语法检查:make db_test_check
。
- 同步数据库脚本:make db_sync
。
- 查看脚本差异:make db_diff
。
- 查看db/Makefile
目标摘要:make help
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】