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" alt="">

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" alt="">

 

选择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" alt="">

在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" alt="">



如图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集成开发环境的搭建与使用的更多相关文章

  1. Windows安装Python环境和Python集成开发环境(IDE)PyCharm

    1.Windows中安装Python 3 (1)打开浏览器,访问Python官网(https://www.python.org/) (2)光标移动至Downloads,单机Windows链接 (3)根 ...

  2. 《Python入门》Windows 7下Python Web开发环境搭建笔记

    最近想尝试一下在IBM Bluemix上使用Python语言创建Web应用程序,所以需要在本地搭建Python Web的开发测试环境. 关于Python的版本 进入Python的网站,鼠标移到导航条上 ...

  3. java环境变量、集成开发环境与使用两个类

    1.集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面等工具.集成了代码编 ...

  4. windows 10下的python开发环境

    linux子系统 按照文档 https://www.jianshu.com/p/2bcf5eca5fbc 的前五步,完成 ubuntu子系统安装. 不需安装图形桌面,无使用价值. 在https://w ...

  5. 【转】在Eclipse环境下配置Servlet开发环境

    配置这个真心坑···浪费我一下午时间,而且去网上找了一圈资料发现都不靠谱呀= = 于是自己写一个,防止忘记了 一.配置前准备 你需要下载三个东西 Eclipse J2EE:http://www.ecl ...

  6. 【开发软件】推荐一款MAC OS X 下php集成开发环境mamp

      这里给大家推荐一款在mac上搭建WEB服务器环境的集成环境安装软件,非常的好用,需要的朋友可以拿去,不用谢 ^_^   之前苦于mac上搭建本地服务器之艰辛,找寻好久都没找到一款类似windows ...

  7. linux下XAMP集成开发环境搭建流程总结

    一.安装xampp: 1.用wget下载安装包; 2.为安装包添加执行权限; 3.直接安装到/opt/; 4.添加开机启动:ln -s /opt/lampp/lampp  /usr/bin/ 二.防火 ...

  8. windows系统下,gpu开发环境部署

    1,安装python,使用anaconda或者直接用python.exe安装都可以.我用的是python3.6版的 对于相关的程序包,比如tensorflow或者opencv等,anaconda可以在 ...

  9. lua redis接口 (在ubuntu16.04 环境下配置lua-redis开发环境)

    目前成功的lua版本是5.1, 根据网络上的资料显示 lua5.1能够支持 lua-socket 安装lua及相关软件: #安装lua5. #安装lua-socketxiangg sudo apt i ...

随机推荐

  1. DotNetCore2.1 下Docker使用的学习

    [环节1:CentOS 安装Docker] Step1:通过 uname -r 命令查看你当前的内核版本 uname -r Step2:使用 root 权限登录 Centos.确保 yum 包更新到最 ...

  2. 【Codeforces Round #424 (Div. 2) A】Unimodal Array

    [Link]:http://codeforces.com/contest/831/problem/A [Description] 让你判断一个数列是不是这样一个数列: 一开始是严格上升 然后开始全都是 ...

  3. ASP.NET通过JavaScript实现Button 的Enabled=false

    正常代码控制无法满足需求,所以记录一下方法: <input id="Button5" onclick=" CX()" type="button& ...

  4. 构建基于Javascript的移动CMS——加入滑动

    在和几个有兴趣做移动CMS的小伙伴讨论了一番之后,我们认为当前比較重要的便是统一一下RESTful API.然而近期持续断网中,又遭遇了一次停电,暂停了对API的思考.在周末无聊的时光了看了<人 ...

  5. PIM-DM协议内核触发机制及协议执行机制记录

    PIM-DM和PIM-SM是组播路由ASM(随意信源组播)中的两种不同模式.相对PIM-SM的组播注冊机制.PIM-DM的扩散机制显得更加粗犷. 一.PIM-DM无需向内核注冊pimreg虚接口. 可 ...

  6. android側滑菜单-DrawerLayout的基本使用

    眼下主流App开发中,部分是以側滑菜单为主布局架构,曾经做android側滑菜单时.大多选择使用github上的第三方开源框架SildingMenu,可是这个框架还是稍显笨重.好消息是google已经 ...

  7. docker -mysql服务设置远程连接 解决1251 client does not support ..问题

    前提: 安装MYSQL实例 docker pull mysql 启动mysql(做了端口映射) [root@localhost ~]# docker run -p 3306:3306 --name m ...

  8. es6 --- Generator 函数

    第一部分,ES6 中的 Generator 在 ES6 出现之前,基本都是各式各样类似Promise的解决方案来处理异步操作的代码逻辑,但是 ES6 的Generator却给异步操作又提供了新的思路, ...

  9. Excel 2013数据挖掘工具栏的介绍(二)

    这里不多说,直接上干货! 上一篇博客是 下载安装与配置Excel 2013数据挖掘加载项(SQL Server 2012 SP1 + SQLServer2012_DMAddin.msi) Excel ...

  10. channels

    package main import ( "fmt" "time" "strconv") func pinger(c chan strin ...