linux内核时钟驱动,Linux内核中的硬件时钟信号实现

您想要实现的是高度专注于a)您正在使用的平台,以及b)要使用的设备.例如,在x86上有3种方式与设备进行通信:

>中断允许设备通知cpu. OS通常提供寄存中断处理程序的机制 – 在发生中断时调用的函数.在Linux中,请参阅request_irq()和linux / include / interrupt.h中的朋友

>内存映射I / O是设备的物理内存,平台的BIOS可以以与访问普通物理内存相同的方式提供,只需通过写入内存地址即可.这种存储器之后究竟是什么(例如,网络接口配置寄存器或LCD帧缓冲器)取决于设备,并且通常在设备的数据表中指定.

> I / O端口可通过特殊地址空间和特殊指令(INB / OUTB& co.)访问.除了它们的工作类似于I / O内存.

有多种方法可以找出设备的资源和BIOS映射的位置.一些平台使用ACPI表(google自己为1,000k页面规格),PCI通过PCI配置空间以标准化方式提供设备信息,USB具有类似的方式来发现连接到总线的设备,以及一些设备,例如UARTS,被简单地指定为在您的平台固定的预配置I / O范围内可用.

作为理解Linux的开始,我建议您使用“Understanding the Linux kernel”.有关Linux如何处理设备以及写入驱动程序的具体内容,请查看Linux Device Drivers.此外,您将需要查看平台的特性和您要驱动的设备.

如果要启动自己的操作系统,那么UART肯定是有助于打印调试输出的东西,所以你可能想要首先执行.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值