发布时间:2015-05-05 12:51:10
一、串口的初始化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.........【阅读全文】
发布时间:2015-05-05 12:51:03
初始化就是初始化以下串口结构: 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.........【阅读全文】
发布时间:2015-05-05 12:50:56
三、串口的打开在用户空间执行open操作的时候,就会执行uart_ops->open. Uart_ops的定义如下: tty_open=>init_dev=>initialize_tty_struct=>tty_ldisc_assign=>将tty_ldisc_N_TTY复制给该dev然后tty->driver->open(tty, filp);tty->driver为上面uart_register_driver时注册的tty_driver驱动,它的操作方法集.........【阅读全文】
发布时间:2015-05-05 12:50:27
点击(此处)折叠或打开一、I2C概述Linux的I2C体系结构分为3个组成部分:1.I2C核心I2C 核心提供了I2C总线驱动和设备驱动的注册、注销方法,I2C通信方法(即“algorithm”)上层的、与具体适配器无关的代码以及探测设备、检测设备地址的上层代码等。.........【阅读全文】
发布时间:2015-05-05 12:50:19
一、概述前边介绍过将普通GPIO口模拟成I2C,本文介绍davinci平台的硬件I2C驱动。Linux的I2C体系结构分为3个组成部分:1.I2C核心I2C 核心提供了I2C总线驱动和设备驱动的注册、注销方法,I2C通信方法(即“algorithm”)上层的、与具体适配器无关的代码以及探测设备、检测设备地址.........【阅读全文】