Re: [请益] IC厂整合转职嵌入式sw,准备方向

楼主: shinza (BBBBB)   2018-02-26 10:03:10
Hi,
这边就不讨论转sw这个决定好或不好了,毕竟自己的选择自己承担。
而且资工毕业能够当做大公司designer,也有过人之处才对。
纯粹就你的问题回答:
: 1.
: 如果我要自学把开发板上的周边装置带起来
: (e.g. USB/wifi/蓝芽), 想请教建议的入门学习方式?
: 直接 Linux device driver吗?
: 或者不用OS, 看有无现成的 library 抓下来用 ?
: 但这样是否对底层硬件运作不够了解?
: 因为lib procedure calls都帮你把底层该读写哪些register包好了?
: 或者有没有上OS不是重点,重点是能讲出你多了解这些周边运作方式?
OS当然是重点,因为driver就是OS跟装置沟通的桥梁,例如现在OS要送一笔资料
到USB/wifi/BT,这过程是怎么发生的?
1.OS要找到装置的driver
2.OS要呼叫driver把装置带起来
3.OS送资料给driver
4.driver转换资料成USB/wifi/BT的格式
5.driver把上述的资料写到装置的register/fifo,完成传输
上面#1~#3都跟OS有关系,不同的OS作法会不同,所以OS很重要。
#4就是所谓domain knowledge,你要懂wifi/BT的protocol,才有办法做对。
#5就是你所谓底层硬件运作,你要知道自家IC的运作方式才能正确把资料送到IC。
所以你可以想一想,用library有没有办法了解上述流程。
: 2.
: 我用的开发板目前已有可用的 Linux 版本, 似乎连device driver都有现成的,
: 我不确定是否该从 porting Linux 开始进行学习 ?
: 或者直接看部分code了解 kernel运作 e.g. 内存管理/档案系统 +一些书单 ?
: (e.g. LDD or Linux Device driver之类的)
: 请教这部分有没有建议的流程/网站(之类的)
: 可以有些题目,让学习者自己改code 透过做中学深入了解 kernel运作?
这个问题有模糊地带,实际上应该两个问题:学习driver 跟 kernel。
这两个我认为是两件事情,或许有人认为是一样的,因为目前装置都太复杂了,很难
两个精通。
举例来说,如果你是做像wifi/BT等装置,那重点应该是在driver,如果是做平台像是电视/平板/手机
,重点应该是在Linux kernel。 LDD(Linux Device driver)是很好的书,但我不
建议初学者看,这本比较像进阶书。如果要练习的话,我建议可以用开发版跑一个非
Linux 的OS,然后练习把一个ethernet driver porting到这OS上面,透过这个过程
你应该会有一些体验跟"感觉"。 再去读LDD会有更多领悟。
: 3.
: 请教以上的部分, 该自学到怎样的程度才有办法在面试胜出 & 应付未来工作呢?
: 像我的情况, 从整合转sw, 是否无法一步就跳到国外工作?
: 必须先在台湾找其他愿意收无经验sw的IC厂先历练几年?
: (btw我也考虑过内转不过现在没管道没认识做sw的人Q_Q)
如果你是刚毕业没多久,学历还是面试最好的武器,加上你有做过IC 整合,
这个是一个优势,单看你履历怎么包装。
至于跳到国外工作,这应该是一个独立议题,你就算FW/验证都很强,还是没法保证
一定可以到国外工作。 我可以想到的有两个方法,一个是去国外念书,当然这就是
砍掉重练了,一个是我比较常看到的,就是想办法去外商,接着把握机会转到外商HQ。
作者: bab7171   2018-02-26 10:24:00
推,其实呆台湾什么都不吃香。
作者: ruthertw (小叶老大)   2018-02-26 11:10:00
干到副总以上就吃香了~
作者: srxrrr (干!我是肌董)   2018-02-26 15:17:00
推!!!
作者: poem5566 (干你蚬仔)   2018-02-27 03:47:00
作者: chien2013   2018-02-28 00:26:00
作者: metalalive (独乐乐不如众乐乐)   2018-02-28 14:57:00
谢谢, 受益良多

Links booklink

Contact Us: admin [ a t ] ucptt.com