专题3-串口驱动程序设计-第2课串口驱动分析-初始化
2022/8/7 14:23:00
本文主要是介绍专题3-串口驱动程序设计-第2课串口驱动分析-初始化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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);
这篇关于专题3-串口驱动程序设计-第2课串口驱动分析-初始化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-17基于SpringWeb MultipartFile文件上传、下载功能
- 2024-04-14个人开发者,Spring Boot 项目如何部署
- 2024-04-14RAG应用开发实战02-相似性检索的关键 - Embedding
- 2024-04-14出海软件草根逆袭打法是什么?
- 2024-04-13鸿蒙原生应用再新丁!企查查 碧蓝航线 入局鸿蒙
- 2024-04-11RAG应用开发实战(01)-RAG应用框架和解析器
- 2024-04-10DevOps已死?2024年的DevOps将如何发展
- 2024-04-10码农必看:常见源代码混淆技术详解
- 2024-04-07以一当十丨TiDB 在东吴证券秀财 APP 的应用实践
- 2024-04-07月活超 1.1 亿,用户超 4 亿,你也在用的「知乎」是如何在超大规模 TiDB 集群上玩转多云多活的?来听听知乎代晓磊的答案!