導航:首頁 > 編程知識 > arm9怎麼用c編程

arm9怎麼用c編程

發布時間:2025-07-11 18:33:22

⑴ ARM9開發板的嵌入式linux與ARM開發板的入門建議

第一,學習基本的單片機編程。
對於學硬體的人而言,必須先對硬體的基本使用方法有感性的認識,更必須深刻認識該硬體的控制方式,如果一開始就學linux系統、學移植那麼只會馬上就陷入一個很深的漩渦。我在剛剛開始學ARM的時候是選擇ARM7(主要是當時ARM9還很貴),學ARM7的時候還是保持著學51單片機的思維,使用ADS 去編程,第一個實驗就是控制 led。學過一段時間ARM的人都會笑這樣很笨,實際上也不是,我倒是覺得有這個過程會好很多,因為無論做多復雜的系統最終都會落實到這些最底層的硬體控制,因此對這些硬體的控制有了感性的認識就好很多了 學習單片機的編程的同時要好好理解這個硬體的構架、控制原理,這些我稱他為理解硬體。所謂的理解硬體就是說,理解這個硬體是怎麼組織這么多資源的,這些資源又是怎麼由cpu、由編程進行控制的。比如說,s3c2410中有AD轉換器,有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來控制,這些寄存器都有一個地址,那麼這些地址是什麼意思?又怎麼通過寄存器來控制這些外圍設備的運轉?還有,norflash內部的每一個單元在這個晶元的內存中都有一個相應的地址單元,那麼這些地址與剛剛說的寄存器地址又有什麼關系?他們是一樣的嗎?而與 norflash相對應的nandflash內部的儲存單元並不是線性排放的,那麼s3c2410怎麼將nandflash的地址映射在內存空間上進行使用?或者簡單地說應該怎麼用nandflash?再有,使用ADS進對ARM9行編程時都需要使用到一個初始化的匯編文件,這個文件究竟有什麼用?他裡面的代碼是什麼意思?不要這個可以嗎?諸如此類都是對硬體的理解,理解了這些東西就對硬體有很深的理解了,這對以後更深一步的學習將有很大的幫助,如果跳過這一步,我相信越往後學越會覺得迷茫,越覺得這寫東西深不可測。因為,你的根基沒打好。
第二,使用linux系統進行一些基本的實驗。
在買一套板子的時候一般會提供一些linux的試驗常式,好好做一段時間這個吧,這個過程也是很有意義的,也是為進一步的學習積累感性認識,你能想像一個從沒有使用過linux系統的人能學好linux的編程嗎?好好按照手冊上的常式做一做裡面的實驗,雖然有點娃娃學走路,有點弱智,但是我想很多高手都會經歷這個過程。 在這方面我們深藍科技目前沒有計劃提供相應的常式,主要是開發板的提供商會提供很豐富的常式,我們不做重復工作,只提供他們沒有的、最有價值的東西給大家。
第三,研究完整的linux系統的的運行過程。
所謂完整的linux系統包括哪些部分呢? 三部分:bootloader、linux kernel(linux內核)、rootfile(根文件系統)。 那麼這3部分是怎麼相互協作來構成這個系統的呢?各自有什麼用呢?三者有什麼聯系?怎麼聯系?系統的執行流程又是怎麼樣的呢?搞清楚這個問題你對整個系統的運行就很清楚了,對於下一步製作這個linux系統就打下了另一個重要的根基。介紹這方面的資料網上可以挖掘到幾噸,自己好好研究吧。
第四,開始做系統移植。
上面說到完整的linux有3部分,而且你也知道了他們之間的關系和作用,那麼現在你要做的便是自己動手學會製作這些東西。 當然我不可能叫你編寫這些代碼,這不實現。事實上這個3者都能在網下載到相應的源代碼,但是這個源代碼不可能下載編譯後就能在你的系統上運行,需要很多的修改,直到他能運行在你的板子上,這個修改的過程就叫移植。在進行移植的過程中你要學的東西很多,要懂的相關知識也很多,等你完成了這個過程你會發現你已經算是一個初出茅廬的高手了。 在這個過程中如果你很有研究精神的話你必然會想到看源代碼。很多書介紹你怎麼閱讀linux源代碼,我不提倡無目的地去看linux源代碼,用許三多的話說,這沒有意義。等你在做移植的時候你覺得你必須去看源代碼時再去找基本好書看看,這里我推薦一本好書倪繼利的《linux內核的分析與編程》,這是一本針對linux-2.6.11內核的書,說得很深,建議先提高自己的C語言編程水平再去看。 至於每個部分的移植網上也可以找到好多噸的資料,自己研究研究吧,不過要提醒的是,很多介紹自己經驗的東西都或多或少有所保留,你按照他說的去做總有一些問題,但是他不會告訴你怎麼解決,這時就要靠自己,如果自己都靠不住就找我一起研究研究吧,我也不能保證能解決你的問題,因為我未必遇到過你的問題,不過我相信能給你一點建議,也許有助你解決問題。 這一步的最終目的是,從源代碼的官方主頁上(都是外國的,悲哀)下載標準的源代碼包,然後進行修改,最終運行在板子上。 盜用阿基米德的一句話:「給我一根網線,我能將linux搞定」。
第五,研究linux驅動程序的編寫。
移植系統並不是最終的目的,最終的目的是開發產品,做項目,這些都要進行驅動程序的開發。Linux的驅動程序可以說是五花八門,linux2.4和 linux2.6的編寫有相當大的區別,就是同為linux2.6但是不同版本間的驅動程序也有區別,因此編寫linux的驅動程序變都不是那麼容易的事情,對於最新版本的驅動程序的編寫甚至還沒有足夠的參考資料。那麼我的建議就是使用、移植一個不算很新的版本內核,這樣到時學驅動的編程就有足夠的資料了。 這部分的推薦書籍可以參考另一篇文章《推薦幾本學習嵌入式linux的書籍》。 第六,研究應用程序的編寫。 做作品做項目除了編寫驅動程序,最後還要編寫應用程序。現在的趨勢是圖形應用程序的開發,而圖形應用程序中用得最多的還是qt/e函數庫。我一直就使用這個函數庫來開發自己的應用程序,不過我希望你能使用國產的MiniGUI函數庫。盜用周傑倫的廣告詞就是「支持國產,支持MiniGUI」。 MiniGUI的編程比較相似Windows下的VC編程,比較容易上手,效果應該說是相當不錯的,我曾使用過來開發ARM7的程序。記住,問題是學習的最好機會

⑵ 如何配置Eclipse開發環境用來開發arm9-linux下的驅動程序

一、安裝JDK首先下載JDK5.0,並運行安裝,安裝過程中所有選項保持默認,最後配置JDK的環境變數:在「我的電腦」上點右鍵—>「屬性」—>「高級」—>「環境變數(N)」。新建系統變數JAVA_HOME:C:\ProgramFiles\Java\jdk1.5.0_06;新建系統變數CLASSPATH:.;%JAVA_HOME%\lib;(注意:點號表示當前目錄,不能省略)在系統變數Path的值的前面加入以下內容:%JAVA_HOME%\bin;(注意:這里的分號不能省略)到這里,JDK安裝完畢。下面方法我們測試一下JDK是否安裝成功:開始菜單--運行--CMD,在MS-DOS中輸入JAVA或JAVAC,此時可以看到很多參數的提示;注意:如果以後要安裝諸如Eclipse、BorlandJBuilder、JCreator、IntelliJIDEA等集成開發環境(IDE,),應該在IDE中編譯運行一個簡單的HelloWorld程序,以保證IDE可以識別出JDK的位置。二、安裝TomcatTomcat有安裝版和免安裝版兩種,我用的是安裝版,直接安裝後好像也不用進行環境變數的設置,所以也沒有進行這方面的設置,其實我也不是很清楚Tomcat究竟需不需要設置環境變數。下面是原文作者免安裝版本的安裝。首先下載jakarta-tomcat-5.0.30.zip,之所以下載免安裝版的好處是可以使用多個然後將jakarta-tomcat-5.0.30.zip直接解壓到D盤根目錄:最後配置Tomcat的環境變數:在「我的電腦」上點右鍵—>「屬性」—>「高級」—>「環境變數(N)」。新建系統變數CATALINA_HOME:D:\jakarta-tomcat-5.0.30在系統變數CLASSPATH的值的後面加入:%CATALINA_HOME%\common\lib;在系統變數Path的值中"%JAVA_HOME%\bin;"的後面加入以下內容:%CATALINA_HOME%\bin;到這里,Tomcat安裝完畢。進行完一、二兩步的設置以後,各系統變數的值如下:JAVA_HOME:C:\ProgramFiles\Java\jdk1.5.0_06CATALINA_HOME:D:\jakarta-tomcat-5.0.30CLASSPATH:.;%JAVA_HOME%\lib;%CATALINA_HOME%\common\lib;Path:%JAVA_HOME%\bin;%CATALINA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem三、安裝Eclipse首先下載eclipse-SDK-3.1.2-win32.zip然後將eclipse-SDK-3.1.2-win32.zip直接解壓到D盤根目錄:到這里,Eclipse安裝完畢。四、安裝MyEclipse首先下載EnterpriseWorkbenchInstaller_4.1.1GA_E3.1.exe,這里使用的是插件版本。然後安裝EnterpriseWorkbenchInstaller_4.1.1GA_E3.1.exe。安裝完畢之後,將MyEclipse安裝目錄下的features和plugins這2個目錄覆蓋到Eclipse的安裝目錄下。最後將剛才安裝的MyEclipse卸載。解釋一下上面這樣做的原因:因為MyEclipse是Eclipse的插件,所以只要把features和plugins這2個目錄覆蓋到Eclipse的安裝目錄,Eclipse就會自動認出這些插件。到這里,MyEclipse安裝完畢。五、破解MyEclipse運行MyEclipse4.1.1注冊機MyEclipseKeyGen.exe,選擇MyEclipse的版本號,輸入注冊名,生成序列號。運行eclipse.exe(首次運行要求指定Workspace),依次點擊Window---->Preferences---->MyEclipse---->Subscription---->EnterSubscription,輸入注冊名以及注冊機生成的注冊碼。到這里,MyEclipse破解完畢。六、指定Eclipse+MyEclipse的JRE和Tomcat伺服器1.設定Eclipse+MyEclipse的JRE一般情況下,Eclipse可以自動找到JRE,我們不用進行過多的設置。2.設定Eclipse+MyEclipse的Tomcat伺服器只需設置圖中所標注的兩處即可,圖中其餘部分是自動生成的。到這里,我們的Eclipse+MyEclipse開發環境就搭建完畢了!七、新建一個項目來測試一下Eclipse+MyEclipse開發環境是否搭建成功1.在Eclipse中依次點擊「File---->New---->Project」,在彈出的「NewProject」對話框中依次點擊「WebProject---->MyEclipse---->J2EEProjects---->WebProject」,再點「Next」,在「ProjectName」中輸入項目的名字「test」,最後點「Finish」。2.在Eclipse左邊PackageExplorer列表中點擊「test」,將項目test。右鍵點擊WebRoot---->New---->jsP,新建一個名為hello.jsp的JSP頁面。3.再用同樣的方法,新建一個叫hello_result.jsp的JSP文件4.deploy(部署)項目。點擊deploy按鈕(用紅線畫了的按鈕就是deploy按鈕),在彈出的窗口中點擊Add,部署test項目5.啟動Tomcat伺服器。6.項目test的運行結果:我們可以去Eclipse的Workspace目錄下看看test項目的代碼,也可以去Tomcat的webapps目錄下,看看部署之後的test項目的結構。

⑶ 如何使用arm9開發板

1,熟悉開發板的硬體資源(TQ2440的原理圖)
2,熟悉SRAM,SDRAM,Nor Flash,Nand Flash。
3,熟悉內存控制器的初始化,程序要在SDRAM中運行,首先要初始化SDRAM。
4,熟悉ARM920T的啟動方式(Nor Flash/Nand Flash)。
5,學會程序下載常式運行(TFTP方式或者USB方式)。
6,搭建開發環境(GCC交差編譯)。
7,學習ARMv4指令集,編寫簡單的匯編程序,下載運行。
8,務必非常熟悉串口UART的使用,後邊你自己的程序調試都需要通過串口來輸出。
9,學習ARM匯編與C語言的混合編程,GCC內聯匯編,掌握參數傳遞方式和ARM過程調用標准(APCS)即可。
10,到了這一步,基本上就可以用板子上的硬體資源來練習了,LED,按鍵,IIC介面的EEPROM, LCD等(板子上的蜂鳴器,
LED,串口都可以用來當調試工具,觀察它們的現象,判斷你的程序執行情況)。
11,現在要學習ARM工作模式,異常處理機制,要非常熟悉中斷處理,會編寫中斷處理程序。
12,自己可以寫一個bootloader,寫DM9000網卡驅動程序,實現ARP,IP,UDP,TFTP協議,從而用你自己的bootloader實現從伺服器下載數據到開發板(我已經實現了一個,大家需要的,可以留言說明,我會聯系大家)。
13,當第12步完成後,你可以嘗試用你的bootloader從PC的TFTP伺服器下載Linux內核鏡像到開發板,然後啟動linux。
14,現在可以學習uboot了,就是你的開發板一上電就運行的那個東西,主要是學習移植。
如果你把12,13步完成了或者理解了,那麼你也理解uboot了,它和你自己寫的bootloader是一樣的東西,只不過它功能更強大而已,可以做很多事情。
(但是最主要的就是,獲取Linux內核鏡像,初始化硬體環境,運行Linux)。
15,此刻,若你依然深愛著ARM920T,那麼你可以在上面寫一個操作系統(或者稱為調度器),使用ARM920T的MMU。再編寫或移植一套GUI,實現一個文件系統,實現一個TCP/IP協議棧(只要你想得到的,都可以在上面實現,目前我也在做)。

⑷ arm-linux 交叉編譯環境的建立,希望有清楚的人解答,復制的閃人

是這樣子的,計算機linux中原有的gcc是針對通用的X86等處理器而言的,編譯出來的可執行文件是只能在通用計算機上運行的,arm也是一種處理器,只不過其指令等和X86等CPU不同,所以需要有針對arm的編譯器來編譯源程序,才能在arm中運行。
我在arm9下做過linux,qt編程,需要先在PC上安裝linux,然後安裝arm-linux-gcc,同時為了可以使用arm-linux-gcc來編譯程序,需要指定環境變數,這個可以在.profile等文件中進行更改,具體辦法你查一下就知道了。或者使用export命令在終端中設置環境變數。兩種方法的結果有區別哦!
你想用2440的開發板的話就是arm9了,我還沒找到arm9的模擬工具,但是網上已經有arm7的模擬工具。
對於arm-linux-gcc,只要你安裝好並設置好了路徑(環境變數)後,在一個終端中輸入#arm-linux-gcc -v
那麼你一般可以看到你安裝的arm-linux-gcc 版本信息,到此你就可以使用它編譯你的源程序,然後將生成的可執行文件下載到arm開發板中就可以運行了。
還有什麼問題再說吧,我也是一個人摸索出來的,估計摸索了一個月才成功的在arm上運行了第一個自己的qt圖形界面程序,祝你好運!
我的建議:
一、熟悉linux 的各種操作命令(如export)
二、學會怎麼下載可執行文件到arm中
三、學會用pc控制arm上的linux

我只用過arm-linux-gcc,在你的安裝文件夾下可以找到

閱讀全文

與arm9怎麼用c編程相關的資料

熱點內容
win10如何強制重命名文件 瀏覽:204
java集合隨機打亂順序 瀏覽:805
qq怎麼解綁app 瀏覽:995
蘋果設備優盤考文件 瀏覽:662
java項目部署與測試 瀏覽:728
個人微信號和公眾平台 瀏覽:988
微信顯示網路不可用 瀏覽:478
現實編程怎麼敲鍵盤 瀏覽:950
怎麼做招標文件 瀏覽:543
黑蘋果macminidiy 瀏覽:105
系統暫時刪除應用程序 瀏覽:400
怎麼更改qq郵箱的賬號和密碼 瀏覽:947
電視劇周邊是什麼網路用語 瀏覽:130
網路信號怎麼來的 瀏覽:802
win10文件默認顏色 瀏覽:713
安卓的榮耀戰區 瀏覽:621
使excel文件損壞的原因 瀏覽:746
有個搜題網站叫知什麼 瀏覽:17
川劇迷app在哪裡下載 瀏覽:677
加工中心m30螺紋怎麼編程 瀏覽:29

友情鏈接