标签:初始化 s3c24xx 驱动程序 uart driver 串口 serial
1、概述
(1)串口驱动程序结构
(2)串口驱动中的重要数据结构体
用户态发生write时->VFS中的sys_write,先经过file_operation中的tty_write,这个tty_fops是在哪里注册的?
2、回溯-初始化分析
两个重要的文件:
samsung.c:注册串口驱动程序
s5pv210.c
(2)串口驱动中重要的数据结构:
uart驱动程序结构:struct uart_driver --对应串口驱动
使用场景实例:
static uart_driver s3c24xx_uart_ddrv = {
.owner = THIS_MODULE,
.dev_name="s3c2440_serial"
.nr=CONFIG_SERIAL_SAMSUNG_UARTS,定义有几个端口
.cons = S3C24XX_SERIAL_CONSOLE,
.driver_name = S3C24XX,
.major = 主设备号,
.minor = 次设备号,
};
uar端口结构:struct uart_port
uart相关操作函数结构:struct uart_ops
uart状态结构:struct uart_state
uart信息结构:uart_info
(3)初始化的过程分析:
从哪里开始分析呢?samsung.c
static int __init s3c24xx_serial_modinit(void)
{
int ret;
ret = uart_register_driver(&s3c24xx_uart_drv);
return 0;
}
static void __exit s3c24xx_serial_modexit(void)
{
uart_unregister_driver(&s3c24xx_uart_drv);
}
module_init(s3c24xx_serial_modinit);
module_exit(s3c24xx_serial_modexit);
标签:初始化,s3c24xx,驱动程序,uart,driver,串口,serial 来源: https://www.cnblogs.com/luckdog0623/p/16558285.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。