linux dts与调用函数对应关系
uart0: uart0@1F221000 { compatible = "sstar,uart"; reg = <0x1F221000 0x100>; interrupts = <GIC_SPI INT_IRQ_UART_0 IRQ_TYPE_LEVEL_HIGH>; clocks = <&CLK_uart0>; status = "ok"; };
获取reg,即内存的起始地址与范围
platform_get_resource(pdev, IORESOURCE_MEM, 0);
获取interrupts
platform_get_resource(pdev, IORESOURCE_IRQ, 0);
获取clocks
of_clk_get(pdev->dev.of_node, 0);
dts 文件会将解析的文件的reg和interrupts转化到对应的struct resource。
其它获取的办法,通过 of_property_read_u32(pdev->dev.of_node, "dma", &mp->use_dma); 这类方法去获取dts文件内容。
解析dts的开始位置
init/main.c ->setup_arch(&command_line);
arch/arm/kernel/setup.c void __init setup_arch(char **cmdline_p) -> setup_machine_fdt();
platform_get_resource(pdev, IORESOURCE_MEM, 0);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2020-03-06 qt5 安装 qtserailport
2020-03-06 centos 查看缺失包