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