Linuxer.
全部博文(199)
发布时间:2013-02-22 14:30:18
一.宏的定义在/include/linux/Init.h中[cpp] view plaincopyprint?#define __setup(str, fn) \ __setup_param(str, fn, fn, 0) #define __setup(str, fn) \.........【阅读全文】
发布时间:2013-02-22 14:24:43
console驱动:一、基本概念终端是一种字符型设备,通常使用tty简称各种类型的终端。linux的终端类型:/dev/ttySn,串行口终端/dev/pty,伪终端/dev/tty,当前进程的控制终端,可以是介绍的其它任何一种终端/dev/ttyn,tty1~tty6是虚拟终端,tty0当前虚拟终端的别名。/dev/console,控制台终端(显示器)二、uboot.........【阅读全文】
发布时间:2013-02-20 17:36:57
初始化就是初始化以下串口结构: static int __init serial8250_init(void){int ret;if (nr_uarts > UART_NR)//UART_NR =3nr_uarts = UART_NR;//串口数量最多设为3个printk(KERN_INFO "Serial: 8250/16550 driver, ""%d ports, IRQ sharing %sabled\n", nr_uarts,share_irqs ? "en" : "dis");#ifdef.........【阅读全文】
发布时间:2013-02-20 11:14:17
一、串口的初始化main.c(setup_arch(&command_line);)---->setup.c(paging_init(mdesc);)---->mmu.c(devicemaps_init(mdesc);)---->mmu.c(mdesc->map_io();)---->\arch\arm\mach-davinci\board-da850-evm.c(.map_io = da850_evm_map_io,)---->\arch\arm\mach-davinci\da850.c(void __init da850_init(void))1.........【阅读全文】
发布时间:2013-02-19 14:55:27
网上许多流行的linux串口编程的版本中都没对c_iflag(termios成员变量)这个变量进行有效的设置,这样传送ASCII码时没什么问题,但传送二进制数据时遇到0x0d,0x11和0x13却会被丢掉。不用说也知道,这几个肯定是特殊字符,被用作特殊控制了。关掉ICRNL和IXON选项即可解决。 c_ifl.........【阅读全文】