易截截图软件、单文件、免安装、纯绿色、仅160KB

[咨询] Linux Kernel UART 收发数据

大家好!
    CPU的UART1口连接外设的UART,如何在内核中实现UART的通信,实现对外设数据的收发?
    请指导,谢谢!

http://www.lupaworld.com/325267/viewspace-136664.html

有必要 在内核态使用串口数据么 ?

这个外设需同内核中某模块进行信令交互,因此放在Kernel中好些,
CPU有两UART,uart0个已做console了,另外一个uart1计划用来与外设通信,
曾尝试吧uart1作为ttyS1,但导致其实际上输入输出都在ttyS0(即uart0)上。
内核中的UART部分好些是console方面的,第一次接触,不是很清楚具体的uart驱动,请指教,谢谢!


引用
一般都不在内核直接操作外设来进行通信
都是内核提供驱动接口
由用户程序通过读写设备文件来进行数据通信的
因为内核栈小而有限,内核驱动出了bug影响很大,还有涉及到进程调度内核驱动占尽便宜,恐怕影响整体性能。

lz一定要在内核空间做的话,把原来的UART驱动改吧改吧就行了嘛



忙了一周,搞定了!
系统启动时初始化console口会初始化uart_port,之后调用early_serial_setup即可!
打开串口设备时记得把ECHO等屏蔽,否则每次收到数据后就会写回去。
......
struct uart_port up;
up.mapbase      = XXXXXXXXXXXXXXXXXX;
up.membase      = ioremap_nocache(up.mapbase,XXXXXXXXXXXXXXXX);
up.irq          = XXXXXXXXXXXXXXXXXXXXXXXXXX;
up.uartclk      = 50000000;
up.regshift    = 2;


相关问答:

有关linux安装脚本kickstart的编写

我之前制作的linux自动安装iso已经成功了,现在想对其进行一些定制修改,比如,更改grub图片等。
我在ks.cfg的%post段里面是这样写的:
%post --nochroot
# Move the contents of the tar into their new locati ......

北京急招linux、PHP网络应用开发

我们隶属中科院计算所网络重点实验室(http://www.ict.ac.cn/survey/channel/detail443.asp)基础设施课题组.
现因项目和业务拓展的需要,特需要招聘与项目相关的网络应用工程师1-2名。

具体要求如下。有意者 ......

linux 内存初始化

linux初始化时把支持的物理内存都映射到page table中,之后进程需要内存时,也是映射到这个物理内存中,如此说来,linux初始化时创建的page table和进程中创建的page table指向同一块物理页面吗?这样做的目的是什么 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号