周立功,男,1964年3月出生,畢業(yè)于東華大學(xué)自動(dòng)化及計(jì)算機(jī)系,高級(jí)工程師,中國(guó)單片機(jī)學(xué)會(huì)理事,中國(guó)海洋大學(xué)講座教授,碩士生導(dǎo)師,主要研究方向?yàn)榍度胧较到y(tǒng)與現(xiàn)場(chǎng)總線,目前正在從事80C51、ARM與Nios II等軟核SoC的研究與開發(fā)。
周立功 給大學(xué)生學(xué)習(xí)arm 和fpga的建議
于初學(xué)者來(lái)說(shuō),要學(xué)的知識(shí)點(diǎn)很多,到底從哪里下手,人們常常感到非常迷茫。大一學(xué)生先從C語(yǔ)言開始入門,在大一階段由于對(duì)計(jì)算機(jī)還非常陌生,因此不可能寫出一個(gè)具有完整圖形界面的軟件,重點(diǎn)以“與硬件無(wú)關(guān)的計(jì)算方法、數(shù)據(jù)結(jié)構(gòu)”為基礎(chǔ)學(xué)習(xí)C語(yǔ)言,至少練習(xí)編寫一萬(wàn)行C代碼,否則不會(huì)找到編程的感覺(jué),也體會(huì)不到編程樂(lè)趣,很多人就是因?yàn)槿狈σ欢康挠?xùn)練,所以對(duì)編程沒(méi)有興趣,以至于未到畢業(yè)時(shí)就全部忘記了,程序設(shè)計(jì)是一項(xiàng)實(shí)踐性很強(qiáng)的實(shí)踐活動(dòng),沒(méi)有大量的實(shí)踐作為基礎(chǔ)是很難入門的,因此我認(rèn)為編寫一萬(wàn)行代碼是判定是否入門的依據(jù)。請(qǐng)初學(xué)者記?。寒?dāng)你編寫了一萬(wàn)行代碼時(shí),這是你能夠從事專業(yè)的開始,否則你不要期望在這個(gè)領(lǐng)域混下去。與此同時(shí),C語(yǔ)言也是學(xué)習(xí)和使用Verilog的重要基礎(chǔ),所以千萬(wàn)不可小視C語(yǔ)言。更重要的是,如果你的C語(yǔ)言不好的話,你將來(lái)就業(yè)選擇的路子就會(huì)受到很大的限制,要么只能做硬件工程師、銷售工程師或者轉(zhuǎn)行,別無(wú)選擇!
有了一萬(wàn)行編程的經(jīng)驗(yàn)后,大二接著開始學(xué)習(xí)數(shù)字電路和模擬電路了,這是你的機(jī)會(huì)!將來(lái)的開發(fā)工作有幾種選擇,但這兩門都很重要,學(xué)好了你有可能成為頂尖的高手、專家和系統(tǒng)級(jí)水平的人才,即便學(xué)得不太好,你也有可能成為一個(gè)優(yōu)秀的工程師。前一篇博文講了,如果你精通了C/C++,即便你的硬件水平一般,你也可以成為一個(gè)優(yōu)秀的開發(fā)工程師,即由硬件工程師負(fù)責(zé)邏輯電路和模擬電路的設(shè)計(jì),由你來(lái)編程——你可以編寫基于WinCE、Linux、Vxworks或者Windows等操作系統(tǒng)的程序。那么怎樣才算基本上“精通”呢?至少編寫五萬(wàn)行代碼,當(dāng)你已經(jīng)編寫了10萬(wàn)行代碼時(shí),可以說(shuō)你已經(jīng)完全精通了,這個(gè)時(shí)候你如果有很大的造化的話,那完全取決于你當(dāng)初學(xué)習(xí)的基礎(chǔ)是否牢固了。所以我在前面提到了,精通一門可以成為優(yōu)秀的開發(fā)工程師,但絕對(duì)不可能成為系統(tǒng)級(jí)的開發(fā)工程師,因?yàn)槟愕闹R(shí)結(jié)構(gòu)不行。