做Android驱动开发(Linux内核层)一定要懂Framework层吗?
一定要从上到下都看遍如何调用的吗?
包括Java框架层,JNI,Native层,HAL层?

解决方案 »

  1.   

    单纯的驱动开发,应该不用,单纯的驱动开发只是linux,和android没多大关系了。个人认为。
      

  2.   

    不需要,我觉得不是懂了才去做,而是在做的过程中
    有时需要看看framework的东西,做多了,其中的调用关系就懂了
      

  3.   

    个人经验一般需要懂到HAL层,当然framework能懂最好,不然好多地方不好调试。
      

  4.   

    如果要做Binder的驱动,当然需要Framework的知识
      

  5.   

    我想知道一个相反的问题,做framework开发,需要知道驱动硬件控制怎么跑的吗
      

  6.   


    做驱动真累,不但要懂硬件,懂Linux内核,还得研究上层,真是全能了啊。
    我虽然精通C,但C++已经是两年前学的,而Java根本不懂,看framework真是折磨。
      

  7.   

    以前一直用C语言写Linux内核层的驱动 + 看芯片的datasheet。
    现在看C++看得快吐血了...
      

  8.   

    做驱动感觉最好懂hal那块,可以更好适应工作
      

  9.   

    Android驱动 = Android + 驱动;不懂android的framework & HAL layer,只做驱动的话,可以说就不是Android驱动。做Android驱动应该知道一些Android在使用这些驱动的feature、逻辑,否则我觉得跟做其他系统驱动没区别,就不好叫Android驱动工程师。
      

  10.   

    看Android的Key/Touch Input系统Native Service框架层(C++代码)两周了,累得快吐血了
    之前刚看完两百多页的英文Touch Panel datasheet,累
    有点想退出手机行业了
      

  11.   


    电路图,datasheet, 驱动程序,HAL, Framework一起看试试
      

  12.   

    一起看也没什么,对于android的产品,主要都是消费电子上,电路图基本也大同小异,soc上接口众多,你也不会加多少外设。看你的描述,无非就是加了个touch panel而已。touch panel还都会有厂商的驱动和tslib这种成熟的校准库,你不过就是编译调试下而已,驱动,hal,framework,说的那么玄乎不也就是结构上多几层吗。代码真心也多不到哪去,整个AMS统计的结果不也就14000多行代码吗?至于吐血吗,200多页英文并不多,里面还充斥着电气参数,时序图,图表。
    这只是冰山一角罢了,如果这都撑不住,只能说你不适合做技术。
    跟多媒体比起来,从多媒体的众多标准里随便挑一个都比这多的多,那让你做还不得整个内脏吐出来呀
      

  13.   


    我学电子的,也许对上层的代码不感兴趣吧。
    另外,我想深入研究硬件,协议,Linux驱动和内核,如果再看Android框架层,精力过于分散,对发展不利。
    如果仅仅是编译,调试下,也不会很累。但要把芯片的原理研究明白,调试到最佳还是不容易的。
    看Android框架层也同样,大概看看和仔细看,投入的精力是不同的。
    我不愿意走马观花,也不想再从头去学Java。
      

  14.   

    个人认为懂frameworks的好处是,在别组的人把bug丢到你头上的时候,有很多可以自己找到问题所在而不至于“吃死猫”,哈哈。楼上有哥们说的看了两百多页的英文Touch Panel datasheet,这个有必要每页都看么?……
      

  15.   

     看Android的Key/Touch Input系统Native Service框架层(C++代码)两周了,累得快吐血了
    之前刚看完两百多页的英文Touch Panel datasheet,累
    有点想退出手机行业了才两百,那么少。你去看下dm3730的datasheet 三千多页 
      

  16.   


    以前用过DM6467...csdn里没有大牛啊。