全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

嵌入式Linux串口扩展的驱动设计方案解析

时间:2020-08-31 15:35

人气:

作者:admin

标签: 串口 

导读:嵌入式Linux串口扩展的驱动设计方案解析-本方案介绍WK2X系列UARTs在嵌入式Linux(Android)下扩展多串口方案,尤其是嵌入式Linux串口扩展的驱动设计方案的思路和原则。...

  主流的嵌入式智能终端如POS机、物流终端、车载导航、工业平板等,均采用Linux操作系统Android的内核实质也是Linux),当这类产品要连接多个外设时,需要扩展外部接口。PC行业主流的USB扩展外设在嵌入式领域实际应用中存在兼容性和稳定性的问题,调试起来也较为复杂。因此,目前在嵌入式领域,稳定和通用的扩展外设方式,仍旧是串口连接(含UARTRS232RS485)。

  本方案介绍WK2X系列UARTs在嵌入式Linux(Android)下扩展多串口方案,尤其是嵌入式Linux串口扩展的驱动设计方案的思路和原则。

  嵌入式系统产品的软件主要包括驱动设计、系统移植、和应用APP设计。本方案主要介绍WK2X在LINUX下的驱动程序设计,这是方案设计中的重点和难点。

  嵌入式系统的驱动程序是linux系统内核和设备硬件之间的接口,把系统调用映射到具体设备对于实际硬件的特定操作上,具体关系可以参见附图:

  

  方案设计要点:

  通过这种方法,应用程序就可以像操作普通文件一样操作硬件设备,用户程序只需要关心这个抽象出来的文件,而一切同硬件打交道的工作都交给了驱动程序。比如要向屏幕输出一串字符串,我们只需要把字符串写到显卡所抽象出来的文件里,而真正把字符串传到显卡里的工作就是由驱动程序来完成的。

  在Linux下,驱动程序是内核的一部分,运行在内核态下,有两种加载方式:

  可以将驱动静态的和内核编译在一起,缺点是内核会比较大,而且如果驱动出错,会导致整个系统崩溃;

  也可以module的方式编译,在需要的时候动态的载入。

  为开微电子提供的WK2X系列串口Android 驱动程序,基于Linux内核开发的TTY标准设备驱动,提供2.6~3.0/3.1~4.4两个版本,Linux3.1内核以上驱动版本采用DTS设备树架构,这两个版本是目前应用较广的版本,可以很方便移植到其它版本的Linux中,该驱动已经实际应用到多个量产平台中,在Android5.0-8.0系统版本中均长期稳定工作。

  典型应用案例:

  目前已经成功的应用于INTEL ATOM,CSR高通,MTK,展讯,瑞芯微,全志,炬力,君正等主控平台方案中。为开微电子技术支持可以为用户提供驱动代码源代码,并协助支持用户进行移植和适配 。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信