導航:首頁 > 編程知識 > arm下位機編程包括哪些

arm下位機編程包括哪些

發布時間:2023-04-01 00:26:29

1. 什麼是ARM編程

ARM編程就是針對ARM處理器指令的編程,
也就是嵌入式開發,現在ARM支持匯編、c、
c++等語言。

2. 現在學ARM機編程學哪種好

1,基於ARM晶元的linux操作系統的開發,這是所有ARM開發中最簡單的。由於參考資料齊全,因此新手一般從這里入手。在Linux環境下開發,其實不需要特別懂得ARM,只要精通C語言,了解Linux的系統編程介面就可以了。一般大學生只要有1年的實習機會,都可以學會。
2,真正學習ARM晶元的軟體編程,主要是指學會ARM處理器指令集。目前,ARM處理器已經有多個系列,比如ARM7,ARM9,ARM11,Cortax-A8等等。更高級的ARM處理器其指令系統也都有所擴展。如果拋掉ARM匯編語言,只是使用C語言編程,那麼就不算是精通ARM軟體編程了,頂多算是精通C語言編程。如果要精通ARM匯編編程,就不是一件容易的事情了。首先你至少要明白每種不同的ARM晶元其匯編指令到底有哪些不同。在不同的軟體功能要求下,如果使用特定的匯編語言來優化軟體速度。比如,一個解碼JPEG圖片的軟體,如何針對ARM9E晶元和ARM11晶元優化其解碼演算法?你要解決這個問題,至少你得知道JPEG圖片如何解碼。此外,如果一個軟體要解碼MP3音頻,那麼又該如何優化呢?你至少得懂得MP3的解碼演算法吧?學習ARM軟體編程的主要任務就是把現有的演算法用ARM晶元來實現最優化。否則沒必要專門學習ARM編程。

3. arm嵌入式學習基礎

嵌入式學習應該怎麼學,是否應該上培訓,如何權衡?(轉自csdn)
嵌入式應該怎麼學?
嵌入式的基礎大概可以分三塊:操作系統及語言、應用處理器(arm等)、外圍電子設備。常用的語言是c

、c++功能的編程是c,界面編程用c++。為什麼操作系統和語言放在一起呢?語言是一系列的命令,而這

些是建立在操作系統基礎上的,對操作系統越了解,代碼就更加的高效簡捷,語言就是對操作系統的命令

的重新組織。處理器,即單片機的51或凌陽系列或者現在流行的arm系列,單片機系列與arm系列分別在低

端和高端市場佔有較大的份額,學習入手時只需研究一種就可以。外圍電子設備,即是控制的目的設備,

通過編程告訴處理器怎樣給他們信號,不同的公司由於性質不同,控制的目的設備也不同,在這方面要有

一定的電路基礎,不過不是重點,到了公司硬體工程師會給你圖紙的,能看懂圖紙就可以。

學習方法如下:
基礎的不應該涉及太多,要學會化繁為簡、步步為贏,從能夠接受的入手學習有興趣也有動力。

計算機學科最好是實踐為主導的進行學習,當然,前提是你應該這以前接觸過計算機,最起碼會一種語言

或學過計算機原理。現在很多高校畢業的大學生的基礎其實不錯,該了解的都了解了,就是沒有深入的。

如果是這樣,基礎不是問題。你學騎自行車有所謂的基礎嗎?其實就是騎著騎著就會了。
1 如果想入行開始進行學習,那麼先不要考慮培訓,從書店找一本類似從零開始學習的書籍(別一下買一

大堆,會後悔的),先讀一下,體會一下這一行究竟是做什麼的,什麼樣的流程,用什麼樣的方法做產品

。人員組織如何,自己適合做哪項(如硬體(fpga)、信號演算法(dsp)、軟體(linux底層開發)),推

薦linux操作系統底層或應用開發,這方面比較適合一般的軟體和電子專業大學生。看不懂也沒有關系,

大概了解就可以了。

如果看的有感覺,認為自己可以做,那麼還等什麼?入手吧,不要強調基礎或者理論,大家都是干出來的

,不是學出來的。
2 找個便宜的開發板,現在的開發板掉了很多價,學習成本也降低了許多。找那種書店和網上成熟資料最

多的,從440bx到現在2410、2440,總之哪種資料多就買哪種,不要去追流行,老闆子只要資料充足也可

以的。別迷信什麼地方能夠教你做板子,讓你做也只是當個焊接工,不知其所以然的。別想一口吃個胖子

,找准入手點,堅定的去行動,不斷的去嘗試。這個階段很重要,自己搭建實驗環境,一個個的做實驗,

對許多的東西不了解,困難是很多的,但不是不能解決,網上該板的論壇和群很多的,許多人在自學。有

問題可以在那裡發問。但更重要的是,要學會如何利用搜索引擎,利用書店、圖書館的資料來解決問題,

學會自己解決問題,這是生存的一項重要技能,沒有什麼問題是解決不了的。
在這個過程中不斷的嘗試,照著板子的資料,利用bsp(板級開發包)和晶元資料,把手頭的實驗一個個

的做完,可能第一個實驗要做一個月或更長,但是在此期間學到的東西卻是價值非凡,因為你將學會了如

何利用各種渠道獨立解決問題。
在此期間要注意幾點,一是不要隨便的買太深入的書籍,去鑽研高深的東西而忘記了眼前該做的事情,二

要提高e文的閱讀能力,晶元資料多是e文的,周立功公司翻譯過一些,利用電腦通過中英文對照進行學習

,每天堅持看幾頁,時間長了就可以直接看e文資料了。三是不要心浮氣躁,遇到困難就停下什麼都不做

,遇到困難就繞開,再往前走那時的問題就不是什麼問題了。

學習就是這樣,不斷的行動,不斷的嘗試,漸漸的學會了自己解決問題,就學會了如何自學。有了這樣的

態度,沒有基礎,理論差都不是什麼問題了。把開發板的實驗做一遍,再去書店看看,很多的書就像白開

水一樣,翻翻而已。國內的嵌入式培訓也就到此為止了,所謂的項目,並不比你在開發板上做的難多少。

這個時候,你已經有了一定的基礎了,可以找工作了,工作中學習更加有目的性,是個很好的選擇。如果

還想往深研究,可以選擇一項自己感興趣且能夠找工作的方向,如操作系統、網路電話、路由、防火、智

能建築、消費電子等等,根據自己的情況進行選擇,不可能都學的。

3 選擇好一項,進行深入的研究,自己去找相應的外圍設備,利用自己的開發板去做產品吧。永遠都是實

踐第一。
上面沒有提到linux內核或者網路知識,也幾乎沒有提到編程的重要性,他們當然很重要,但是在基礎的

學習中,不建議從它們開始入手,否則造成的局面不是陷入泥潭,就是學了半天不知道在學什麼,使學習

的積極性受挫。編程是隨著對編程的環境和目的了解而提高的,任何語言都是工具,因此有了一點基礎後

不必專門學它,隨著實踐會不斷提高語言的應用能力。linux內核的掌握更不應該是初學者該做的,開始

學習就是要利用它,涉及一些初步的就可以,隨著編程遇到的問題以及解決的過程,會不斷的深入認識操

作系統,也有人專門研究,意圖更加貼近產品的應用,那至少應該是有目的的研究。網路、協議、音頻、

視頻、usb以及其他的應該在有了一定的基礎之後,有目的的進行研究,也非初學者直接涉及的。還有就

是人們常說的數據結構,專門學他你會成為教授的,串、鏈表、堆、棧、樹等什麼時候看到了不懂拿來參

考書看看就行,找到你用到的知識,而非專門研究。做什麼事一定要知道你眼前的目的是什麼,別掉進研

究的苦海中。

綜上所述,大概學習分三步,幾乎所有的嵌入式培訓都只能帶你道第二步,就是大部分時間重申基礎,最

後在教你在板子上做幾個實驗,和你自己買的板子和做實驗是一模一樣的,就業也只是推薦就業,和自己

找差不多。高級專業應用的課程都放在了短期培訓,時間大概三天或半個月。費用從幾千到一萬多,培訓

的狀況就是這樣。如果自己買板子及外圍的話,加上書籍和上網,費用大概是1000-2000左右,自學到有

工作能力的周期大概是3個月到半年左右。如果有基礎的話,一兩個月就可以。就業盡兩年還可以,以後

就要看水平了,能夠適應環境獨並且能夠立解決問題的人,就是人才,如果你是人才,那就沒什麼可怕的

了。

如果你一定要培訓的話,就應該知道所有的培訓都只能帶你入門,就業什麼的要是能夠簽訂就業協議的話

,也可以考慮。因為任何培訓機構出來,除非你的自學能力十分的強,否則找工作仍然是個很大的問題。

去培訓機構之前要用一兩個月的時間自己學習些初步的知識,好讓自己有鑒別能力。與培訓機構的咨詢師

面談的時候,他們說的話基本不要相信,一定要去找找過去學完的學生問問,他們能教道什麼程度,就業

如何解決的。他們才說實話(但別找到他們的托,嘿嘿)。當然,也不一定那麼可怕了,只是有些問題要

注意一下,不可沒有防人之心。

寫了不少,其中許多廢話,文筆也差,望大家見諒。上面寫的就是我大四之後自學嵌入式的一些感觸,走

了許多彎路,在網上看到很多的朋友想入行,現在的就業壓力都很大,大家都挺不容易的,把我的建議寫

出來,希望大家能夠走好自己的職業之路

4. ARM匯編語言由哪些指令組成它們之間的區別是什麼

機器指令能被處理器直接執行,而匯編指令、偽指令和宏指令不能。機器指令包括ARM指令集和Thumb指令集 。

偽指令是在源程序匯編期間,由匯編編譯器處理。其作用是為匯編程序完成准備工作。

宏指令在程序中用於調用宏,宏是一段獨立的程序代碼;在程序匯編時,對宏調用進行展開,用宏體代替宏指令。

5. 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語言更接近硬體而已。

閱讀全文

與arm下位機編程包括哪些相關的資料

熱點內容
celluloid教程 瀏覽:210
大話西遊2在線看免費 瀏覽:10
什麼看電視沒有水印 瀏覽:538
手機通訊錄與qq好友 瀏覽:236
牛客網java輸入輸出 瀏覽:370
什麼app要qq登錄 瀏覽:534
oracle資料庫如何執行 瀏覽:80
有趣的家庭的網站有哪些 瀏覽:148
域名升級訪問通知 瀏覽:270
片名《鬼作秀之頭顱鬼屋》 瀏覽:936
電腦系統host文件 瀏覽:996
求一個在線播放的網站 瀏覽:596
四級丶四級電影﹥ 瀏覽:582
怎麼把cad的工具欄調出來 瀏覽:742
強奸了女僵屍的電影 瀏覽:15
能在線觀看最新網址 瀏覽:317
3d電影下載網站3d電影 瀏覽:261
華為手機如何把app弄成小窗口 瀏覽:589
flash的工具欄 瀏覽:106
古風sq片 瀏覽:705

友情鏈接