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