1. 什麼是ARM編程
如果說,「嵌入式」是2001年電子工程師談論得最多的詞之一,2002年談論得最多的一個詞就是「ARM」。究竟什麼是ARM呢,他是英國一家電子公司的名字,全名的意思是Advanced RISC Machine。該公司成立於1990年11月,是蘋果電腦,Acorn電腦集團和VLSI Technology的合資企業。Acorn曾推出世界上首個商用單晶元RISC處理器,而蘋果電腦當時希望將RISC技術應用於自身系統,ARM微處理器新標准因此應運而生。
80年代末90年代初半導體行業產業鏈剛剛出現分工,台積電,聯電等半導體代工廠正悄悄崛起,美國矽谷中的一些fabless公司也如雨後春筍一樣涌現出來,所謂的fabless公司自己設計晶元,但是生產過程則包給台積電等代工廠生產。而ARM更是為天下先,12年前首創了chipless的生產模式,即該公司既不生產晶元,也不設計晶元,而是設計出高效的IP內核,授權給半導體公司使用,半導體公司在ARM技術的基礎上添加自己的設計並推出晶元產品,最後由OEM客戶採用這些晶元來構建基於ARM技術的系統產品。這種方式有點象通信行業的高通和半導體行業的RAMBUS,他們站在了半導體產業鏈上游的上游。12年前成立的ARM可能面臨著很大風險,因為沒有人知道這條路能不能行得通,但是現在的事實已經證明,ARM走了一條沒人走過,卻是正確的道路。,作為附加產品,他還讓中國的行業人士從這個窗口認識到了英國的電子公司,ARM的成功帶動了英國的chipless公司的發展。
因為ARM的產品是IP Core,沒有任何物理意義上的硬體或者軟體實體,所以只能在中國注冊成為「咨詢」公司,盡管咨詢只是其業務中很小的一塊。ARM的核心業務是銷售晶元核心技術IP,目前全球有103家巨型IT公司在採用ARM技術,20家最大的半導體廠商中有19家是ARM的用戶,包括德州儀器,意法半導體,Philips, Intel等。20大巨頭中唯一沒有購買ARM授權的是Intel的老對頭AMD,因為Intel攜帶型處理器採用的是StrongARM,而AMD則收購了Alchemy公司與之抗衡,採用的是MIPS結構。
微處理器核是ARM技術的重中之中,目前面向市場的有ARM7, ARM9, ARM9E-S,StrongARM和ARM10系列。ARM專利技術收入主要來自兩個方面,一個是專利授權費用,客戶如果採用ARM專利時一次性付給ARM的費用; 另一部分是按照一定比例收取客戶產品的專利使用費,即客戶每賣出一片晶元,就收取同等比例的費用。這兩項收入占公司總收入的70%。目前在中國已經有中興通訊,中芯國際和上海華虹購買了ARM的內核授權,生產自己的晶元。ARM中國方面的業務的其它重點還在於對晶元設計公司(fables)的支持,開展大學計劃等。另外ARM還授權科匯宏盛(Impact)和北京旋極為開發工具的授權分銷商2002年的銷售額增長在三位數(100%)以上。
一般來說,ARM的合作夥伴分為三種:
1. EDA夥伴計劃,融合了ARM在線系統設計、可重復使用IP生成和IP模型等方面的專長與領先EDA工具廠商的專業特長,開發SoC產品。
2. ARM技術共享計劃,為ARM與外部設計服務公司合作關系的擴展和規范化結果,現在已經有2900多工程師成員。
3. 製造商計劃,使新興市場的OEM能分享ARM處理器技術,用於設計和製造先進的SoC解決方案。
北航出版社和清華出版蛇出版了幾本關於ARM技術方面的書籍,並且還會陸續出版更多,質量更高的書。同時ARM中國還計劃授權各合作夥伴,開辦ARM技術培訓班,並為合作夥伴的老師提供培訓,另一方面,也將和國內大學開展大學合作計劃,加大ARM技術推廣和普及的力度,幫助中國的電子工程師迅速和國際接軌,並掌握最新的電子設計技術。
總之,ARM是英國全球著名的32位嵌入式RISC晶元內核的設計公司,也是ARM的產品商標,其產品ARM嵌入式內核已被全球各大晶元廠商採用,基於ARM的開發技術席捲了全球嵌入式市場,已成為嵌入式系統主流技術之一。旋極公司作為嵌入式業內的皎皎者,銳意創新,致力於ARM技術的、開發應用和推廣,再一次走在了同行的前列,率先成立了ARM的研發中心,並在全國開辦了基於ARM的嵌入式系統開發應用培訓。2001年12月,旋極正式成為ARM授權中國唯一指定培訓中心(ATC)和其系列產品代理商。
ARM開發的32位CPU核,全球廠商都可以獲得授權生產ARM晶元。而且價格出乎意料得便宜,比如做網路應用的4510隻需45元人民幣,這樣低端產品可以採用8051等8位單片機,而中高端產品採用ARM是非常明智的選擇。現在很多人開始學習ARM,開始都是買ARM實驗板和JTAG模擬器。
2. ARM linux就是編程嗎
其實興趣是很關鍵的,對於一般人來說,要干一行愛一行。
要想做到這一點,你必須喜歡自己的職業,把寫程序當成愛好,好的程序也是一種藝術。
ARM linux是編程序的非充分非必要條件。也可以說沒有太大關系。
ARM是體系結構,同類詞有x86,x86-64,SPARC,SHARC,MIPS,PowerPC
linux是操作系統類型,同類詞有Windows,DOS,UNIX……
編程,是計算機程序設計的通俗名稱,任何體系結構下都需要編程。
有些程序不需要操作系統。其他的給你說太多了你也不懂,免了。
對於強人來說祖國需要什麼就喜歡什麼……
3. ARM程序設計
你的問題讓人無法回答 ,給出的條件不夠,至少說你用的ARM是什麼型號呀
硬體描述的不完整,鍵盤是怎麼連接的矩陣還是直連的,地址是什麼
數碼管是怎麼連接的,共陽還是共陰的 ,是直接連在地址上還是用其他數字電路驅動的,秒錶是軟體實現還是硬體實現
4. arm編程與C語言的編程區別和方法
匯編主要是要了解CPU指令及用法,常說的是PC機的x86匯編,指令是x86的復雜指令集。
arm匯編是arm的精簡指令集,比x86容易學,程序格式倒是和x86匯編差不多。
C語言ARM的和x86的差不多,除了對硬體寄存器操作不同,其它語法和流程都一樣。
arm匯編程序每一行是指定arm core執行一條指令,每條指令都是硬體相關。
如:LDR R3, #1 ;用LDR指令將數值1放入R3寄存器准備參與運算
C語言與arm指令無關,只與邏輯運算有關,指定硬體地址的操作才與硬體相關;
如果用arm編譯器來編譯,每行可能編譯出1到多條arm指令。
如:i++; //變數 i 遞增1等效於LDR R3,#1 ;
用LDR指令將數值1放入R3寄存器准備參與運算ADD R2, R2, R3 ;
用ADD指令將R2、R3寄存器里的數值相加後放回R2寄存器以上等效匯編的R2、R3寄存器只是為了舉例,C語言不像匯編,不需要由程序員指定用哪個寄存器參與運算,編譯器編譯時會根據程序結構自動判斷選擇。
無論是c語言還是匯編語言,編譯器編譯後的結果是機器執行碼,很多人因為匯編語言比較難懂及指令相關,所以以為它就是機器語言,其實它仍是人類設計的編寫程序的語言,仍需要編譯器編譯成機器碼才能執行,它只是比C語言更接近硬體而已。
5. 怎樣快速學習ARM編程
如果有條件的話,第一步就是弄到一塊開發板。
你有C51的基礎,學習應該很快,你找到相應的datasheet,先熟悉GPIO、AD轉換、PWM、SPI、串列通信等功能,然後寫一些小常式,實現一些綜合功能,最後學習一些操作系統論,移植操作系統,這才是ARM的精髓。
6. 51單片機編程和arm裸機編程有什麼差別
arm也可以直接祼跑,這是沒問題的,比如寫一段代碼實現一個埠上的led閃爍,但要注意這樣幾件事情,
啟動代碼的映射
堆棧初始化
時鍾初始化
這幾件事,有的晶元需要做,有的不需要,但你應該保證這些事情都是確定的,如果寫C代碼,一般在啟動代碼中都做好了,所以你不需要管,要用匯編,那就要你管了。
另外,埠輸出也不像51,簡單的寫0就完了,可能要配置埠方向,打開埠的工作時鍾。。。
結論,ARM本質上也是一塊晶元,直接用匯編當然可以用,但它比51的功能多太多了,或者說相對於51,它太復雜了,用匯編太容易出錯,還是用C的好些。
7. ARM用什麼寫程序,是C++嗎,還是C
一般ARM的底層開發還是用C語言和匯編語言多一些;如果有操作系統如Linux和WinCE等,那麼底層還是用C和匯編,上層應用軟體一般使用C++或Java
8. arm架構下有沒有什麼編程語言
linux -- gcc (android就是這個開發的)
IOS -- object C
Windows -- VC
9. PLC和ARM 單片機哪個好啊 哪個好學哪個對編程要求高ARM主要就是編程嗎
這兩個東西一般用於不同的領域或者層次,PLC主要對強電進行控制,工業用的多,民用幾乎沒有,PLC是控制器;ARM是處理器,主要用於演算法,操作系統,應用程序。
比如說全部在工業控制中,PLC則充當脊髓等低級神經中樞,而ARM處理器則對應是大腦。ARM可以控制PLC的運轉,通過感測器收回的數據,計算後對PLC控制對象的臨界值進行調整,而PLC則通過ARM約束的臨界值對電機汽缸等進行操作。
就這兩者的學習而言,PLC採用梯形圖,相對結構比較簡單,較容易上手,而ARM則集合了軟硬體的工作,最初的硬體設計需要考慮電源,包括外圍電源,核心電源,時鍾,復位等,還要根據使用目的設計外圍電路;之後還要進行基礎驅動的設計,如果過於復雜的應用考慮是否掛操作系統,如果掛系統還要考慮系統裁剪移植等,後續考慮是否使用應用程序。因此ARM的工作不是一個人的事。
當然如果你想學建議先學ARM在轉頭看看PLC,會發現有會當凌絕頂一覽眾山小的感覺。
如果選擇學ARM要考慮好你的方向,硬體及驅動,系統,應用程序等,切不可一起開進全部進行,否則只會最後全都不行。一樣一樣來。需要時間需要多練!
最後不論你走在哪方面,都祝你學有所成!
10. ARM開發編程題目
OK ,幫你搞定。