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