完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
为了让Linux在一块新的ARM SoC上运行,需要提供大量的底层支撑,如定时器节拍、中断控制器、SMP启动、CPU热插拔以及底层的GPIO、时钟、pinctrl、DMA硬件的封装;
定时器节拍为Linux基于时间片的调度机制以及内核和用户空间的定时器提供支撑; 中断控制器的驱动使得Linux内核工程师可以直接调用local_irq_disable() disable_irq()等通用的中断API; SMP启动用于让SoC内部的多个cpu核都投入运行; CPU热插拔用于在运行时挂载或拔除cpu; 时钟框架,让具体的SoC实现clk_ops()成员函数,并通过clk_register()、clk_register_clkdev()注册时钟源以及源与设备的对应关系,具体的时钟驱动都统一迁移到drivers/clk目录中; pinctrl驱动架构,通过在内核中增加一个drivers/pinctrl目录,以支撑SoC上的引脚复用,各SoC的实现代码均放到该目录; 各SoC采用dmaengine架构实现DMA驱动,该架构提供了通用的DMA通道API,例如dmaengine_prep_slave_single() dmaengine_submit()等,各SoC实现dma_device的成员函数,实现代码统一放入drivers/dma目录; drivers/gpio下的gpiolib已能与新的pinctrl共存,实现引脚的GPIO和其他功能之间的复用,各SoC只需要实现统一的gpio_chip结构体的成员函数即可; 当前GPIO、时钟、pinmux等都能良好地进行设备树的映射处理,因此可方便地在.dts中定义一个设备需要的GPIO、时钟和pinmux引脚。 原作者:newbee_wxh |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
654 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2242 浏览 1 评论
771 浏览 0 评论
1530 浏览 1 评论
2276 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:23 , Processed in 0.729258 second(s), Total 69, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号