Я смотрю на некоторые указатели для понимания того, как ядро Linux реализует настройку различных аппаратных часов.Это в основном относится к работе с настройкой различных часов, которые будут использовать аппаратные функции, такие как LCD, UART и т. Д.Например, когда Linux загружается, как он справляется с настройкой часов для UART или USB.Может быть, что-то вроде диспетчера часов или что-то в этом роде.
Я пытаюсь реализовать нечто подобное для другой ОС на новом оборудовании, над которым я работаю.Любая помощь могла бы быть полезна.
[Редактировать]
Спасибо за ответы и ссылки.Так вот, что я реализовал до сих пор.Это должно дать вам представление о том, куда я направляюсь.
Я посмотрел Справочное руководство по аппаратному обеспечению для конкретной системы, на которую нацеливаюсь, и написал некоторый код для мониторинга / изменения сигналов / выводов периферийных устройств, которые мне интересны, т.е. включения / выключения их из командной строки.. Теперь набор этих часов / сигналов вместе управляет периферийным устройством. HRM скажет, что если вы хотите включить UART или что-то еще, то включите такие и такие сигналы / выводы.И @BjoernD да, я использую что-то вроде функции mmap () для общения с периферийными устройствами.
Суть моего вопроса в том, что я хочу понять дизайн и реализацию диспетчера часов / периферийных устройств, который использует утилиту, которую я уже написал.Этот диспетчер часов / периферии позволил бы мне контролировать включение / отключение периферийных устройств, которые я хочу. В основном этот менеджер позволил бы мне вносить изменения в код инициализации, который сейчас запущен.Также во время выполнения процессы могут вызывать этот диспетчер для включения / выключения устройств, чтобы оптимизировать энергопотребление.Возможно, это не имело смысла, но я сам пытаюсь обернуть голову вокруг этого.
Теперь я уверен, что нечто подобное было бы реализовано в Linux или, если на то пошло, в любой операционной системе из-за проблем с производительностью (никто не хотел бы тратить энергию, включая все периферийные устройства во время загрузки).Я хочу понять архитектуру программного обеспечения этого.Ссылка из любой ОС будет делать по крайней мере получить преимущество.Кроме того, я не пишу свою собственную ОС, там есть ОС, но я больше смотрю на программное обеспечение уровня платы, также известное как BSP.Но все равно спасибо за ссылку на ОС, они действительно хороши.Ценить это.
Спасибо!