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

來源:互聯網
上載者:User

標籤:windows   arm   eclipse   編譯器   調試   

Windows環境下可以使用Eclipse IDE for C/C++ Developers來搭建ARM開發環境
安裝步驟如下:

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.指定一個工程存放目錄

Eclipse for ARM 是一個標準的視窗應用程式,可以單擊程式按鈕開始運行。開啟後必須先指定一個工程存放路徑,5-11所示。


2.建立一個工程

進入主介面後,選擇"File→New→C Project"命令,Eclipse將開啟一個標準對話方塊,輸入希望建立工程的名字並單擊"Finish"按鈕即可建立一個新的工程,建議對每個建立工程使用獨立的檔案夾。

3.建立一個MakeFile檔案

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

4.建立一個指令檔

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

5.建立一個串連指令檔

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


6.建立一個彙編源檔案


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


5.4  編譯工程


(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  調試工程


5.5.1  配置FS-JTAG 調試工具


5-12所示,在Target選項中選擇s5pc100,然後在WorkDir 選項中選擇自己的工程目錄(D:\program\led),這裡是筆者的當前環境,請讀者按照自己的實際環境進行填寫。


上述工作做完之後,單擊Connect按鈕後,該按鈕會變為Disconnect,5-12所示,即表示已經串連目標板。最後單擊Telnet按鈕(這一步可以跳過),將會彈出5-13所示,介面即表示已經連上目標板。
 

5.5.2  配置調試工具(1)

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


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


在Command選項卡中輸入如下內容,5-17所示。
load  
break _start  
c  


5.5.2  配置調試工具(2)

單擊"Apply"按鈕後,再單擊"Debug"按鈕開始調試運行,會出現調試主介面,5-18所示。

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

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



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


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.