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就会正常运行了。
zhanggy_949255296 2014-1-3 16:50
DiracFatCat 2013-11-25 14:21
yum install glibc.i686既可。要注意,如果要安装gcc,一定要在glibc.i686之前安装,否则gcc不会去下载64位的glibc库,相当麻烦。
zhanggy_949255296 2013-11-24 16:45