Windows環境下ARM集成開發環境的搭建與使用


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所看到的。




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對話框。


 
選擇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所看到的。




在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自帶的掛起、中斷連接功能。以下簡介一下各個窗體的用途。



如圖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



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM