有沒有大學自學嵌入式系統成功的?
題主今年大三,通信工程行業,想向嵌入式方向發展,糾結於報班還是自學。我想問下有沒有大佬通過自學把嵌入式學透了的,順便求大佬分析學習方法。
我算是自學過來的吧,專業是電子信息工程,半電子半通信。
大三上自學PCB做開關電源;
大三下自學STM32參加比賽;
大四上自學Linux驅動找工作。
現在算勉強入行了吧。
通過自學/培訓 一年半載學透都是不可能的,慢慢來,保持興趣就挺好的。
報班無非是花錢省時間,但大多數培訓機構都不值學費那點錢,坑太多,還不如自學。
自學的話,目前國內嵌入式教程的也就幾家,自己權衡對比看看吧。
寫寫博客,也許是個不錯的習慣。hceng blog
不知如何才算題主所謂的成功.首先明確一點,自學能力是很必要的,尤其是工作之後,沒有人再像學校老師那樣負責任的教你,你只有靠自己的努力來提高自己,有人帶你那是萬幸,沒人教你那是普遍性.無論學什麼只要你努力、肯花時間、肯付出,沒有學不會的。十幾年前自學C語言,搞嵌入式,設計電路,做PCB,自學操作系統uCOS,從單片機到ARM到DSP什麼都得學,包括msp430、At91sam7x256、STM32F1xx、TMS320F2812等等。隨後自學linux編程,寫驅動,寫後台應用,進入電力行業做檢測設備,因為涉及到人機界面又自學了C++以及Qt,出於興趣又自學了JAVA與Android,現在在搞ROS,學學Python.哈哈
結果就是什麼都可以做,雖然不太專但只要用心做都能做好,現在靜下心來專攻一個方向。
當前社會是一個極度浮躁的社會,只要你在一個方向上堅持下去,比別人多付出那麼幾千上萬個小時,你就是這個領域的專家。我就是,看我之前最早的回到。
操作系統原理,一路爬過來
1,有沒有的問題答案應該是99.99%的有2,自學成功的平均概率k可能就要少一些。
做過智能車搞軟體和演算法的擼過。樓下卓晴老師是智能車男神,世界上凡時存在有沒有的概率,那麼99.99%的概率是有。深以為然。
至於學透嵌入式,還真不好跟你說誰能把一門學問學透。不過我可以給你提供一些經歷作為參考。
本科機械,我是大一下就決定搞嵌入式的。當時互聯網還沒這麼火,心想著物聯網智能家居無人車。才是未來的天下。(目前來看確實如此)。
我自學的路徑給你分享下,你可以對照著參考一二。
1、51單片機
在這個階段主要培養對嵌入式的興趣。比如說給女朋友送個自己做的禮物,記得我們當時有一個做的愛心燈,稍微包裝下然後給女票了,還有個做了個智能鎖,後面自己辦了家公司。專門賣智能鎖。多看看模電數電,學學autodesigner dxp等pcb製版軟體。
2、stm32
主要是各種協議,還有寫底層的東西。比如如何分配內存,內存映射,norflash外擴等。買個超聲波,紅外,CCD,攝像頭,電機,編碼器等等,做一些視頻監控器啊,室內溫濕度監控及報警啊
3、操作系統
什麼freesrtos,ucos,linux等等,買幾本書,啃一下任務的調度,信號量等,然後根據api文檔自己嘗試著移植操作系統到板子上,多線程跑任務
4、文件系統tcpip
嵌入式系統中的文件存儲器空間相對不會太大,必須對其進行高效的管理,以避免對資源的浪費。當然你可以外擴,但是有文件系統就非常方便了,加上tcpip就能連接上網路了
5、GUI系統
人機交互系統。像什麼stemwin這樣的。單線程試著跑跑。
====================================================
以上都是我隨便瞎謅的,下面才是乾貨
如果,你可以接受短時間之內的低薪
如果,你可以接受長時間的設備調試
如果,你可以接受默默一個人啃狗糧
如果,你的夢想是成為自動控制大咖
好吧,嵌入式的家庭歡迎你
=====================================================
否則,騷年,趁早脫坑吧
恰好去年這個時間也和你一樣的糾結,當時也關注過國內某很火的嵌入式培訓機構,最後綜合考慮後選擇自學,上個月走校招簽好心儀的工作。
大一暑假進的實驗室 從51到32再到arm9系列, 大二大三期間參加各類比賽 樓下卓晴是智能車男神 (可惜參加了兩屆智能車賽區賽 未能遇見男神)
言歸正傳 先說嵌入式學透這件事 個人感覺無論在學校內自學還是參加培訓班 都無法或則說都不能亦不敢說把嵌入式學透了 因為嵌入式包含的東西還是比較廣的而且比較深
所以我猜測題主是想通過學習嵌入式到某個程度 達到某種目的 比如明年這個時候可以簽一家滿意的工作 再比如考研的時候複試可以征服老師
假設是第一種 可以通過接下來的嵌入式學習明年可以簽到一個好工作
那麼題主需要先分析下自己的情況
如果零基礎或則說沒怎麼接觸過c編程 單片機之類的東西 那去培訓吧 至少能很快入門 少走很多彎路
如果題主擼過比賽 c語言還行 有單片機軟體或則其他軟體編程基礎 那麼建議自學了 因為培訓班前兩個月大多都是打基礎 主要針對那些零基礎或則基礎很差的人的 題主可以去培訓公司的官網查看一下它們的課程培訓體系 然後按照自己的情況分析 並不是說有基礎了再去培訓不好 而是對比費用和時間成本來說不划算 當然題主如果不差錢 不缺時間 那培訓鞏固也無妨 錦上添花 但並不是雪中送炭的效果。
說下自己了解的某知名嵌入式培訓班的培訓體系情況 剛開始基本上都是Linux系統下的c語言編程 一方面培養Linux的使用習慣 另一方面也鞏固c需要基礎 而後這個階段結束都會有對應的小項目練手 每天也都會有相應的作業 而後可能就是開發板的學習了 這一點要慎重選擇培訓機構了 因為嵌入式培訓也是分方向的 大體分為單片機工程師和嵌入式工程師 單片機的話做智能家居方向的多一些 用的大多是微控制器比如51 32 以及跑一些實時操作系統 嵌入式的話大多都會在linux環境下做開發 用的大多微處理器 比如底層驅動以及應用的開發 培訓機構在這兩個方向都會有各自的側重 我了解的某培訓結構 第二個月學了一整個月的32 然後學生出來後大多都是做單片機工程師了 linux下的各種開發只是略微培訓了下 有的培訓機構是重點培訓在linux下的開發的 會直接上arm11現在在用的大多都是4412 會有linux的應用開發 驅動開發 網路編程等 當然這些培訓都只是入了個門 而後每個培訓階段結束後會有相應的小項目練手
培訓出來後走校招也能簽到還算不錯的公司 前提是你好好學 當然具體的培訓班情況 我並不清楚 我去年也是在這個選擇上糾結了然後去網上搜索的信息 對比自身情況後決定自學(其實是因為窮 麻蛋 2.5萬+的花費比我大學四年學費還多)
接著說自學 我是網上買的教程 以及實驗室學長留下的嵌入式板子的教程結合學的 教程是韋東山和申嵌的 可以搜一下百問網 裡面關於嵌入式的學習路線說的還是比較好的 首先當然是Linux環境的安裝以及基本操作 而後是在此環境下c語言的編程自己數據結構的學習 這個是基礎 然後是操作系統的編程基礎 包括文件編程 進程的控制與通訊 多線程 以及網路編程 然後是arm開發板的學習 前期是裸機的編程 然後在其上面跑操作系統 在 學習下內核的移植與剪裁 引導程序的修改編寫 再接下來是linux設備驅動的開發 自己應用的開發 當然前期這些都是基礎 學習過後都需要找相對應的小項目練手 如果你跟著教程學下來 前提是好好學 同時找了相對應的項目練手了 那麼明年校招時拿下滿意的工作應該沒問題 但是這離你所說的學透還差著十萬八千里 最多只是入了個門
嵌入式個人感覺越學感覺自己越虛 但是又不敢停下 目前上午自習 其他時間依然刷教程 刷專業書籍 考研的同學見了都說是拉仇恨 但是只有自己感覺自己虛
去年這時候和你一樣糾結 現在在嵌入式修行中 個人的一些體會與拙見 希望對你有幫助
附百問網鏈接:百問網
瀉藥,我自學過嵌入式但是離學透的境界還差十萬八千里。
抓緊這大三一年就行,不用報班浪費錢,從現在開始扎紮實實學,到大四找工作絕對好找!!!關於嵌入式學習路線網上一搜一大把,建議選擇ARM(能上linux系統的)+Linux,然後在網上選擇一套開發板,一般賣家都會打包所有的資料和視頻教程,剩下的就是花時間去學,不懂就問,可以先去就業網上看下嵌入式需要哪些技能,自己能夠針對性的做強化學習。
找工作的前一兩個月,做兩個項目,最好能給面試官展示,一般來說如果項目本身效果還行,然後面試官問的一些技術細節能說得上來基本上面試就妥了(個人經驗)。燒錢。最頂上那本書
我是沒接觸過嵌入式,只是在學校學過點Linux一點操作命令,而我現在缺在一家嵌入式開發公司上班,我覺得嵌入主要是經驗,你想學的話我可以提供點資料給你。
我只想說,要學嵌入式編程,不僅要學編程語言和平台相關知識,還要學數電模電,微機原理,數據結構,操作系統原理等背景知識。編程是金字塔最上面的一點,沒有下面大量的結構支撐,金字塔不會穩固的。
先從51入手,看郭天祥大神的視頻,網上很多。買一個開發板,自己配置環境,如果51都玩不了,還是....
我最早是學商科的 高中文科
大學商科課程無聊 感覺學了什麼又什麼都沒學
而且當年選擇創業方向的時候就決定走電子路線 主要是初期投入資金低 而且流通物流壓力很小 而且我那代人經歷過2000年的互聯網泡沫時代 心裡有陰影
然後就51 avr stm32 一路自學過來 學會了底層學高級語言就很輕鬆 順便也學會了solidworks
因為從開始學就打算走實用化路線 所以我的經歷很難說學透
但是器件的原理 代碼的架構之類心裡是有數的 從自學到項目經驗的積累 基本上也算是摸的稍微清楚一點 基本上交流也好 技術文章也好完全沒法理解的東西很少 而且基本可以看到功能反推實現方式 我對自己的要求並不嚴格 我覺得對於目前的我是夠用的 而且我模電方面有點經驗 應該算是通常電工的中上水平吧
再就是 我現在的目標已經轉移到微電子工藝方面 電路 代碼已經阻止不了我了。。。
但是我還不會vhdl 肯定要沒事學學 還有fpga的表生成跟相關演算法 再就是微電子的eda工具
如果一切順利 而且錢夠燒的話 下次再回答有沒有自學微電子成功 並自己擼出晶元的吧~
當然 這一切都歸結於我對產業的理解
less code more core
以及fabless廠商的衰亡
學習要講究水到渠成,好的方法和路徑才是最關鍵的不然會浪費很多時間,如果你要是自己學可以去找找實戰項目做一下,再者就是去培訓了你也可以去百度下,自行參考
大一下玩51,大二上玩stm32,大二下學linux驅動,目前大三上,還在linux中徘徊
物聯網專業學生。大二的時候開始接觸STM32,然後參加了兩屆飛卡智能車比賽。自學的話個人覺得參加項目或者一些比賽提升會快很多。而且學會這個會字指會到何種程度的話,每個人也是不一樣的。
我就是自學的。但是好像沒怎麼成功,哈哈。不過畢業工作還是蠻好找的。。
自學過來的,目前在某晶元廠商做技術支持。大三時候開始接觸51,然後是stm32,之後拿k60做的飛思卡爾智能車,第九屆華北賽區電磁組一等獎。之後考研去了。研究生階段導師讓學vb去了,真尼瑪坑。我一看完全聽導師的這要跪,就自己學數據結構了,代碼也敲了兩遍。現在工作時挺慶幸的。後來用stm32學的ucos iii,然後惡補了操作系統原理。然後覺著屁股給導師幹活,發現找不到嵌入式的工作,就學linux了。正好導師項目有Tk1的板子,就去學linux了。學習怎麼使用linux。之後找到工作了後來補了Linux C編程,linux設備驅動。現在想學內核,沒有時間。仔細想一想走了很多彎路,應該早點接觸arm和linux的
朋友,你好,我也是通信工程畢業的,大學涉及嵌入式的也就模電 數電 C語言 單片機了。
其實,會單片機也能算嵌入式了,因為其實現在其實很多晶元還是基於51單片機在跑,例如台灣很多視頻方向的晶元。
其次,再高級一點就是STM32了,如果你在了解這個方向那麼你一定會知道,這和你說得嵌入式又近了,畢竟他可以跑更多的東西,比如:網路,LCD,GUI,OS。到達這一步,或許你已經開始發現,此時應該分開方向的,就是驅動方向和應用邏輯方向。
最後,再往上就是cortex A 系列架構的晶元了,比如你手機的晶元,此時就是真正的分層了,前台應用邏輯,後台業務邏輯,底層驅動。
總結一下,你說得嵌入式再我看來應該是第二種。如果這種其實也不難,我以前自學是看一個叫《李想STM32》的視頻,買個開發板就可以開始學習,當然,你必須要有C語言基礎,51單片機應用基礎。熟悉這個你的工作已經不是問題。
驅動方向:
當你能把cortex M系列的單片機玩透,那麼上cortex A系列易如反掌,注意,這裡的驅動包括外設的驅動,比如eeprom,flash,network,LCD。應用方向:
當你能熟悉使用POSIX介面,並且完成複雜邏輯和項目時,那麼此時你上Linux完成項目自然沒有問題。所以,開始努力吧!當你學習一段時間開始慢慢熟悉之後,你也就知道自己的方向了。一塊能跑linux而且資料多的開發板配合計算機考研408的四本書完全吃透過後c9大學或者嵌入式崗位隨你挑
也分情況,如果周圍有老師可以請教,或者同學一起學,自學還是可以慢慢步入正規的,如果能和老師一起做項目,或者通過參加比賽可以更快的提升自己,接觸的越多,慢慢的就有了自己感興趣的方向。 如果周圍沒有志同道合的人,除非有驚人的毅力,否則真的會浪費很多時間,,尤其是嵌入式,無所不能,方向很多,在沒有人指定或者交流的情況下,很難在一個方向上有所發展。
推薦閱讀:
※軟體轉行去做醫療器械軟體,怎麼樣?
※嵌入式開發,從開發板到產品的過程是什麼樣的?
※不是說嵌入式系統的人才大量缺口嗎,為什麼它的工資水平也不是很高?
※現在工業上還用51嗎?哪些重要項目里用了51系列的單片機?
※大學沒做過什麼項目,以後找工作怎麼辦?