我正在寻找一些指导,以了解Linux内核如何实现各种硬件时钟的设置.这主要涉及设置各种时钟,如LCD,UART等硬件功能将使用.例如,当Linux引导它如何处理为UART或USB设置时钟时.也许像时钟经理之类的东西.
我基本上试图在我正在使用的新硬件上为不同的操作系统实现类似的功能.任何帮助将非常感激.
[编辑]
感谢您的回复和链接.所以这是我迄今为止所实施的内容.这应该可以让你了解我的目标.
我查看了硬件参考手册,了解了我所针对的特定系统,并编写了一些代码来监控/修改我感兴趣的外设的信号/引脚,即从命令行打开/关闭它们.现在收集这些时钟/信号一起控制外设.HRM会说如果你想打开UART或其他东西,那么打开这样的信号/引脚.和@BjoernD是的,我正在使用类似mmap()函数的东西与外围设备通信.
我的问题是,我想了解使用我已编写的实用程序的时钟/外围设备管理器的设计和实现.这个时钟/外设管理器可以让我控制启用/禁用我想要的外设.基本上这个管理器可以让我对正在运行的init代码进行更改.此外,在运行时,进程可以调用此Manager来打开/关闭设备,以便优化功耗.它可能没有完美的意义,但我自己试图绕过这个.
现在我确信这样的事情会在Linux中实现,或者就任何操作系统的性能问题而言都是如此(没有人希望通过在启动时打开所有外设来浪费电源).我想了解它的软件架构.任何操作系统的参考资料至今都可以实现至少获得一个先机.此外,我不是在编写自己的操作系统,有一个操作系统,但我正在寻找更多的板级软件,也就是BSP.但是,无论如何,感谢OS链接,它们真的很棒.欣赏它.
谢谢!