<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于S3C2440和嵌入式Linux的擴展串口設計

基于S3C2440和嵌入式Linux的擴展串口設計

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

因為方案采用中斷方式,所以將NSEL置高位,即允許芯片中斷。16C554A有INTA、INTB、INTC、IN TD4個(gè)中斷線(xiàn),第一片與系統總線(xiàn)的EINT1,EINT2,EINT5,EINT6相連,第二片與GPIO中的EINT11,EINT13,EINT15,EIN39中斷相連,使得任一片芯片的任意的端口都能產(chǎn)生中斷。
的A0,A1,A2,A4,A5,A24通過(guò)不同組合可以選擇8個(gè)不同的端口。nGCS5與74LS138譯碼器片選腳相連,根據對地址空間的定義,這樣就確定了第一片16C554A芯片4個(gè)端口的訪(fǎng)問(wèn)地址為0X28000000,0X28000010,0X28000020,0X28000030,第二片16C554A擴展芯片4個(gè)端口的訪(fǎng)問(wèn)地址為0X29000000,0X29000010,0X29000020,0X29000030,根據端口基地址就可以確定片內的各個(gè)寄存器地址。具體連接如圖4所示。

本文引用地址:http://dyxdggzs.com/article/150465.htm

d.JPG



3 驅動(dòng)程序移植
軟件主要是為設備編寫(xiě)驅動(dòng)程序。設備驅動(dòng)是介于硬件和操作系統之間的軟件接口,主要功能包括:探測和初始化設備;從設備接收數據并提交給內核;從內核接收數據送到設備;檢測和處理設備錯誤。
驅動(dòng)程序從上到下分為4層:終端設備層、行規程、串口抽象層、串口芯片層。其中,串口芯片層與具體的芯片相關(guān),主要是向串口抽象層提供串口芯片所用的資源,還進(jìn)行一些與芯片相關(guān)的設置。
TL16C554A擴展串口芯片屬于標準串口,內核的串口驅動(dòng)程序對它支持它的驅動(dòng)程序就是內核代碼中的driver/seria/8250.c.入口函數是serial8250_init,它用于向串口抽象層提供注冊串口的物理信息。串口的物理信息主要有兩類(lèi):訪(fǎng)問(wèn)地址和中斷號。所以只要設置好這兩類(lèi)物理信息,就可以驅動(dòng)擴展串口了,圖5為驅動(dòng)程序移植流程。

e.JPG


3.1 構建擴展串口的數據結構
串口的物理信息存儲在內核源程序arch/arm/plats3c24xx/common-smdk.c中,所以主要工作是在commonsmdk.c源文件中增加三段代碼:
1)增加頭文件
源程序中要包含頭文件linux/serial_8250.h,用于告訴編譯器使用8250.c作為擴展串口的源程序;

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


評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>