传送门:
http://www.eefocus.com/marianna/blog/13-10/298454_7e04f.html
http://blog.sina.com.cn/s/blog_6439091b0100huj7.html
http://www.mcuos.com/thread-5885-1-1.html
为了避免原作者博文删除,我粘贴复制过来吧。原文链接已经在传送门处。感谢原文作者的共享!
======================
Linux发行版是64bit的Fedora19,方案选择为:Eclipse+CodeSourcery+OpenOCD+STLINKv2。
NO1.准备STM32的开发板,购买仿真器STLINKv2。
NO2.安装 CodeSourcery
如果是64bit机器,首先确认它能够运行32bit的软件。CodeSourcery可以在官网https://sourcery.mentor.com下载,名称为arm-2013.05-23-arm-none-eabi.bin,安装它。
CodeSourcery是编译好的二进制GCC程序包。
NO3.安装 OpenOCD
实际上,使用下面这个命令就可以:
yum install openocd
openocd是开源仿真软件,支持 STLINKv2。
NO4.安装 STLINKv2的驱动
在google使用关键字搜索即可,也是开源软件。安装它可能要费一番周折,你可能需要先安装systemd-devel,libusb-1.0,autoconf和automake,然后export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,执行这些操作的理由都会在config.log文件中找到。
另外别忘了将rules文件加入/etc/udev/rules文件夹,并且载入它。
NO5.安装 Eclipse及ARM插件
在Eclipse官网下载它,解压就能用。 在打开的界面上点击help->Install New software,安装ARM插件。
NO6.下载STM代码
包括所有的.h和.c文件,以及启动代码startup_stm32f10x_md.S(注意S要大写)和.ld配置文件。
NO7.编译STM代码
使用Eclipse新建C Project,将STM代码放进去。根据你自己的STM32芯片类型,修改.S和.ld文件内容,注意.ld文件中要使用绝对路径。
修改工程属性,注意要修改头文件路径、芯片类型和GCC工具(即CodeSourcery,同样使用绝对路径)。
点击build all即可。
如果编译不成功,就根据Eclipse的console提示,搜索解决方法。
NO7.openocd和arm-none-eabi-gdb仿真与调试
连接好硬件之后,执行
openocd -f stlink-v2.cfg -f stm32f1x_stlink.cfg //注意要有绝对路径
如果硬件和STLINKv2的驱动都没有问题,它会出现:
Info : This adapter doesn't support configurable speed
Info : STLINK v2 JTAG v16 API v2 SWIM v4 VID 0x0483 PID 0x3748
Info : Target voltage: 3.269657
Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
在另外一个终端执行arm-none-eabi-gdb,在它的提示符下输入下面的命令:
(gdb) target extended-remote : 3333
(gdb) monitor reset init
(gdb) load maria_test.hex
(gdb) monitor reset
现在,STM32就会正常运行了。