新手學習嵌入式需要掌握的幾點知識點
首先,IT是一個需要不斷學習的行業,沒有任何一個行業像我們這樣需要不斷地接觸新東西,學習新知識,如同《學計算機的你傷不起呀》中吼的那樣,搞上層開發的,各種編程語言;搞系統開發的,各種系統;做底層的,各種匯編,芯片,指令集;當然了,無論做哪層,各種編譯器,工具,軟硬件知識等等都能。隨便一類學問中的一小部分都是一摞磚一般的書啊。
其次,嵌入式行業更像是IT中的IT。標準缺乏,規格多變,技術變化又特快,剛流行的技術可能沒兩年就會失去生機。比如塞班,Nokia放棄了,iso吧,也沒動靜了,現在安卓火的很,說不定過幾年就像今天的塞班,感覺像是永遠跟不上時代的節奏。
話說嵌入式這個行業到底需要什麽樣的技術人才?
仔細觀察各種招聘的崗位要求吧,無非是
1, 通用要求:比如什麽學歷,多少年工作經驗,有創新精神,抗壓能力強,吃苦耐勞,善於溝通,態度認真等等等等……
2, 專業要求:這個可真的多了去了,但無非就是各種精通。什麽精通控制理論,精通電路設計,精通各種硬件驅動開發,精通linux內核以及裁剪,精通C/C++/Java語言,精通DSP,精通ARM,精通什麽linux/ecos/ucos/wince/VxWorks,精通嵌入式數據庫,精通多線程編程,精通各種網絡協議,精通各種總線協議,精通塞班/安卓/IOS平臺應用開發,精通匯編,編譯器,二進制工具;精通各種媒體封裝格式,編解碼;精通通信技術;精通硬件原理圖;精通PCB設計;精通計算機結構;精通bootloader,精通……感覺只要是行業內的就要精通
另外還有些以上四類都用得著的技能:
1, 基礎技能:搞嵌入式開發,還有一些必不可少的基礎技能。
2, 特殊技能:對於嵌入式開發的某些部分必不可少,但對於有些(比如應用開發)可能沒有多大用處。
3, 擴展的能力,這些可能是要用到的。
a) 通信協議,對於非應用層的通信協議,我實在不知道是不是該把它放入操作系統的範疇,因為很多操作系統是沒有網絡部分的,但是在很多方面它又是由操作系統提供。當然這些下層通信協議,貌似不太用關心,因為太多的開源協議棧了。應用層的網絡協議可能就要關心了,比如http,ftp,rtsp,rtmp,mms等等。
b) 音視頻處理,比如文件封裝啊,音視頻的編解碼啊,各種音視頻的標準啊,還有流媒體什麽的。Ffmpeg是一個很好的東西,建議學習一下。
d) 數據庫,唉,嵌入式設備能力越來越強啊!再搞搞我看也不用交叉編譯了。。
有時和同事討論起現在的行業需求,說到各個公司總是招不到人,程序員又總說找不到工作,自己就有很多感想,是公司要求高,還是程序員要求高?有時候看到一些招聘的職位要求,總是打擊到自己的信心,一條一條數下來,好像自己能做到的還真沒多少,只好讓自己再努力些再努力些;當然有時也會覺得某些招聘不靠譜,看那一條條的要求,個人感覺要是全做到,普通人怎麽也得努力個十年八年的,這樣的大牛們,估計看不上給出的那薪資吧。
對於程序員來講,做技術真的是很累很難的一件事情。網上搜一下,遍地的抱怨貼,情感貼,都充分反映了這個職業對身體和情感的考驗。如果你不畏艱難,想把技術做下去,那麽努力吧,也許某天你會隨便拿起一份招聘啟事,鄙視一眼:“靠!就這點要求,去了都掉價!”,那麽你就是真正的大牛了!到時候你會感謝現在的付出,如果你還是處於迷茫期,你這邊可以留下企鵝,相信我一定可以幫助你更上一層樓!
新手學習嵌入式需要掌握的幾點知識點