資料介紹
?嵌入式Linux是一種很受歡迎的操作系統(tǒng),具有開放源碼、不存在黑箱技術(shù)、內(nèi)核小、功能強(qiáng)大、運(yùn)行穩(wěn)定、效率高、易于定制裁減等特點(diǎn)[1],廣泛應(yīng)用于工控產(chǎn)品。很多工控產(chǎn)品需要和外部設(shè)備進(jìn)行信息交換,而串口通信是最簡(jiǎn)單快捷的實(shí)現(xiàn)方法。在不同的工控產(chǎn)品中,由于對(duì)所選用的串口元件或者串口通信的數(shù)據(jù)格式、波特率等有不同的需求,需要對(duì)串口驅(qū)動(dòng)進(jìn)行開發(fā)。華邦W90P710采用ARM的ARM7TDMI微處理器核心,采用?滋CLinux-2.4.20內(nèi)核,支持4組通用異步接收發(fā)送口(UART),下面基于華邦W90P710的串口驅(qū)動(dòng)詳細(xì)分析串口驅(qū)動(dòng)的實(shí)現(xiàn)方法,實(shí)現(xiàn)嵌入式設(shè)備通過串口對(duì)外通信。
1 華邦W90P710 UART介紹
華邦W90P710支持4組UART,串口的控制主要通過以下寄存器實(shí)現(xiàn)[2]:
(1)行寄存器(UART_LCR):設(shè)置數(shù)據(jù)位長(zhǎng)度、奇偶校驗(yàn)、停止位數(shù)。
?。?)波特率除數(shù)寄存器(UART_DLL、UART_DLM):波特率發(fā)生器的公式為:BaudOut=crystal clock/16×[Divisor +2],Divisor為當(dāng)前波特率。
?。?)Modem控制寄存器(UART_MCR):控制RTS、CTS等信號(hào)。
?。?)FIFO控制寄存器(UART_FCR):設(shè)置FIFO的長(zhǎng)度,復(fù)位FIFO等控制。
(5)接收超時(shí)寄存器(UART_TOR):收到首個(gè)字節(jié)后接收器啟動(dòng)本超時(shí),之后每收到一個(gè)字節(jié)后都會(huì)重置該值,在此超時(shí)時(shí)間內(nèi)不再收到數(shù)據(jù)時(shí),接收器會(huì)產(chǎn)生一個(gè)接收中斷。
?。?)中斷控制器(UART_IER):設(shè)置接收、發(fā)送、行中斷等。
在使用RXDn、TXDn前必須對(duì)GPIO進(jìn)行配置,使能RXDn、TXDn,串口才可正常運(yùn)行。GPIO配置對(duì)應(yīng)表如表1所示。
2 Linux系統(tǒng)驅(qū)動(dòng)介紹
設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口。設(shè)備驅(qū)動(dòng)程序?yàn)閼?yīng)用程序屏蔽了硬件的細(xì)節(jié),這樣在應(yīng)用程序看來,硬件設(shè)備只是一個(gè)設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對(duì)硬件設(shè)備進(jìn)行操作。同時(shí),設(shè)備驅(qū)動(dòng)程序是內(nèi)核的一部分[3]。圖1所示為設(shè)備驅(qū)動(dòng)程序接口流程圖。
Linux系統(tǒng)的設(shè)備分為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備三種。字符設(shè)備是指存取時(shí)沒有緩存的設(shè)備,只能順序讀寫。典型的字符設(shè)備包括鼠標(biāo)、鍵盤、串行口等;塊設(shè)備一般都有緩存來支持,并且塊設(shè)備必須能夠支持隨機(jī)存取。塊設(shè)備主要包括硬盤設(shè)備、CD-ROM等;網(wǎng)絡(luò)設(shè)備在Linux系統(tǒng)中用做專門的處理,Linux的網(wǎng)絡(luò)系統(tǒng)主要是基于BSD Unix的socket機(jī)制[4]。
1 華邦W90P710 UART介紹
華邦W90P710支持4組UART,串口的控制主要通過以下寄存器實(shí)現(xiàn)[2]:
(1)行寄存器(UART_LCR):設(shè)置數(shù)據(jù)位長(zhǎng)度、奇偶校驗(yàn)、停止位數(shù)。
?。?)波特率除數(shù)寄存器(UART_DLL、UART_DLM):波特率發(fā)生器的公式為:BaudOut=crystal clock/16×[Divisor +2],Divisor為當(dāng)前波特率。
?。?)Modem控制寄存器(UART_MCR):控制RTS、CTS等信號(hào)。
?。?)FIFO控制寄存器(UART_FCR):設(shè)置FIFO的長(zhǎng)度,復(fù)位FIFO等控制。
(5)接收超時(shí)寄存器(UART_TOR):收到首個(gè)字節(jié)后接收器啟動(dòng)本超時(shí),之后每收到一個(gè)字節(jié)后都會(huì)重置該值,在此超時(shí)時(shí)間內(nèi)不再收到數(shù)據(jù)時(shí),接收器會(huì)產(chǎn)生一個(gè)接收中斷。
?。?)中斷控制器(UART_IER):設(shè)置接收、發(fā)送、行中斷等。
在使用RXDn、TXDn前必須對(duì)GPIO進(jìn)行配置,使能RXDn、TXDn,串口才可正常運(yùn)行。GPIO配置對(duì)應(yīng)表如表1所示。
2 Linux系統(tǒng)驅(qū)動(dòng)介紹
設(shè)備驅(qū)動(dòng)程序是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口。設(shè)備驅(qū)動(dòng)程序?yàn)閼?yīng)用程序屏蔽了硬件的細(xì)節(jié),這樣在應(yīng)用程序看來,硬件設(shè)備只是一個(gè)設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對(duì)硬件設(shè)備進(jìn)行操作。同時(shí),設(shè)備驅(qū)動(dòng)程序是內(nèi)核的一部分[3]。圖1所示為設(shè)備驅(qū)動(dòng)程序接口流程圖。
Linux系統(tǒng)的設(shè)備分為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備三種。字符設(shè)備是指存取時(shí)沒有緩存的設(shè)備,只能順序讀寫。典型的字符設(shè)備包括鼠標(biāo)、鍵盤、串行口等;塊設(shè)備一般都有緩存來支持,并且塊設(shè)備必須能夠支持隨機(jī)存取。塊設(shè)備主要包括硬盤設(shè)備、CD-ROM等;網(wǎng)絡(luò)設(shè)備在Linux系統(tǒng)中用做專門的處理,Linux的網(wǎng)絡(luò)系統(tǒng)主要是基于BSD Unix的socket機(jī)制[4]。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于MDK的STM32處理器開發(fā)應(yīng)用.zip
- 適用于16位處理器的VisualDSP++3.5內(nèi)核VDK用戶指南
- 到底64位處理器和32位處理器有什么區(qū)別呢?資料下載
- “硬件軟件化”,32位處理器的開發(fā)與8位處理器的開發(fā)資料下載
- 晶晨S905X4處理器快速參考手冊(cè)下載 24次下載
- STM32處理器上的示例
- 基于MDK的STM32處理器開發(fā)應(yīng)用PDF電子教材免費(fèi)下載 59次下載
- M3處理器的詳細(xì)原理圖資料免費(fèi)下載 58次下載
- 基于STM32處理器的μC_OS_移植 6次下載
- 在W78E58處理器上移植的uCOS-II 12次下載
- 華清遠(yuǎn)見FPGA代碼-使用函數(shù)實(shí)現(xiàn)簡(jiǎn)單的八位處理器 4次下載
- Cortex-A9處理器系列 27次下載
- 嵌入式設(shè)計(jì)及Linux驅(qū)動(dòng)開發(fā)指南——基于ARM 9處理器(電子工業(yè)出版社+2005) 0次下載
- 華邦ARM W90N740芯片及其在稅控機(jī)和路由器上的應(yīng)用
- 基于ARM的PC/104處理器模塊設(shè)計(jì)
- 基于Linux和XScale PXA270處理器實(shí)現(xiàn)信息交互系統(tǒng)的設(shè)計(jì) 2035次閱讀
- 基于LPC2114處理器實(shí)現(xiàn)人形機(jī)器人控制系統(tǒng)的設(shè)計(jì) 3334次閱讀
- 分析Cortex-A7處理器與Cortex-A15處理器各自的優(yōu)勢(shì)及區(qū)別 6605次閱讀
- 華為麒麟980處理器規(guī)格曝光 5209次閱讀
- cortex-a9是什么處理器_cortex-a9處理器介紹 2.5w次閱讀
- TMS320C6678處理器的VLFFT演示探討與研究 4220次閱讀
- 搭載聯(lián)發(fā)科p10處理器的手機(jī)有哪些 2.5w次閱讀
- 聯(lián)發(fā)科p25處理器安兔兔跑分_p25處理器游戲性能評(píng)測(cè) 7.1w次閱讀
- a11處理器比a10快多少_A11處理器性能媲美英特爾i7? 1105次閱讀
- 驍龍625處理器與驍龍652處理器對(duì)比評(píng)測(cè) 10.3w次閱讀
- 詳細(xì)剖析高通發(fā)布的驍龍845處理器 5279次閱讀
- 單一處理器簡(jiǎn)化RFID讀取器設(shè)計(jì)及RFID系統(tǒng)范例分析 1196次閱讀
- 32位嵌入式處理器與8位處理器應(yīng)用開發(fā)的區(qū)別 1528次閱讀
- 蘋果推出64位處理器:對(duì)手機(jī)而言,意味著什么? 3983次閱讀
- 高通披露Snapdragon 400和200處理器細(xì)節(jié) 1135次閱讀
下載排行
本周
- 1HFSS電磁仿真設(shè)計(jì)應(yīng)用詳解PDF電子教程免費(fèi)下載
- 24.30 MB | 126次下載 | 1 積分
- 2H橋中的電流感測(cè)
- 545.39KB | 7次下載 | 免費(fèi)
- 3雷達(dá)的基本分類方法
- 1.25 MB | 4次下載 | 4 積分
- 4I3C–下一代串行通信接口
- 608.47KB | 3次下載 | 免費(fèi)
- 5電感技術(shù)講解
- 827.73 KB | 2次下載 | 免費(fèi)
- 6從 MSP430? MCU 到 MSPM0 MCU 的遷移指南
- 1.17MB | 2次下載 | 免費(fèi)
- 7有源低通濾波器設(shè)計(jì)應(yīng)用說明
- 1.12MB | 2次下載 | 免費(fèi)
- 8RA-Eco-RA2E1-48PIN-V1.0開發(fā)板資料
- 35.59 MB | 2次下載 | 免費(fèi)
本月
- 12024年工控與通信行業(yè)上游發(fā)展趨勢(shì)和熱點(diǎn)解讀
- 2.61 MB | 763次下載 | 免費(fèi)
- 2HFSS電磁仿真設(shè)計(jì)應(yīng)用詳解PDF電子教程免費(fèi)下載
- 24.30 MB | 126次下載 | 1 積分
- 3繼電保護(hù)原理
- 2.80 MB | 36次下載 | 免費(fèi)
- 4正激、反激、推挽、全橋、半橋區(qū)別和特點(diǎn)
- 0.91 MB | 32次下載 | 1 積分
- 5labview實(shí)現(xiàn)DBC在界面加載配置
- 0.57 MB | 21次下載 | 5 積分
- 6在設(shè)計(jì)中使用MOSFET瞬態(tài)熱阻抗曲線
- 1.57MB | 15次下載 | 免費(fèi)
- 7GBT 4706.1-2024家用和類似用途電器的安全第1部分:通用要求
- 7.43 MB | 13次下載 | 免費(fèi)
- 8PADS-3D庫文件
- 2.70 MB | 10次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935113次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191360次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81578次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73804次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評(píng)論
查看更多