android_porting步骤

1. 认真阅读IC的spec,我们需要从中读出一些有用的信息。
    1) IC正确的(或者可以说精确的)上电时序,这其中包括,Host端控制IC时存在几个pin(regulator, GPIO等),这几个pin严格的上点时序是怎么样的。
    2)IC上电时,是否需要发送一定的初始化序列,来保证IC的正常工作。
    3)IC的正常工作时的工作原理及工作模式等。
2. Driver编写:
    Linux driver的编写一般分为两个部分:一个为DTS, 另一个为真正的driver code。
    DTS:一般从device的spec中,我们可以得知,真正drive这颗IC所需要的所有资源。一般我们会将这些资源,全部填充到DTS node里。这些资源在系统boot的时候会被driver进行解析和资源申请。
    Driver code:以下是driver porting中几个比较重要的函数,需要注意。
    xxx_init() 这个是一定会被系统加载的,因为它被编译到.init段中,一般这个函数,只会做一件事情,就是注册driver。
    xxx_probe() 这个函数一般在driver match成功后,被系统调用的。而在这个函数中做的事情比较多,主要分三个方面的任务:一是对DTS的分析及资源的申请工作。二是,对于device的default工作模式进行设置,包括上电时序和模式选择等。三是,对于文件系统的注册(因为在Linux系统中,所有kernel与上层的交互都是通过文件系统来完成的)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值