主流的嵌入式智能終端如POS機、物流終端、車載導航、工業平闆等,均采用LINUX為操作系統(Android的内核實質也是Linux),當這類産品要連接多個外設時,需要擴展外部接口。PC行業主流的USB擴展外設在嵌入式領域實際應用中存在兼容性和穩定性的問題,調試起來也較為複雜。因此,目前在嵌入式領域,最穩定和通用的擴展外設方式,仍舊是串口連接(含UART,RS232,RS485)。
本方案介紹WK2X系列UARTs在嵌入式Linux(Android)下擴展多串口方案,尤其是嵌入式Linux串口擴展的驅動設計方案的思路和原則。
嵌入式系統産品的軟件主要包括驅動設計、系統移植、和應用APP設計。本方案主要介紹WK2X在LINUX下的驅動程序設計,這是方案設計中的重點和難點。
嵌入式系統的驅動程序是linux系統内核和設備硬件之間的接口,把系統調用映射到具體設備對于實際硬件的特定操作上,具體關系可以參見附圖:
方案設計要點:
通過這種方法,應用程序就可以像操作普通文件一樣操作硬件設備,用戶程序隻需要關心這個抽象出來的文件,而一切同硬件打交道的工作都交給了驅動程序。比如要向屏幕輸出一串字符串,我們隻需要把字符串寫到顯卡所抽象出來的文件裡,而真正把字符串傳到顯卡裡的工作就是由驅動程序來完成的。
在Linux下,驅動程序是内核的一部分,運行在内核态下,有兩種加載方式:
為開微電子提供的WK2X系列串口Android 驅動程序,基于Linux内核開發的TTY标準設備驅動,提供2.6~3.0/3.1~4.4兩個版本,Linux3.1内核以上驅動版本采用DTS設備樹架構,這兩個版本是目前應用較廣的版本,可以很方便移植到其它版本的Linux中,該驅動已經實際應用到多個量産平台中,在Android5.0-8.0系統版本中均長期穩定工作。
典型應用案例:
目前已經成功的應用于INTEL ATOM,CSR,高通,MTK,展訊,瑞芯微,全志,炬力,君正等主控平台方案中。為開微電子技術支持可以為用戶提供驅動代碼源代碼,并協助支持用戶進行移植和适配 。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!