51單片機(jī)是我最早接觸的,并且也是使用時(shí)間最長的。但因?yàn)轫?xiàng)目的需要又開始著手利用ARM來進(jìn)行開發(fā)。用51的時(shí)間比較長所系對ARM什么都不懂??戳藥妆緯矝]看明白,后來覺得還是要?jiǎng)悠饋聿拍艹稣嬷?,所以在MDK當(dāng)中建立了一個(gè)工程然后添加了自帶啟動(dòng)的文件,形成了一個(gè)main函數(shù),并且在沒有任何硬件的支持下泡起來了。在此基礎(chǔ)上,我開始研究和我項(xiàng)目相關(guān)的GPIO和串口通信,其他寄存器和運(yùn)行模式什么的我不用考慮。
如果使用MDK的話ARM開發(fā)是非常簡單的,C語言很重要,掌握了C語言也就能做一些相對簡單的開發(fā)。實(shí)踐確實(shí)重要,一邊開發(fā)一邊學(xué)習(xí)是很必要的。做的項(xiàng)目深度和數(shù)量有了,掌握的知識自然就多了。如果一開始學(xué)的可以從按鍵、串口等簡單的開始。
下面是給新人的幾點(diǎn)建議:
新人在最初接觸匯編語言時(shí)的時(shí)候往往會(huì)出現(xiàn)誤區(qū),比如在匯編語言當(dāng)中就完全沒有必要吃透ARM匯編,但是需要能夠看懂程序。與其在語言的速度上下功夫不如轉(zhuǎn)變一下思考方式,使用其他的算法。比如查表代替計(jì)算等。我做了多年的arm開發(fā),完成的項(xiàng)目不在少數(shù),但我至今沒寫過一句匯編。
再來是針對企業(yè)來說,企業(yè)都是以減少成本為前提的,在大項(xiàng)目中很有可能需要涉及操作系統(tǒng)、網(wǎng)絡(luò)、gui、文件系統(tǒng)等,如果每一項(xiàng)都自己開發(fā)那成本必然上漲還不如直接購買。成本品省時(shí)省力,并且BUG還少。如果需求量大的話還可以大批量定制,價(jià)格上很有可能再出現(xiàn)優(yōu)惠。