Linux内核中的硬件时钟信号实现

我正在看一些指针,了解 Linux内核如何实现各种硬件时钟的设置.这主要涉及设置LCD,UART等硬件功能的各种时钟的使用.例如,当Linux启动时,如何处理为UART或USB设置时钟.也许像时钟经理或什么东西.

我基本上试图在我正在开发的新硬件上为不同的操作系统实现类似的操作.任何帮助将非常感激.

[编辑]
感谢您的回复和链接.所以这里是我现在实施的.这应该让你知道我在哪里去.

我查找了我针对的特定系统的硬件参考手册,并写了一些代码来监视/修改我感兴趣的外设的信号/引脚,即从命令行打开/关闭它们.现在收集这些时钟/信号一起控制外设.人力资源管理部门会说,如果要打开UART或某些东西,然后打开这样的信号/引脚.而@BjoernD是的,我正在使用像mmap()函数来与外设交谈.

我的问题的肉是我想了解使用我已经写的实用程序的时钟/外设管理器的设计和实现.这个时钟/外设管理器将允许我控制启用/禁用我想要的外设.通常这个管理器将使我能够更改正在运行的init代码.此外,在运行时间过程中,可以调用此管理器来打开/关闭设备,从而优化功耗.这可能没有完美的意义,但我自己正试图围绕着这一切.

现在我确信这样的东西可以在Linux中实现,或者任何操作系统都能执行性能问题(没有人会想通过在启动时打开所有外设来浪费电力).我想了解它的软件架构.从任何操作系统的参考将直到现在得到一个开始.另外我还没有写我自己的操作系统,有一个操作系统,但是我更多地看到一个板级软件又称BSP来工作.但是感谢操作系统链接,他们真的很好.欣赏它

谢谢!

解决方法

您想要实现的是高度专注于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肯定是有助于打印调试输出的东西,所以你可能想要首先执行.

现在我记下了这一切,似乎你的实际问题是:如何开始操作系统设计.这个问题对你来说应该是非常有价值的:How to get started in operating system development

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


查找全部容器的日志文件 $ sudo find /var/lib/docker/containers -name *.log 查看日志位置 $ docker inspect --format='{{.LogPath}}' <container_name> 实时查询内容 $
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型
评估Linux系统性能的ttyload工具使用效果
分享在Linux系统中检测SSH版本的方法
介绍Linux平台上的数据加密工具EncryptPad
在Linux系统中,如何查看和诊断块设备信息?
在Linux环境下如何查看块设备信息?
探索Linux操作系统下的数据加密工具EncryptPad
学会在Linux系统中查看硬盘信息
分析SELinux:原理与实践
掌握SELinux策略类别
技巧:有效解读和管理Linux日志文件
查看Linux系统中的所有用户
了解Linux系统中各种不同类型的日志文件
深入理解Linux PS命令
方法:在Linux操作系统中查看用户