关于 ACAI

ACAI 是一个C++封装的Channel Access协议应用开发接口(API),提供异步通道访问接口。

ACAI Channel Access Interface

EPICS Qt依赖ACAI提供的Channel Access接口。

前置步骤

这篇笔记是交叉编译EPICS和IOC内容的补充。

在进行下面步骤前,请完成配置交叉编译环境编译 EPICS Base

这里依旧以龙芯架构为例。

EPICS base 编译完成后,可以看到bin目录下有linux-loong64linux-x86_64两个目录,linux-x86_64目录下比linux-loong64目录多出了许多perl脚本,我们需要把这些脚本复制到龙架构的目录下,下面编译需要用到。

1
$ cp ./bin/linux-x86_64/*.pl ./bin/linux-loong64/

编译

EPICS-Qt安装中已经介绍过编译ACAI。这次是使用交叉编译方式,步骤略有不同。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
cd ~/loongson/
git clone https://github.com/andrewstarritt/acai.git
cd acai
vi configure/RELEASE.local

# 修改交叉编译的目标架构,和EPICS base中保持一致
# EPICS_HOST_ARCH=linux-loong64
# 修改EPICS_BASE路径,例:
EPICS_BASE=/home/ubuntu/loongson/base-7.0.8

# make LD=loongarch64-linux-gnu-ld CC=loongarch64-linux-gnu-gcc CCC=loongarch64-linux-gnu-g++
make
# 等待编译完成

编译完成后可以在lib/linux-loong64/目录下找到libacai.so