EPICS簡單的裝置支援程式

2021-09-03 07:35:05 字數 1826 閱讀 3783

最近看epics的開發手冊,因為手冊中是分模組介紹的,所以看了一段時間還是寫不出程式來,昨天去讓師兄給我以具體的裝置支援的例子講述了下(因為我們室主要用到的還是裝置支援),下面是構建裝置支援程式的步驟,類似於乙個hello world程式,給同樣在入門道路上的朋友乙個參考。

1.      像ai、bi等這些型別的記錄支援,epics已經提供,一般情況下不需要我們自己code,我們經常需要寫的是裝置支援即device support,下面是乙個device support 簡單程式的code和編譯過程,包括support、ioc和boot。

2.      步驟

說明:我的epics_base路徑為/root/myepics/base/

(1)       裝置支援模組

*5)可以新增自己的.c、.h檔案,需要在本目錄下的makefile中新增firstsupport_srcs +=×××.c來對其進行編譯。

(2)       ioc模組

返回到top,然後執行命令:

firstioc_dbd+= firstsupport.dbd

firstioc_libs+= firstsupport

修改此目錄下面的makefile,適當位置新增db:db += firstioc.db

(3)boot模組

返回到top,然後執行命令:

(這裡會提示要你輸入要啟動的ioc名字,這裡firstioc)

2) 到/root/work/epics/myfirst/iocboot/iocfirstboot下修改st.cmd

在適當位置新增載入記錄例項,dbloadrecords("db/firstioc.db"),然後將st.cmd新增執行許可權。

(4)回到top目錄(/root/work/epics/myfirst),make命令編譯,

(5)到/root/work/epics/myfirst/iocboot/iocfirstboot執行st.cmd,會迴圈輸出1,2,3….

上面的步驟中沒指名每步是具體是什麼意識,後面我在補充,當然最好是自己去檢視官方的開發手冊。

devfirstsupport.c

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

int i;

static long init_bi(struct birecord *pbi);

static long read_bi(struct birecord *pbi);

struct devfirstsupportbi = ;

epic***portaddress(dset,devfirstsupportbi);

long init_bi(struct birecord *pbi)

long read_bi(struct birecord *pbi)

struct vmeio *pvmeio = (struct vmeio *) &(pbi->inp.value);

char *parm = pvmeio->parm;

if(!strcmp(parm, "first"))

return 2;

}firstioc.db

record(bi, "firstrecord")

EPICS之乙個簡單的裝置支援程式

最近看epics的開發手冊,因為手冊中是分模組介紹的,所以看了一段時間還是寫不出程式來,昨天去讓師兄給我以具體的裝置支援的例子講述了下 因為我們室主要用到的還是裝置支援 下面是構建裝置支援程式的步驟,類似於乙個hello world程式,給同樣在入門道路上的朋友乙個參考。1.像ai bi等這些型別的...

裝置標識及驅動程式所支援的裝置(

2.驅動程式所支援的裝置 在驅動程式的編寫過程中,如果此程式被用來作為硬體裝置的驅動,那麼應該首先確定裝置標識。2.1 pci裝置 可以使用兩個輔助巨集來進行 struct pci device id 結構體的初始化 pci device vendor,device 創 桓黿齪吞囟 碳吧璞?span...

裝置標識及驅動程式所支援的裝置(

2.驅動程式所支援的裝置 在驅動程式的編寫過程中,如果此程式被用來作為硬體裝置的驅動,那麼應該首先確定裝置標識。2.1 pci裝置 可以使用兩個輔助巨集來進行 struct pci device id 結構體的初始化 pci device vendor,device 創 桓黿齪吞囟 碳吧璞?span...