您的位置:首页 > 编程语言 > Java开发

使用eclipse建立ARM开发环境

2013-04-10 17:25 627 查看
原文:http://blog.sina.com.cn/s/blog_78212a050100ph5y.html



J-Link: http://www.segger.com/

http://www.eclipse.org/downloads/ 下载Eclipse IDE for C/C++ Developers 环境

http://sourceforge.net/projects/gnuarmeclipse/ 下载GNU ARM Eclipse Plug-in最新版本。

http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite 下载 sourcery g++ lite 的EABI版本

搭建eclipse STM32平台需要用到 eclipse
for C\C++ 软件,GUN ARM 插件,工具集(汇编器、编译器、连接器)。

目前已知的工具集有好几种,这里选择免费的Sourcery G++ Lite。





上图中红色框图中的软件是必须下载的。

1、下载

下载软件 JDK 、eclipse
IDE for c/c++ Developers

下载插件 org.eclipse.cdt.cross.arm.gnu_0.5.3.201010141144.zip

下载完整的软件开发环境 Sourcery
G++Lite
EABI版

2、安装

安装JRE或者JDK

安装eclipse IDE for c/c++ Developers

安装Sourcery G++Lite

这里介绍在eclipse中安装插件GNU
ARM Eclipse Plug-in。

首先启动eclipse。选择Help->Install
New Software









点击: Available Software Sites,在弹出的窗口中点击Add按钮。





点击: Archive... 按钮,择插件org.eclipse.cdt.cross.arm.gnu_0.5.3.201010141144.zip

确定后,在下图中将: Contact all update sites during install
to find required software选项去掉。

然后在Work with中选择刚刚添加的插件路径。

然后在下方选择 GNU ARM C/C++ Development Support.点击Next.直至安装完成。





然后新建工程,发现多了ARM Windows GCC(Sourcery G++ Lite)项。





这表示插件以成功安装。

3、建立工程。

将固件库加入工程中:





将STM32F10x_StdPeriph_Lib_V3.4.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\TrueSTUDIO

文件夹下的startup_stm32f10x_hd.s文件拷贝到上一层目录startup\,并将后缀改为大写。删除startup\目录下的其它的文件夹。





在工程下建立usr文件夹,将例子程序的



文件复制过来。如下图。





在STM32F10x_StdPeriph_Lib_V3.4.0\Project\STM32F10x_StdPeriph_Template\TrueSTUDIO文件夹中有目标芯片的链接文件。





每个文件夹中包含了stm32f10 系列中不同大小的芯片所需的链接文件。

这里选择STM3210C-EVAL文件夹下的stm32_flash.ld文件,用记事本打开后可以看到以下内容:

*****************************************************************************

**

** File :
stm32_flash.ld

**

** Abstract :
Linker script for STM32F107VC Device with

** 256KByte
FLASH, 64KByte RAM

**

** Set
heap size, stack size and stack location according

** to
application requirements.

**

** Set
memory bank area and size if external memory is used.

**

** Target :
STMicroelectronics STM32

**

** Environment : Atollic TrueSTUDIO(R)

这说明该文件于我的目标芯片匹配。将该文件复制到工程目录下。

4、配置

在工程上点击鼠标右键,选择Properties 。





在弹出的窗口中选择Settings,可以看到,其中有

汇编器、编译器、连接器的配置。

以下的任务就是配置这些选项。





首先选择以下选项。





汇编器的配置默认就行了。

编译器的配置需要定义两个符号

STM32F10X_HD

USE_STDPERIPH_DRIVER





然后在目录选项中包含以下路径,好让编译器找到编译时需要的文件。





在连接器选项中,指定Script file 为新建项目下的stm32_flash.ld文件





在链接库中加入m参数,用来包含libm.a 数学库以支持math.c中的数学运算。





设置好后。解决sprintf maco函数无法编译的问题。

在stm32_flash.ld文件中找到以下段:

. = ALIGN(4);
.bss :
{

_sbss = .;
__bss_start__
= _sbss;
*(.bss)
*(.bss*)
*(COMMON)

. = ALIGN(4);
_ebss = .;
__bss_end__
= _ebss;
} >RAM

PROVIDE ( end = _ebss
);
PROVIDE ( _end = _ebss );

在其末尾添加:

PROVIDE(__HEAP_START
= _end );

然后在usr文件夹下建立syscalls.c文件。

#include <sys/types.h>
//为了使用malloc sprintf 函数
extern int __HEAP_START;

caddr_t _sbrk ( int incr
){
static unsigned char *heap
= NULL;
unsigned char *prev_heap;

if (heap
== NULL) {
heap
= (unsigned char *)&__HEAP_START;
}
prev_heap
= heap;

heap += incr;

return (caddr_t)
prev_heap;
}
这样,整个工程就配置完完成。

Build工程后就会出现Hex文件,将其下载到目标芯片中就可以工作了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: