zoukankan      html  css  js  c++  java
  • 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:programled)。这里是笔者的当前环境,请读者依照自己的实际环境进行填写。


    上述工作做完之后,单击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


  • 相关阅读:
    201521123111《Java程序设计》第8周学习总结
    201521123111《Java程序设计》第7周学习总结
    201521123111《Java程序设计》第6周学习总结
    201521123111《Java程序设计》第5周学习总结
    201521123111《Java程序设计》第4周学习总结
    201521123111《Java程序设计》第3周学习总结
    201521123110《Java程序设计》第11周学习总结
    201521123110《Java程序设计》第10周学习总结
    201521123110 《Java程序设计》第9周学习总结
    201521123110《java程序设计》第八周学习总结
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5137558.html
Copyright © 2011-2022 走看看