如何在嵌入式中初始化外设 Linux
How peripherals are initialised in Embedded Linux
我是嵌入式 Linux 的新手。我正在研究 IMX6UL 评估套件并完成 Yocto 构建过程。
如果我的问题非常基础,我深表歉意,我正在尝试了解 Linux 启动和初始化过程。
我已经了解了分配外围设备的设备树。
但是我不明白它们是在哪里初始化的,比如LCD、SPI、I2C。
由于我的背景是裸机,我知道它必须在某处进行初始化。但这是在 Linux 中完成的。没看懂。
谁能给我举一些例子。
任何设备的初始化都是在其驱动程序的探测调用中完成的。设备树中的 "compatible" 属性 用于匹配 of_match_table and probe is called first. Device tree node for the driver example is here.
编辑:应该补充一点,严格来说 probe 不会是第一个被调用的。有辅助宏 module_platform_driver,它基本上在 module_init/exit 不做任何特殊操作时使用。
我是嵌入式 Linux 的新手。我正在研究 IMX6UL 评估套件并完成 Yocto 构建过程。 如果我的问题非常基础,我深表歉意,我正在尝试了解 Linux 启动和初始化过程。
我已经了解了分配外围设备的设备树。 但是我不明白它们是在哪里初始化的,比如LCD、SPI、I2C。
由于我的背景是裸机,我知道它必须在某处进行初始化。但这是在 Linux 中完成的。没看懂。
谁能给我举一些例子。
任何设备的初始化都是在其驱动程序的探测调用中完成的。设备树中的 "compatible" 属性 用于匹配 of_match_table and probe is called first. Device tree node for the driver example is here.
编辑:应该补充一点,严格来说 probe 不会是第一个被调用的。有辅助宏 module_platform_driver,它基本上在 module_init/exit 不做任何特殊操作时使用。