新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM9和Linux的嵌入式打印終端系統(tǒng)

基于ARM9和Linux的嵌入式打印終端系統(tǒng)

作者: 時(shí)間:2012-04-11 來(lái)源:網(wǎng)絡(luò) 收藏

同時(shí)查看機(jī)的電路手冊(cè)和管腳定義,選用其STB選通線(xiàn)、ACK回答脈沖線(xiàn)、BUSY線(xiàn)、DATA0-DATA7數(shù)據(jù)線(xiàn)來(lái)與開(kāi)發(fā)板的GPIO口相連,并初始化高低電平值。為了避免接線(xiàn)過(guò)緊互相干擾,制作一個(gè)接口板定義各引腳連接如圖3所示。

至此,硬件的電路設(shè)計(jì)及連接基本完成。

38.jpg

3的軟件設(shè)計(jì)

軟件平臺(tái)采用的是2.4內(nèi)核的。采用的交叉編譯器工具包為CROSS2.95.3.tgz(包含arm-linux-gcc等)。

3.1 機(jī)驅(qū)動(dòng)的編寫(xiě)

的設(shè)備分為塊設(shè)備,字符設(shè)備和網(wǎng)絡(luò)設(shè)備,該使用到的微型打印機(jī)屬于字符設(shè)備,下面將具體說(shuō)明如何設(shè)計(jì)打印機(jī)驅(qū)動(dòng)。

3.1.1 定義設(shè)備名

#define DEVICE_NAME weida_printer

3.1.2 模塊函數(shù)設(shè)計(jì)

在該系統(tǒng)中,采用模塊化加載驅(qū)動(dòng)程序的方法,因此必須實(shí)現(xiàn)模塊的初始化函數(shù)和卸載函數(shù)。采用devfs方式注冊(cè)打印機(jī)。

初始化函數(shù)weida_init通過(guò)devfs_register函數(shù)向系統(tǒng)注冊(cè)設(shè)備。

函數(shù)原型devfs_register(NULL, DEVICE_NAME, DEVFS_FL_DEFAULT, 0, 0, S_IFCHR | S_IRUSR | S_IWUSR, weida_printer_fops, NULL);

其中,DEVICE_NAME為主設(shè)備名,weida_printer_fops為定義的一個(gè)數(shù)據(jù)結(jié)構(gòu),用來(lái)實(shí)現(xiàn)的文件操作,包括open、close、write等。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關(guān)文章:linux教程


三維掃描儀相關(guān)文章:三維掃描儀原理


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉