基于A(yíng)RM9和Linux的嵌入式打印終端系統
同時(shí)查看打印機的電路手冊和管腳定義,選用其STB選通線(xiàn)、ACK回答脈沖線(xiàn)、BUSY線(xiàn)、DATA0-DATA7數據線(xiàn)來(lái)與開(kāi)發(fā)板的GPIO口相連,并初始化高低電平值。為了避免接線(xiàn)過(guò)緊互相干擾,制作一個(gè)接口板定義各引腳連接如圖3所示。
至此,硬件的電路設計及連接基本完成。
軟件平臺采用的是基于2.4內核的嵌入式Linux系統。采用的交叉編譯器工具包為CROSS2.95.3.tgz(包含arm-linux-gcc等)。
3.1 打印機驅動(dòng)的編寫(xiě)
Linux的設備分為塊設備,字符設備和網(wǎng)絡(luò )設備,該系統使用到的微型打印機屬于字符設備,下面將具體說(shuō)明如何設計打印機驅動(dòng)。
3.1.1 定義設備名
#define DEVICE_NAME weida_printer
3.1.2 模塊函數設計
在該系統中,采用模塊化加載驅動(dòng)程序的方法,因此必須實(shí)現模塊的初始化函數和卸載函數。采用devfs方式注冊打印機。
初始化函數weida_init通過(guò)devfs_register函數向系統注冊設備。
函數原型devfs_register(NULL, DEVICE_NAME, DEVFS_FL_DEFAULT, 0, 0, S_IFCHR | S_IRUSR | S_IWUSR, weida_printer_fops, NULL);
其中,DEVICE_NAME為主設備名,weida_printer_fops為定義的一個(gè)數據結構,用來(lái)實(shí)現的文件操作,包括open、close、write等。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)linux相關(guān)文章:linux教程
三維掃描儀相關(guān)文章:三維掃描儀原理
評論