我正在看一些理解Linux内核如何实现设置各种硬件时钟的指针。这基本上涉及如何设置LCD,UART等硬件功能所使用的各种时钟。例如,当Linux启动时,它如何处理设置UART或USB的时钟。也许像时钟管理器之类的东西。在Linux内核中实现硬件时钟信号内核
我基本上是试图在我正在研究的新硬件上为不同的操作系统执行类似的操作。任何帮助将非常感激。
[编辑]
感谢您的回复和链接。所以这是我迄今为止实施的内容。这应该让你知道我的目标。
我查阅了针对特定系统的硬件参考手册,并编写了一些代码来监视/修改我感兴趣的外设的信号/引脚,即从命令行将它们打开/关闭。现在这些时钟/信号的集合共同控制外设.HRM会说,如果你想打开UART或什么的,然后打开这样和那样的信号/引脚。而@BjoernD是的,我正在使用类似于mmap()的函数来与外设通话。
我的问题的关键是我想了解使用我已经编写的实用程序的时钟/外设管理器的设计和实现。这个时钟/外设管理器可以让我控制启用/禁用我想要的外设。基本上这个管理器将使我能够对正在运行的init代码进行更改。在运行期间,进程也可以调用该管理器来打开/关闭设备,以便优化功耗。它可能没有完美的意义,但我自己试图把我的头围绕着这个。
现在我确信类似这样的东西可能已经在Linux或者任何操作系统中实现了性能问题(没人愿意在启动时打开所有外设来浪费电源)。我想了解它的软件架构。从任何操作系统的参考将至今做到至少得到一个头马。此外,我不写自己的操作系统,有一个操作系统的地方,但我更多地看板级软件,即BSP工作。但是,无论如何感谢操作系统的链接,他们真的很好。欣赏它。
谢谢!
2011-07-01
The Stig