Ubuntu下用Eclipse CDT开发STM32

主要是在Ubuntu下进行的工作。在Windwos下基本相同。前一阵实验了Eclipse 开发ARM Linux的程序。现在有项目需要用STM32,建立一个STM32的开发环境。

插件:org.eclipse.cdt.cross.arm.gnu-updatesite.zip
test工程:test.zip
以及本文相关的工具下载在

到Linux公社的1号FTP服务器里,下载地址: 


FTP地址:ftp://www.linuxidc.com

用户名:www.linuxidc.com

密码:www.muu.cc

在 2011年LinuxIDC.com\5月\Ubuntu下用Eclipse CDT开发STM32

下载方法见 http://www.linuxidc.net/thread-1187-1-1.html

1 下载工具。

下载编译工具。下载arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

解压到/opt/codesoourcery目录下。然后设定系统path,指定/opt/CodeSourcery/Sourcery_G++_Lite_eabi/bin路径。因为还要开发arm linux程序,系统path中还指定了/opt/CodeSourcery/Sourcery_G++_Lite_linux/bin路径。

也就是说在/opt/CodeSourcery目录下安装了两套编译器。

后面后会讲到如何在eclipse中选择编译器配置arm linux程序和cortex-m3程序。

下载eclipse cdt包。可以下载最新的版本。eclipse-cpp-galileo-SR1-linux-gtk.tar.gz

解压到/opt目录下。

下载cross arm插件。org.eclipse.cdt.cross.arm.gnu-updatesite.0.5.3.200904131820.zip

2 修改插件

因为机器中有codesourcery的两套编译器。arm-none-linux-gnueapi-gcc和arm-none-eapi-gcc。这两个编译器都要分别使用。而下载的cross arm插件在linux下的只配置了arm linux的工具。所以要对该插件就行修改,增加非linux程序工具。照猫画虎地修改了cross arm插件,增加ARM RTOS GCC(Sourcery G++ Lite),起名叫RTOS,其实有没有RTOS核无所谓。修改插件的需要用eclipse rcp ide,主要是java的插件编程和测试,过程比较麻烦,这里就不罗嗦。编译好的插件附在后面,为org.eclipse.cdt.cross.arm.gnu-updatesite.zip。

3 安装插件

在eclipse的Help->Install New Software菜单中选择org.eclipse.cdt.cross.arm.gnu-updatesite.zip,然后去掉group itmes by category选项,在上篇arm linux的开发中就提到要用上一个版本的eclipse,否则安装不上arm 插件,就是因为这个选项的阻碍。然后,选next安装即可。

4 测试

在eclipse中建立信的c project,建立名为test的工程。工程选项中选择cortex-m3处理器。

然后向这个工程中添加一个cortex-m3的权威指南中例子程序text.c 文件。

然后再右键选这test工程,选Clean Project,对工程进行build,最后生成elf、map、list等文件。

5 gdb server建立

利用openocd配合jlink仿真器。

下载openocd-0.3.1.tar.bz2文件,解压。

下载libusb,用来支持jlink。

运行以下命令编译openocd:

configure --enable-jlink

make

make install


openocd目录下有stm32.cfg文件,用来配置openocd。启动openocd时需要该文件。修改stm32.cfg文件的内容,使其支持jlink。

修改内容为:

# JTAG speed should be

启动openocd。openocd -f stm32.cfg

用openocd支持telnet和gdb。

用telnet localhost 4444命令与openocd连接。

gdb 中用target remoet localhost 3333与openocd连接。

在test工程的Debug目录下建立gdb.ini文件,内容如下:

target remote localhost:3333

monitor reset halt

monitor stm32x mass_erase 0

monitor flash write_image  /test/Debug/test.elf

file /test/Debug/test.elf

break main

c

6 配置eclipse的gdb

点击菜单run->Debug Configurations。然后双击C/C++ Application,建立test debug配置。


然后在右侧选择Debuger tab,将Debuger设置为gdbserver Debugger.

GDB debugger栏中设置为arm-none-eabi-gdb.

GDB command file栏设置为:Debug/gdb.ini

 
选择Debugger options中的connect tab,将连接tye设置为TCP,端口Port number设置为3333

选Apply保存配置。

7 调试

现启动openocd。注意需要root用户属性运行。

openocd -f stm32.cfg

再点击eclipse中的Debug按钮,进行调试即可。


 

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-05/35966.htm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值