驱动两个串口的问题

发布于 2022-09-23 12:52:09 字数 288 浏览 26 评论 0

我是菜鸟,现采用2410平台,linux2.6内,现在要驱动两个串口(uart0和uart1)。uart0是linux内核就已经把驱动做好了的(uart0用于超级终端),对于uart1.要么自己写一个驱动程序模块加载进内核,要么直接在linux内核中修该部份代码来实现,现在有两个疑问:

(1).怎么在内核里直接修改啊。看了半天内核中关于串口的代码,无从入手。有做过的吗?能具体说下要吗

(2)如果自己写驱动的话,我是想用串口来进行IP数据包的传输,如果不要中断,而是直接一字节一字节地收发可以吗(即仅仅实现最简单的串口)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

惜醉颜 2022-09-30 12:52:09

看一看uart0是怎样实现的吧

若水微香 2022-09-30 12:52:09

一个板子上的两个同类外设,驱动一般是不会分开写的,基本是通过描述外设的数组套用同一个驱动的,用户只通过ttySX标识就行了。 用简单的echo /cat试试就知道两个口是不是work了。

串口传IP包也不是驱动的事情,支持PPP协议就行了,内核中有的。

会发光的星星闪亮亮i 2022-09-30 12:52:09

是的,可以看一下/dev目录下是否有ttyS1这个设备

吾性傲以野 2022-09-30 12:52:09

S3C2410_VA_UART 是静态映射后的虚拟地址,可以直接使用吗?S3C2410_PA_UART 是寄存器的物理地址,使用它要ioremap动态映射成虚拟地址才能使用。

那么我在开发的时候用哪个呢?两种方式都可以吗?哪种情况下使用哪一种呢?

半衾梦 2022-09-30 12:52:09

静态的还是通过ioremap没关系,只要任何一种做了映射就行了,对寄存器的操作肯定是要映射才能作的。

静态映射是启动之始就为系统做好的,ioremap在驱动中实时写的,多数在probe中用。

遥远的绿洲 2022-09-30 12:52:09

谢谢了啊!

宫墨修音 2022-09-30 12:52:09

如果自己写应用:open第二个串口,在此基础上send recv,不过send recv时数据协议要符合tcp/ip

[ 本帖最后由 dreamice 于 2008-12-30 18:05 编辑 ]

月朦胧 2022-09-30 12:52:09

原帖由 whoisliang 于 2008-12-30 18:00 发表
如果自己写应用:open第二个串口,在此基础上send recv,不过send recv时数据协议要符合tcp/ip

为什么要符合TCP/IP?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文