Windows環境下ARM整合式開發環境的搭建與使用

來源:互聯網
上載者:User

標籤:

Windows環境下能夠使用Eclipse IDE for C/C++ Developers來搭建ARM開發環境

本文地址:http://blog.csdn.net/u011833609/article/details/30290655

安裝過程例如以下:

1. 安裝Java SE
網址:http://www.oracle.com/technetwork/java/javase/downloads/jre-7u3-download-1501631.html
下載這個檔案:jre-7u3-windows-i586.exe
2. 安裝Eclipse IDE for C/C++ Developers
網址:http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/heliossr2
下載這個檔案:eclipse-cpp-helios-SR2-win32.zip 下載後解壓到對應檔案夾,不需安裝,發送個捷徑到案頭就可以。
3. 安裝Eclipse下開發ARM的外掛程式
網址:http://sourceforge.net/projects/gnuarmeclipse/files/Current Releases/0.5.3/
下載這個檔案:org.eclipse.cdt.cross.arm.gnu_0.5.3.201007311800.zip
下載後解壓,把plugins/org.eclipse.cdt.cross.arm.gnu_0.5.3.201007311800.jar檔案放入安裝Eclipse檔案夾下的plugins檔案夾裡。
4. 安裝arm-none-eabi-gcc編譯器
網址:http://www.yagarto.de/download/yagarto/yagarto-bu-2.21_gcc-4.6.2-c-c++_nl-1.19.0_gdb-7.3.1_eabi_20111119.html
請不要安裝在路徑有空格的檔案夾!
下載並安裝這個檔案:yagarto-bu-2.21_gcc-4.6.2-c-c++_nl-1.19.0_gdb-7.3.1_eabi_20111119.exe
網址:http://www.yagarto.de/download/yagarto/yagarto-tools-20100703-setup.exe
下載並安裝這個檔案:yagarto-tools-20100703-setup.exe

原文地址:http://blog.sina.com.cn/s/blog_6c234ba901012zqm.html

用法例如以下:

1.指定一個project存放檔案夾

Eclipse for ARM 是一個標準的表單應用程式。能夠單擊程式button開始執行。開啟後必須先指定一個project存放路徑,5-11所看到的。



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTgzMzYwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >
2.建立一個project

進入主介面後。選擇"File→New→C Project"命令,Eclipse將開啟一個標準對話方塊。輸入希望建立project的名字並單擊"Finish"button就可以建立一個新的project,建議對每一個建立project使用獨立的目錄。

3.建立一個MakeFile檔案

在建立一個新的project後。選擇"File→New→Other"命令。在彈出的對話方塊中的General下單擊file。然後單擊next;然後選擇所要指定的project後,在檔案名稱文字框中輸入檔案名稱MakeFile,單擊"Finish"button。



4.建立一個指令檔

選擇"File →New→Other"命令,在彈出的對話方塊中的General下單擊file。然後單擊next;然後選擇所要指定的project後,在檔案名稱文字框中輸入檔案名稱s5pc100.init。單擊"Finish"button。

5.建立一個串連指令檔

選擇"File→New→Other"命令,在彈出的對話方塊中的General下單擊file 。然後單擊next。然後選擇所要指定的project後,在檔案名稱文字框中輸入檔案名稱map.lds,單擊"Finish"button。


6.建立一個彙編源檔案


選擇"File →New→Other"命令,在彈出的對話方塊中的General下單擊file ,然後單擊next;然後選擇所要指定的project後。在檔案名稱文字框中輸入檔案名稱start.s,單擊"Finish"button。




5.4  編譯project


(1)在彙編源檔案(start.s)中輸入彙編代碼:


.equ   GPG3CON,   0xE03001C0  
.equ   GPG3DAT,   0xE03001C4  
 
.globl _start  
_start:  
        LDR         R0,=GPG3CON  
LDR         R1,=0X10  
        STR     R1,[R0]         @//寫控制寄存器,IO引腳使能為輸出  
LOOP:  
        LDR         R0,=GPG3DAT  
        MOV     R1,#0X02        @//點亮led1  
        STR     R1,[R0]  
        LDR     R2,=0XFFFFF     @//延時  
LOOP1:  
        SUB         R2,R2,#1  
        CMP     R2,#0  
        BNE     LOOP1  
        MOV     R1,#0X0         @//熄滅led1  
        STR     R1,[R0]  
        LDR     R2,=0XFFFFF     @//延時  
LOOP2:  
        SUB         R2,R2,#1  
        CMP     R2,#0  
        BNE     LOOP2  
        B       LOOP  
        .end  
(2)在map.lds中輸入例如以下資訊:
OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")  
/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*/  
OUTPUT_ARCH(arm)  
ENTRY(_start)  
SECTIONS  
{  
    . = 0x34000;  
    . = ALIGN(4);  
    .text      :  
    {  
        start.o(.text)  
        *(.text)  
    }  
    . = ALIGN(4);  
    .rodata :   
    { *(.rodata) }  
    . = ALIGN(4);  
    .data :   
    { *(.data) }  
    . = ALIGN(4);  
    .bss :  
     { *(.bss) }  
}  
(3)編寫MakeFile檔案編譯規則。在MakeFile中輸入例如以下資訊:


all:start.s  
    arm-none-eabi-gcc-4.6.2 -O0 -g -c -o start.o start.s  
    arm-none-eabi-ld        start.o -Tmap.lds -o start.elf  
    arm-none-eabi-objcopy   -O binary -S start.elf start.bin  
arm-none-eabi-objdump   -D start.elf >start.dis    
(4)在s5pc100.init檔案裡輸入例如以下資訊:
target remote 127.0.0.1:3333  
monitor halt  
monitor arm mcr 15 0 1 0 0 0  
monitor step 0  
(5)儲存,編譯Project→Bulit All。


5.5  調試project


5.5.1  配置FS-JTAG 調試工具


5-12所看到的,在Target選項中選擇s5pc100。然後在WorkDir 選項中選擇自己的project檔案夾(D:\program\led)。這裡是筆者的當前環境,請讀者依照自己的實際環境進行填寫。


上述工作做完之後,單擊Connectbutton後,該button會變為Disconnect,5-12所看到的,即表示已經串連目標板。

最後單擊Telnetbutton(這一步能夠跳過),將會彈出5-13所看到的,介面即表示已經連上目標板。
 

5.5.2  配置調試工具(1)

在Eclips的菜單中選擇"Run→Debug Configurations"彈出5-14對話方塊。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTgzMzYwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

 
選擇Zyin Embedded debug(Native)選項,然後單擊滑鼠右鍵,在彈出的捷徑功能表中選擇"New"命令;在Main選項卡中的Project框中。單擊"Browse"button選擇ledproject。在C/C++ Application 中單擊"Browse"button找到project檔案夾下的led.elf檔案,5-15所看到的。
 
在Debugger選項卡中的Main子選項卡中的GDB debugger的框中單擊"Browse"button選擇前面安裝的arm-none-eabi-gdb.exe(這裡選擇自己的安裝資料夾),在GDB Command file中選擇自己project檔案夾下的s5pc100.init檔案,5-16所看到的。



watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTgzMzYwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >
在Command選項卡中輸入例如以下內容。5-17所看到的。
load  
break _start  
c  


5.5.2  配置調試工具(2)

單擊"Apply"button後。再單擊"Debug"button開始調試執行,會出現調試主介面。5-18所看到的。



程式會在斷點處停下。然後使用單步和全速等工具進行調試執行程式,單擊全速執行,會出現LED1閃亮。

能夠看出一個大概的調試介面。5-19所看到的的button是和調試有關的,有單步,step over和step in方式。還有Eclipse內建的掛起、中斷串連功能。以下簡介一下各個表單的用途。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTgzMzYwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >


5-20所看到的表單是用來查看函數變數的,能夠看到當前i,j的值。


5-21所看到的表單是用來查看ARM寄存器的。從r0~r12通用寄存器的值能夠被非常清楚的觀察到,而且還可觀察到 CPSR目前狀態寄存器的值。


5.6  本章小結

本章主要介紹了怎樣編寫GNU-ARM彙編風格的程式,以及怎樣基於S5PC100在Eclipse下進行調試,而且介紹了FS-JTAG的具體使用方法。本書後面章節的大部分實驗都是基於這個環境的。工欲善其事。必先利其器,所以必須熟練掌握環境的使用。

原文地址:http://book.51cto.com/art/201210/359534.htm


Windows環境下ARM整合式開發環境的搭建與使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.