到印度出差差不多三個(gè)月,終于又回來(lái)了。寫一點(diǎn)自己對(duì)于硬件以及軟件的一點(diǎn)認(rèn)識(shí)及體會(huì)吧。
每當(dāng)有了一點(diǎn)技術(shù)心得,總想寫出來(lái)和同行分享分享,所謂不吐不快,是為此理。
到印度出差差不多三個(gè)月,終于又回來(lái)了。寫一點(diǎn)自己對(duì)于硬件以及軟件的一點(diǎn)認(rèn)識(shí)及體會(huì)吧。
每當(dāng)有了一點(diǎn)技術(shù)心得,總想寫出來(lái)和同行分享分享,所謂不吐不快,是為此理。
接下來(lái)說(shuō)說(shuō)嵌入式崗位。個(gè)人覺(jué)得這一崗位相較于純硬件崗位,需要精通匯編或者C語(yǔ)言,現(xiàn)在主流的嵌入式語(yǔ)言當(dāng)然是C語(yǔ)言。這一崗位通常是和單片機(jī)及外圍電路打交道。這一崗位的就業(yè)方向個(gè)人覺(jué)得比純硬件崗位,就業(yè)面更廣更寬。
至于說(shuō)薪資待遇這一塊,個(gè)人覺(jué)得還是仁者見(jiàn)仁,智者見(jiàn)智。我曾經(jīng)遇到過(guò)精通設(shè)計(jì)微電機(jī)的工程師,這是純硬件崗位,他通過(guò)個(gè)人的努力加上個(gè)人的運(yùn)氣,在上海實(shí)現(xiàn)了有房有車的追求(有點(diǎn)世俗)。我也遇到過(guò)做單片機(jī)開發(fā)的工程師,在三四線城市,月薪4,5k左右。所以在帖子中我盡量客觀分析各個(gè)崗位對(duì)于既能要求的異同點(diǎn),至于說(shuō)薪資待遇,那就看各位的功力和機(jī)遇了。
嵌入式崗位之所以說(shuō)就業(yè)面廣,是因?yàn)?/strong>各行各業(yè)只要涉及到弱電控制,幾乎都離不開單片機(jī)。即使是傳統(tǒng)的開關(guān)電源行業(yè)也需要涉及電壓電流的采樣顯示,PWM脈寬的遠(yuǎn)程控制調(diào)節(jié)等,這必然得用到單片機(jī)的ADC采樣功能。
嵌入式崗位大至可以劃分為工業(yè)領(lǐng)域,醫(yī)療領(lǐng)域,通信領(lǐng)域,教育行業(yè),船舶通導(dǎo)領(lǐng)域等等。接下來(lái)說(shuō)說(shuō)嵌入式工程師需要具備的專業(yè)既能。首當(dāng)其沖是C語(yǔ)言,必須精通C語(yǔ)言,最好能達(dá)到同聲翻譯的水平。即客戶提出具體的技術(shù)指標(biāo),嵌入式工程師第一時(shí)間就能用C語(yǔ)言描述。其次需要熟悉至少一種單片機(jī),目前大多數(shù)工程師入門接觸到的第一款單片機(jī)就是8051單片機(jī)。掌握了8051單片機(jī)之后,根據(jù)目前的流行趨勢(shì),我們需要著手熟悉掌握STM32單片機(jī)。個(gè)人覺(jué)得如果具備了上述兩項(xiàng)技能,嵌入式工程師即可入門了,后面的路就需要你在學(xué)習(xí)中,工作中不斷的深入。至于說(shuō)嵌入式操作系統(tǒng)以及對(duì)于單片機(jī)內(nèi)部的電路架構(gòu)的理解當(dāng)然是越深入越好,這就需要我們保持足夠的學(xué)習(xí)能力,永不疲倦的追求技術(shù)。
另外,我接觸到的嵌入式工程師,普遍的存在基本的硬件基礎(chǔ)知識(shí)較薄弱,導(dǎo)致的直接影響就是遇到硬件相關(guān)的問(wèn)題,很多時(shí)候不知道如何解決。這也是廣大的嵌入式工程師急需加強(qiáng)補(bǔ)充的地方。
推薦的第一本書籍是C語(yǔ)言書籍,C Primer Plus。個(gè)人覺(jué)得這本書對(duì)于C語(yǔ)言的講解非常到位。另一本書,C語(yǔ)言入門經(jīng)典。這本書重視基礎(chǔ)知識(shí)點(diǎn)的講解婆媳。個(gè)人覺(jué)得這兩本書結(jié)合在一起學(xué)習(xí),對(duì)于C語(yǔ)言的入門及提高是非常有幫助的。只有將基礎(chǔ)打牢了,才便于后續(xù)知識(shí)的進(jìn)一步學(xué)習(xí)。如果能夠?qū)語(yǔ)言學(xué)到同聲翻譯的水平,個(gè)人覺(jué)得這才是真正的大成。能夠在大腦中將現(xiàn)場(chǎng)客戶的技術(shù)要求瞬間轉(zhuǎn)化為單片機(jī)能夠執(zhí)行的代碼,這就是C語(yǔ)言的同聲翻譯。
C語(yǔ)言的書籍推薦了幾本,接下來(lái)推薦一點(diǎn)C語(yǔ)言的視頻教程。郝斌C語(yǔ)言講解,這套視頻是我當(dāng)初學(xué)習(xí)C語(yǔ)言的入門教程,個(gè)人覺(jué)得郝斌老師講的很接地氣,看書時(shí)遇到的很多語(yǔ)法上的疑點(diǎn)在郝斌老師的視頻講解中都得到了解答。這套視頻教程一共180級(jí),比較龐大,需要大家有一點(diǎn)學(xué)習(xí)的耐心和熱情。
另一套視頻,C語(yǔ)言深度解剖,這套視頻可以有助于我們深入理解C語(yǔ)言的諸多語(yǔ)法細(xì)節(jié),細(xì)細(xì)體會(huì)這套視頻,你的C語(yǔ)言功力會(huì)提升很多,當(dāng)然也有配套的書籍,書名也叫C語(yǔ)言深度解剖。
電子計(jì)算機(jī)這一行業(yè)涉及到的技術(shù)及知識(shí)點(diǎn)汗牛充棟,就談C語(yǔ)言吧,貌似很簡(jiǎn)單,但是等你真正深入進(jìn)去才會(huì)發(fā)現(xiàn),C語(yǔ)言入門簡(jiǎn)單,但是想用好C語(yǔ)言,那是真的不容易。通過(guò)簡(jiǎn)單的C語(yǔ)言編程,可以讓單片機(jī)實(shí)現(xiàn)各種花式流水燈的操作。通過(guò)C語(yǔ)言編程,也可以讓單片機(jī)跑系統(tǒng)。這就是C語(yǔ)言的魅力。上述推薦的幾本C語(yǔ)言書籍及視頻教程只能幫助大家熟悉C語(yǔ)言的使用。真正想大成,還是需要通過(guò)實(shí)實(shí)在在的項(xiàng)目才能成長(zhǎng)起來(lái)。
深入學(xué)習(xí)C語(yǔ)言,繞不開的一門學(xué)科便是數(shù)據(jù)結(jié)構(gòu)。C語(yǔ)言的核心以及精髓是什么,是指針。但是貌似單片機(jī)編程中沒(méi)有涉及到任何的指針類的語(yǔ)法(庫(kù)函數(shù)除外)。偶爾涉及到不同函數(shù)之間的數(shù)據(jù)傳遞時(shí),我們也可以通過(guò)全局變量來(lái)解決,完全沒(méi)有必要采用指針操作。那指針到底用在哪里呢。
如果不知道指針到底用在哪里,真心建議大家好好翻一翻基于C語(yǔ)言編寫的數(shù)據(jù)結(jié)構(gòu)書籍,只有在深入學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的解除上,我們才能體會(huì)到指針是C語(yǔ)言的精髓這句話的真諦?;贑語(yǔ)言的單片機(jī)編程屬于底層編程,很多程序的編寫完全可以避免指針的使用,或者說(shuō)常規(guī)的C語(yǔ)言語(yǔ)法已經(jīng)足夠我們應(yīng)付底層的驅(qū)動(dòng)編寫了。不過(guò)此時(shí)的我們距離所謂的C語(yǔ)言高手還有一段距離。這段距離就是結(jié)構(gòu)體和指針。跨過(guò)結(jié)構(gòu)體及指針這道門檻,你才算步入了C語(yǔ)言高手的行列,后續(xù)的修煉就靠操作系統(tǒng)了,這是后話,暫且不表。
那如何跨過(guò)結(jié)構(gòu)體及指針這道門檻呢,學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)吧。指針的優(yōu)點(diǎn)是它非常的靈活,指針的缺點(diǎn)也恰恰是它太過(guò)靈活。數(shù)據(jù)結(jié)構(gòu)涉及到第一個(gè)知識(shí)點(diǎn)是鏈表。學(xué)好了鏈表,理解了鏈表,后續(xù)的樹,二叉樹以及圖等知識(shí)點(diǎn),你才能更深入的學(xué)習(xí)。不過(guò)它們的操作無(wú)外乎插入,刪除,查找等等。學(xué)好了指針,你會(huì)發(fā)現(xiàn)編程真正玩的不過(guò)是內(nèi)存的分配釋放而已。
推薦兩本書籍,第一本是嚴(yán)蔚敏師太編寫的《數(shù)據(jù)結(jié)構(gòu)》,第二本是《大話數(shù)據(jù)結(jié)構(gòu)》,作者程杰。
今天終于可以坐下來(lái)寫點(diǎn)文字了。
剛?cè)胄械墓こ處焼?wèn)的最多的莫過(guò)于前途二字。老鳥們通常會(huì)告訴小菜鳥們,做電源好,只要涉及到電,必然就有電源,所以做電源絕對(duì)不用考慮失業(yè)。這句話不錯(cuò),電源雖然屬于電子行業(yè),但相對(duì)于其他電子行業(yè),電源技術(shù)的更新發(fā)展其實(shí)相當(dāng)緩慢。目前市面上我們接觸到的電源模塊很多都還是采用的模擬技術(shù)實(shí)現(xiàn)。很多行業(yè)甚至依舊采用線性電源。
不過(guò)做電源技術(shù)久了,我也發(fā)現(xiàn)電源工程師的局限性。除了電源,我們貌似會(huì)的還是電源,至于說(shuō)單片機(jī),F(xiàn)PGA等,幾乎不懂。而且最可怕的是,由于長(zhǎng)久呆在電源行業(yè),想換個(gè)其他電子行業(yè),卻發(fā)現(xiàn)自己幾乎什么都玩不轉(zhuǎn)。想把電源技術(shù)玩出花來(lái),跳不過(guò)去的一道坎就是單片機(jī)。模擬電源有其局限性,涉及到多電源數(shù)據(jù)采集控制通信,以及多模塊電源聯(lián)合控制等,想模擬電子技術(shù)實(shí)現(xiàn)就比較困難,而通過(guò)單片機(jī)編程實(shí)現(xiàn)則相對(duì)比較簡(jiǎn)單。重點(diǎn)來(lái)了,我們不會(huì)單片機(jī)編程,怎么辦?
很多人埋頭于電源技術(shù),花了很多時(shí)間終于自認(rèn)為把模擬電源技術(shù)掌握好了,抬頭一看,自己早已過(guò)了而立之年。年齡大了,肩上的責(zé)任重了,自己的學(xué)習(xí)能力以及求知欲卻慢慢退化了。
人到中年,面對(duì)日新月異的電子技術(shù),很多人選擇的是逃避。君不見(jiàn)各大論壇經(jīng)常充斥著這樣的謬論:“做技術(shù),但不可一味追求技術(shù)。做技術(shù)是沒(méi)有前途的,做到一定的程度還是轉(zhuǎn)行做管理吧。”每每看到這樣的犬儒言論,我總覺(jué)得很好笑。這里我就不抨擊了,但我總覺(jué)得人生苦短,既然選擇了一個(gè)方向,那就應(yīng)該堅(jiān)定不移的走下去,矢志不渝,不忘初心。
人到中年,面對(duì)日新月異的電子技術(shù),還有的人選擇了迎難而上。接下來(lái)我推薦的書籍主要用于那些想在數(shù)字控制領(lǐng)域有所斬獲的朋友。另外在此再糾正一個(gè)觀點(diǎn),很多工程師覺(jué)得模擬電子技術(shù)相對(duì)于數(shù)字電子技術(shù),難度更大。其實(shí)不管是模擬電子技術(shù)還是數(shù)字電子技術(shù)都不簡(jiǎn)單,都需要我們這些平凡人花費(fèi)大量的時(shí)間去鉆研才有可能有所突破。
接下來(lái)我給大家推薦一些數(shù)字電子技術(shù)及CPU技術(shù)方面的書籍。
第一本書《數(shù)字電子技術(shù)基礎(chǔ)》,閻石主編。這本書我翻看了至少有三遍,視頻講解也看了差不多兩遍,只能說(shuō)數(shù)字電子技術(shù)不簡(jiǎn)單,真的不簡(jiǎn)單。
看完數(shù)字電子技術(shù),我們會(huì)發(fā)現(xiàn),區(qū)區(qū)0和1真的是變化多端。組合邏輯,時(shí)序邏輯,寄存器,譯碼器,編碼器,鎖存器,競(jìng)爭(zhēng)冒險(xiǎn)等等,玩溜了不簡(jiǎn)單。再推薦一本書籍《數(shù)字電子技術(shù)》,這本書是老美寫的,個(gè)人覺(jué)得這本書更加偏重于實(shí)踐,書中的實(shí)例很多,學(xué)完一個(gè)知識(shí)點(diǎn),對(duì)著實(shí)例理解效果更好。這本書當(dāng)初我學(xué)習(xí)時(shí),一直帶在身邊,只要有空就會(huì)拿出來(lái)反復(fù)翻閱。簡(jiǎn)簡(jiǎn)單單的一個(gè)方波,其實(shí)隱藏著很多的信息。你以為懂了占空比就懂了方波,其實(shí)我們對(duì)于方波的理解還是太過(guò)膚淺。
掌握了一部分?jǐn)?shù)字電子技術(shù),我們有必要開始學(xué)習(xí)計(jì)算機(jī)相關(guān)的技術(shù)基礎(chǔ)。首先推薦的這本書為《邏輯與計(jì)算機(jī)設(shè)計(jì)基礎(chǔ)》。這本書前半部分講解的依舊是數(shù)字電子技術(shù),后半部分講解的是CPU的結(jié)構(gòu)組成。個(gè)人覺(jué)得這本書需要我們好好靜下心來(lái)仔細(xì)琢磨琢磨,書中后半部分對(duì)于CPU的體系結(jié)構(gòu)講解的比較深入,個(gè)人覺(jué)得非常適合于那些想深入理解CPU組成結(jié)構(gòu)的朋友。
繼續(xù)更新,今天準(zhǔn)備再推薦幾本微處理器及計(jì)算機(jī)相關(guān)的書籍。
我們每天接觸的計(jì)算機(jī),到底由哪些部件組成呢,各個(gè)模塊之間是如何協(xié)同工作的呢。如果大家想系統(tǒng)地了解計(jì)算機(jī)的內(nèi)部原理,接下來(lái)這本書個(gè)人覺(jué)得大家有必要看看,《計(jì)算機(jī)組成與體系結(jié)構(gòu)》。這本書對(duì)計(jì)算機(jī)組成及體系講解的比較多,個(gè)人覺(jué)得通過(guò)這本書可以幫助大家對(duì)計(jì)算機(jī)建立一種立體的認(rèn)識(shí),而不僅僅只是把它當(dāng)作黑盒子或者是工具。不過(guò)話說(shuō)回來(lái),即使把這類講解計(jì)算機(jī)體系及結(jié)構(gòu)方面的書籍看透,我們還是不能通過(guò)數(shù)字集成電路做出CPU。通過(guò)閱讀這類書籍僅僅是幫助大家更好地理解計(jì)算機(jī)原理組成罷了。
了解了計(jì)算機(jī)的內(nèi)部功能模塊及其作用,接下來(lái)我們要談?wù)動(dòng)?jì)算機(jī)軟硬件之間是如何協(xié)同工作的,它們各自的處理數(shù)據(jù)的方式有什么異同呢?
軟硬件對(duì)于不同的數(shù)據(jù)處理都有著各自的優(yōu)缺點(diǎn),如何權(quán)衡二者的優(yōu)缺點(diǎn)呢?這時(shí)僅僅通過(guò)我們掌握的那點(diǎn)可憐的計(jì)算機(jī)技術(shù)知識(shí)是遠(yuǎn)遠(yuǎn)不夠的。
有句話說(shuō)得好,書到用時(shí)方恨少。這句話尤其體現(xiàn)在電子計(jì)算機(jī)領(lǐng)域,面對(duì)每天遇到的各種各樣的技術(shù)問(wèn)題,只恨自己能力不夠,不知道諸位看官是否有這樣的經(jīng)歷。我自己在平時(shí)的工作中經(jīng)常感覺(jué)自己的知識(shí)儲(chǔ)備不夠,很多時(shí)候是通過(guò)自己的反復(fù)調(diào)試得以將問(wèn)題解決,但為什么會(huì)出現(xiàn)這樣的問(wèn)題,我卻是一知半解,更多的時(shí)候是通過(guò)嘗試以及直覺(jué)。
言歸正傳,想要深入的了解計(jì)算機(jī)軟硬件之間的協(xié)同作業(yè),《計(jì)算機(jī)組成與設(shè)計(jì)硬件/軟件接口》這本書需要我們好好消化消化。另外我得補(bǔ)充一點(diǎn),這本書的作者是計(jì)算機(jī)體系結(jié)構(gòu)的大拿David A.Patterson 和John L.Hennessy,同時(shí)他們也是RISC的創(chuàng)始人,mips的發(fā)動(dòng)者。這兩位作者還出了一本書《計(jì)算機(jī)體系結(jié)構(gòu)量化方法》。
畢竟是大牛出的書籍,再加上我本身的資質(zhì)相當(dāng)一般,很多知識(shí)點(diǎn)看了好幾遍依舊是一頭霧水,我一點(diǎn)也不急。余生只做一件事,就是把計(jì)算機(jī)技術(shù)學(xué)好,所以看到不懂的地方我就勉強(qiáng)看一下,有個(gè)大至的印象,接著往后看??吹亩嗔?,多多少少都會(huì)有一點(diǎn)心得體會(huì),隨性而已。
抱著這樣的心態(tài),我每天學(xué)習(xí)計(jì)算機(jī)技術(shù)相關(guān)的知識(shí),并不會(huì)很厭倦,偶爾有了厭學(xué)情緒,就暫且放一放,等恢復(fù)了學(xué)習(xí)的熱情之后繼續(xù)啃書。學(xué)習(xí)本身是個(gè)痛苦的過(guò)程,想長(zhǎng)久地走下去,建議大家盡量走的慢點(diǎn),別急火攻心,走岔路傷了元?dú)鈴拇丝吹綍皖^疼,那就得不償失了。話說(shuō)國(guó)內(nèi)的教育模式,絕大多數(shù)人都有厭學(xué)情緒,如何調(diào)動(dòng)自己的學(xué)習(xí)情緒,就仁者見(jiàn)仁,智者見(jiàn)智了。