英創(chuàng)公司十余年來(lái)都專(zhuān)注于嵌入式工控主板的開(kāi)發(fā),推出了很多不同型號(hào)的產(chǎn)品,也和許多客戶建立了長(zhǎng)期的合作和信任。隨著英創(chuàng)公司不斷的對(duì)產(chǎn)品進(jìn)行更新,推出性能越來(lái)越好的新產(chǎn)品,很多客戶也對(duì)自己的產(chǎn)品進(jìn)行更新,并且推出新的項(xiàng)目。
經(jīng)過(guò)長(zhǎng)時(shí)間的累積,已經(jīng)有許多客戶的多個(gè)項(xiàng)目使用了英創(chuàng)公司不同型號(hào)的板卡,為了讓客戶更方便的管理應(yīng)用程序,英創(chuàng)公司整理了一個(gè)方便客戶識(shí)別板卡型號(hào)的方法,通過(guò)這個(gè)方法,客戶可以將多個(gè)項(xiàng)目的程序整合起來(lái),通過(guò)一個(gè)管理程序,對(duì)板卡進(jìn)行判斷,然后執(zhí)行相應(yīng)的操作,十分簡(jiǎn)單和方便。
客戶只需要讀取板卡文件系統(tǒng)中的/etc/hostname這個(gè)文件就可以了,英創(chuàng)公司目前主要的產(chǎn)品型號(hào)和hostname文件的對(duì)應(yīng)可以參考下面的表格:
板卡型號(hào) | hostname文件 |
em9x60系列板卡 | EM9X60 |
em928x系列板卡 | EM9280 |
em335x系列板卡 | EM335X |
esm335x系列板卡 | ESM335X |
esm6800板卡 | ESM6800 |
esm6802板卡 | ESM6802 |
客戶可以用過(guò)C語(yǔ)言標(biāo)準(zhǔn)的I/O讀寫(xiě)函數(shù)來(lái)實(shí)現(xiàn)這一功能,使用fopen打開(kāi)文件,然后fread將文件內(nèi)容讀取到buffer中,進(jìn)行對(duì)比。
下面的是一個(gè)簡(jiǎn)單的例程,判斷板卡型號(hào)并打印出來(lái),可以供需要的客戶參考:
#include
#include
#include
#include
/* the boardtype of Emtronix */
enum type{em9x60 = 1, em928x, em335x, esm335x, esm6800};
/* get the boadrtype from /etc/hostname */
int main(int argc, char *argv[])
{
FILE *fp;
char buf[50];
int boardtype = 0;
/* open the /etc/hostname read only */
fp = fopen("/etc/hostname", "rb");
if(fp == NULL)
{
perror("/etc/hostname");
return errno;
}
fread( buf, sizeof(char), 50, fp );
/* check the boardtype */
if(strstr(buf, "EM9X60") > 0)
boardtype = em9x60;
else if(strstr(buf, "EM9280") > 0)
boardtype = em928x;
else if(strstr(buf, "EM335X") > 0)
boardtype = em335x;
else if(strstr(buf, "ESM335X") > 0)
boardtype = esm335x;
else if(strstr(buf, "ESM6800") > 0)
boardtype = esm6800;
fclose(fp);
/* printf the boardtype */
switch(boardtype)
{
case em9x60:
printf("the boardtype is EM9x60\n");
break;
case em928x:
printf("the boardtype is EM928x\n");
break;
case em335x:
printf("the boardtype is EM335x\n");
break;
case esm335x:
printf("the boardtype is ESM335x\n");
break;
case esm6800:
printf("the boardtype is ESM680x\n");
break;
default:
printf("the boardtype is unknow, please check the platform!\n");
break;
}
return 0;
}
-
嵌入式主板
+關(guān)注
關(guān)注
7文章
6085瀏覽量
35295
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論