天天看點

高手對如何學習ARM的讨論

高手一:

1把arm當超級單片機用,一個高手的觀點,初學者不能跟着學,學習為了什麼,為了更好的使用,如果當一個超級單片機學習那你什麼都學不到,你看周立功的easy arm好是好,提供了很多模版,但學了半天感覺還是51。為了好好學arm還是從頭學把引導程式,終端看仔細了,很多人連lpc的時鐘配置也不明白,但敢說他會arm,我曾進也是其中一員。 

2我隻對硬體感興趣,arm已經把硬軟體的界限打破,如果還硬體管硬體,軟體歸軟體,那你還不如回到51,arm是能同意處理多任務系統,51就不行了,你不在軟體上下功夫,那你對不起arm 以上僅是比人愚見,一起讨論 

高手二:

連硬體的io口以及外圍裝置都沒有精心設計過,誰會相信你做的軟體可以緊貼硬體,得到最佳的工作效率呢? 本文轉自http://www.networkcoding.net 

如果小的嵌入式系統都沉浸在用高速io口模拟什麼時序,誰又能保證你能将arm所有的潛力發揮出來呢?大家知道,如果用io口模拟會使指令流打差不多10倍折扣。 

現代mcu都是基于編譯器原理設計出來的,我們在做設計時必須兼顧軟硬體兩個方面,不能将二者完全分開。 

arm核心那麼多層的代碼運作級别本身就給我們工程師許多想象的空間,我們為什麼不發揮一下呢? 

高手三:本文轉自http://www.networkcoding.net 

對于一個有8位單片機基礎的人,将arm作為超級單片機來作入門學習,我覺得沒什麼不妥,學習由淺入深挺好的。對于這個人來說,他最熟悉的是原來8位的單片機,剛接觸ARM的時候先撇開作業系統又暫時不去管bootloader的操作,那麼就會發現其實arm和8位單片機操作起來其實是相似的。等到了解一些内容後,再進一步去學習boot、學習作業系統那相對就會容易一點了。 

本文轉自http://www.networkcoding.net 

51也有人拿來跑作業系統,不過估計是玩的成份居多,而AVR跑作業系統則是有實際應用的。一個人的精力有限,不可能什麼都面面俱到,總該有一個側重的方向。做一個項目,通常需要一個團隊,這個團隊裡面有軟體工程師也有硬體工程師,大家各司其職,又互相配合。搞軟體的人懂一點硬體會對寫程式有幫助,搞硬體的人也應該懂一點軟體。軟體工程師可以專門負責作業系統裡面的任務處理,硬體工程師除了完成硬體電路的設計外還需要編寫一些硬體驅動程式。如果一個軟體工程師不知道什麼是序列槽,那麼他就可能會不了解用序列槽發送資料和普通I/O操作有什麼不一樣。如果一個硬體工程師沒有位址的概念、不知道資料位寬,那麼他就可能不會了解給ARM系統接一塊16位的FLASH的時候位址線為什麼要偏移一位。