LINUX的串口驱动有标准的,为什么还要自己写

p942554868 2017-09-22 10:31:19
我是个菜鸟,LINUX自带的串口驱动已经有了,为什么有的人还要写自己的串口驱动呢?这是为什么
...全文
10531 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
啦啦小蛙 2018-08-27
  • 打赏
  • 举报
回复
串口是tty设备,标准的linux tty设备驱动是分层的,主要是tty核心,线路规程层以及tty驱动,最底层tty驱动是直接与硬件交互的,主要是serial_core.c和各自的uart.c,serial_core.c与硬件无关,主要是软件缓冲等配置,所有芯片可共用的;各自的uart.c是实现操作串口芯片硬件寄存器配置的,但不同的串口芯片,硬件寄存器配置各异,因此各自的uart.c各异。linux虽然提供了部分示例芯片的代码,但是如果有特殊的需求或者没有对应的芯片代码时,就需要自己编写。
帅气的Ezio 2018-08-26
  • 打赏
  • 举报
回复
一般不需要自己写,串口驱动是十分成熟的东西。当然如果贵公司的通信协议定义得特别奇葩的话,为了项目的稳定性你就不得不去修改串口驱动(不要问我怎么知道了
xqhrs232 2018-08-10
  • 打赏
  • 举报
回复
很多芯片方案应该都写好了串口驱动,如果这个都没写好,芯片这么推?让客户帮他们写驱动?你们真想的出来。就像明星唱歌大家一起来?
  • 打赏
  • 举报
回复
有时候串口是挂在一些别的总线上的,比如pci 等,这时候就需要自己修改移植了,内核有的只是标准的驱动,移植的话需要理解驱动的架构
Evan_ZGYF丶 2018-05-21
  • 打赏
  • 举报
回复
我的理解是,有些厂家生产的产品使用的板子是根据官方版自己设计的,那驱动那块就需要做一部分的调整,比如串口官方板上2个,自己设计就可以设计3、4、...个,那对应的驱动就需要修改一点点啦。而且板子不同,配置上可能也需要做一点点修改,才能达到最佳的性能吧
Creator_莫言 2018-02-26
  • 打赏
  • 举报
回复
通常需要自己写的串口驱动都是一些比较特殊的ic,比如spi转uart,i2c转uart。按照linux下的串口驱动模板写也不算太难
Wenxy1 2018-02-07
  • 打赏
  • 举报
回复
Linux kernel官方或者IC原厂没提供驱动,就需要自己写啦。
bigPillow 2018-02-06
  • 打赏
  • 举报
回复
不同的ic需要填写预留的callback function,不然内核怎么知道uart的register是多少,该如何设置。
u012236270 2018-01-17
  • 打赏
  • 举报
回复
一般来说 内核的串口驱动是写好的,很多是应用层为主,其实就给串口配个波特率,以及termios的一些填写,当然你也可以看下UART的设备驱动,看看数据是是如何收发的,有助于当数据开始丢包等一些的问题的时候,来分析问题,以及不同的串口芯片,是如何来移植的
Acuity. 2017-10-12
  • 打赏
  • 举报
回复
这个没必要了吧?当然学习过程可以这么干。做产品肯定有现有的,方便、稳定、可靠!
jklinux 2017-09-22
  • 打赏
  • 举报
回复
写串口的驱动的机会应比较少吧, linux内核里基本上都有现成的, 一般就是写调用串口的应用程序。 确定没搞错???

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧