Я прохожу процесс загрузки и запуска ядра. В чем именно заключается использование FDT (плоское дерево устройств)?
Многие ссылки, которые я прочитал, утверждают, что uboot передает информацию о конфигурации платы и SOC в ядро в форме FDT
https://wiki.freebsd.org/FlattenedDeviceTree
Зачем ядру информация о конфигурации платы?
Я задаю этот вопрос, потому что, когда мы создаем драйвер устройства в Linux, мы используем его для инициализации устройства при вызове probe () или module_init () и использовании функции request_mem_region () и ioremap (), чтобы получить диапазон адресов, а затем установить часы & другой регистр драйвера.
Что на самом деле делает request_mem_region () и когда это необходимо?
Теперь, если мои драйверы для устройств на чипе и вне чипа выполняют полную инициализацию платы.
Тогда какой смысл flattened device tree
для ядра?