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