<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)中USB控制的Host/Slave模式的應(yīng)用

          嵌入式系統(tǒng)中USB控制的Host/Slave模式的應(yīng)用

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

          本系統(tǒng)就是采用第二種方式加載USB驅(qū)動(dòng)的。由于本系統(tǒng)的包來(lái)自于英蓓特公司的包,因此節(jié)省了很多工作,具體編譯過(guò)程如下:

          1) 在內(nèi)核的USB驅(qū)動(dòng)目錄中添加如下三個(gè)文件:sl811h-usb.c 、sl811h.h、 sl811husb.h。這兩個(gè)頭文件中主要定義了一些關(guān)于811HS/T寄存器的宏。

          2) 編輯/uclinux-s3cev40/linux-2.4.x/drivers/usb/config.in文件。

          首先在config.in文件開(kāi)頭添加如下語(yǔ)句:

          dep_tristate 'Support for USB' CONFIG_USB $CONFIG_PCI

          if [ "$CONFIG_USB" = "y" -o? "$CONFIG_USB" = "m" ]; then

          ?? bool '? USB verbose debug messages' CONFIG_USB_DEBUG

          comment 'Miscellaneous USB options'

          ?? bool '? Preliminary USB device filesystem' CONFIG_ USB_DEVICEFS

          ?? if [ "$CONFIG_ EXPERIMENTAL" = "y" ]; then

          ????? bool '? Enforce USB bandwidth allocation (EXPERIMENTAL)' CONFIG_USB_BANDWIDTH

          ?? else

          ??? define_bool CONFIG_USB_ BANDWIDTH n

          ?? fi

          ?? bool '? Long timeout for slow-responding devices (some MGE Ellipse UPSes)' CONFIG_USB_ LONG_TIMEOUT

          fi

          然后在makefile文件中添加

          ifeq ($(CONFIG_USB_ DEBUG),y)

          ?????? L_OBJS+=sl811h-usb.o

          endif

          最后在/uclinux-s3cev40/linux-2.4.x/drivers/usb/sl811h_usb.c文件中添加如下代碼:

          #ifdef CONFIG_USB_DEBUG

          ?????? #define DEBUG

          #else

          ?????? #undef DEBUG

          #endif

          #SL811HS/T----- USB Controller driver

          INCLUDEDIR = /usr/src/linux/include

          CFLAGS = -D__KERNEL__ -DMODULE -O -Wall -

          static -I$(INCLUDEDIR)

          VER = $(shell awk -F" '/REL/ {print $$2}'

          $(INCLUDEDIR)/linux/version.h)

          all:sl811h-usb.o

          sl811h-usb.o:sl811h-usb.csl811h-usb.hsl811h.h

          gcc sl811h-usb.c -c $(CFLAGS)

          # End this file

          3) 在/usr/local/src/uClinux-s3cev40/fs/dev中增加一個(gè)設(shè)備文件。因?yàn)閁SB設(shè)備主要都是通過(guò)快速串行通訊來(lái)讀寫數(shù)據(jù), 故一般作為字符設(shè)備。在/usr/local/src/uClinux-s3cev40/fs/devfs 下執(zhí)行:

          mknod usb0 c 127 0

          mknod usb1 c 127 1

          4) 執(zhí)行make xconfig,用戶內(nèi)核設(shè)置選擇y。

          5) 執(zhí)行make dep。

          6) 執(zhí)行make。USB設(shè)備驅(qū)動(dòng)程序被編譯進(jìn)內(nèi)核,包含在image.bin文件中。

          在嵌入式系統(tǒng)啟動(dòng)時(shí),USB設(shè)備驅(qū)動(dòng)就自動(dòng)執(zhí)行了。


          結(jié)語(yǔ)

          本設(shè)計(jì)以mClinux嵌入式操作系統(tǒng)為平臺(tái),充分發(fā)揮了SL811HST芯片的/Slave兩種模式的作用,使其在實(shí)際使用中非常方便。隨著嵌入式USB設(shè)備/的研發(fā),USB設(shè)備的使用會(huì)更加普及。

          晶振相關(guān)文章:晶振原理

          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: mClinux USB控制 Host Slave模式

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();