本帖最后由 21ic小喇叭 于 2016-12-9 10:27 编辑
想想我从事 linux 驱动开发,已经五六年前了.那时候 Linux 驱动还是8k+的工资等级. 主要负责 usb 部分.因为芯片公司的 usb 都比企业复杂的多.所以需要一个有灵性的人来干.当时我们主管就是这么说的. 我8年前买的2440开发板,那时候还1200元,现在也就是个零头了.自学的驱动,看过老外的书也看过国产的.弯路走的太多.现在做一个视频出来,算给大家铺路吧. 这个职位不是因为我自学的 linux,而是因为我自学的 usb,所以现在也想把 usb 技术教给大家.期待一下吧.而我认为这些都是表面的需求,真正的需求是我学习很多东西,然后又放弃各种野路子留下的灵性.面试官是看这个的.所以我想带大家走一条康庄大道. linux 代码无疑是优秀的,但是能够看到精髓的人,大都不想做网红.所以 linux 版不是最活跃的.当然不是别人跟你聊一两个代码,你就能优秀了.建议你补一下面向对象的课程.基于面向对象语言的面向对象.这个我还没准备拍成教程.暂时还是需要你自己记着补. 如果你每间隔一段时间,就看我的视频,也有强化功效.我的 c++面向对象的十万行代码是获得代码精髓的必经之路.大家没有,那就重复听我的课程,去悟吧. 为什么是秘籍,是因为我淌了太多坑.然后又放弃了野路子. 主要包含三个部分,第一个是学习方法和心态.教你如何去理解和应对这个艰苦的学习任务.第二部分是浅出,大家自己去搞一个 char 驱动,来锻炼自己的信心.当然,你不需要拥有一块开发板.第三部分,是我为了在21ic 上线新补的.很抱歉让以前看我视频的人久等了.因为我的确记混了,以前录的视频太随便,达不到公开标准,就只让徒弟们看了.这一部分是总结和提高,总结是进一步强调要关注什么.提高是补全一下中断的使用,顺便提及驱动层如何让调用此驱动的线程休眠. 最后是一个提高课程,因为很多人写过的程序就像原始的 can 驱动,而正常的设计是 socketCAN,我用最新的版本,在这个驱动的文档,代码,讲解,把差异的部分详细分析,大家就不会惧怕复杂,如何把一个驱动分成两层,一层功能,一层抽象,在抽象层挂接上层协议,让软件不需要关注协议.把抽象层挂到网络层,也是我以前想讲的.本来想讲加密硬件驱动的,但是那个也很古老,并且用到的人很少.而 can 用到的人会多.can 的平台驱动更加复杂,所以也是我想带大家肯硬骨头的原因.我相信看过这个代码的人,就会对驱动游刃有余,因为是用的最新代码,大家可以容易的从网上下到和我一致的代码,自己去学习. 这不是一个面面俱到的教程, 这是一个举一反三的教程. 这是一个深入浅出的教程, 这是一条正确的学习路程. 你花了很多钱,很多时间,缺的是什么?在这里就能很容易的看到. 按照我的方法,重新看你看过的驱动.必须是 图样(too young), 图森破(too simple), sometimes Naive. 我2年前,给一家公司完成了从 ucos 到 linux, 从 arm+fpga 到 zynq 的改造.让一个繁琐的复杂的系统,变成了一个简单,工程的产品. 加油吧少年,再不学会,就晚了 这么晚出 linux 教程,我很后悔......让大家久等了. 首周特惠, 首周特惠, 首周特惠, 重要的说三遍 如果觉得课程便宜,就给本帖打赏吧.
|