在ubuntu下开发stm32f4-discovery

前面零散地记录了一些如何安装编译器,调试器等笔记,这里就准备开始着手试一下这整块系统了。

简单不完全地回顾一下所需要安装的软件:

1 编译器

  使用的是codesourcey,因为之前有使用过该套编译器,所以就顺手了。该套编译套件已经被mentor graphic收购了,它一直在更新并提供了lite版本。类似的交叉编译套件还可以使用Linaro,YAGARTO,summon等,都是免费使用的。

  按各自官方网站下载并编译安装就可以了。安装完成在命令行中运行  

arm-none-eabi-gcc --version

  有显示类似信息就表示安装好了编译器

在ubuntu下开发stm32f4-discovery
merlin@riliwan:~$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (Sourcery CodeBench Lite 2013.11-24) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

merlin@riliwan:~$ 
在ubuntu下开发stm32f4-discovery

2 如果你和我一样,对Makefile不熟悉,那么你可能想用eclipse来管理你的工程(这样就不用编写makefile文件啦)

  去www.eclipse.org下载For C/C++版本的(Eclipse IDE for C/C++ Developers, 148 MB

  由于eclipse是基于java的程序,而默认的ubuntu是没有安装jre的,这时你还需要安装jre。在terminal中输入以下命令安装JRE

sudo apt-get install default-jre

  这时就可以运行eclipse了。

  还需要在eclipse中Help -> Install New Software...安装管理ARM工程的插件(地址:http://gnuarmeclipse.sourceforge.net/updates),看图:

在ubuntu下开发stm32f4-discovery

 

 3 安装STLinkV2

  第一步是安装libusb库和pkg-config,后者一般是已经安装好了的。

sudo apt-get install libusb-1.0.0-dev pkg-config

在ubuntu下开发stm32f4-discovery

  第二步是下载源码,在某个有写权限的地方新建一个文件夹用于存储源文件,进入该文件夹然后在终端中输入以下命令从git上获取源码

git clone https://github.com/texane/stlink

  进入包含有Makefile文件的文件夹,执行以下命令:

$ ./autogen.sh
$ ./configure
$ make

  生成st-flash,st-info,st-util等文件,将这些生成的st-*文件拷贝某处并添加到PATH,这样就可以在终端上执行这些命令了。PATH可以使用export设置,也可以使在.~/bashrc中设置,更可以在/etc/enviroment中设置(推荐,这样就可以不光只能在终端中调用这些命令了)

  不过这个时候,在ubuntu下去访问stlink会出现错误提示:

merlin@riliwan:~$ st-util 
2014-01-28T13:07:32 WARN src/stlink-usb.c: Couldnt open ST-Link/V2 device 002:006

  哦,原来这里还差一步,将stlink根目录下的*.rules文件拷贝到/etc/udev/rules.d/下面去,执行下面两条指令

$ sudo cp *rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules

  这样做之后,重新插拔一次stm32f4-discovery开发板就能正确识别了,看图:

在ubuntu下开发stm32f4-discovery

 

好了,准备工作都差不多了。

可是。。。你是不是现在还担心这套环境是不是真的方便使用呢?我们现在立刻马上就下载一个程序到板子上去运行试试。

我这里提供一个bin文件,这样你通过查看现在就可以确保程序已经真正下载到板上去了。

STM32f4 Demo(bin)

如果你的板就是原来的demo程序,那么先把这些程序擦除掉,使用下面命令

$ st-flash erase

然后使用下载命令

$ st-flash write t/STM32F4-Discovery_Demo_0x08008000.bin 0x08008000

下载成功后你的开发板就该有现象了(灯闪了有没有?按它它会切换模式了有没有?),看图:

在ubuntu下开发stm32f4-discovery

 测试完毕。

 

以上准备已经差不离了,我们正式开。。。团

去,你们先去st.com下载stm32f4-discovery的demo源码,我这里不提供该官方源码了,因为我一会后面要提供我修改过了的。。。

解压官方源码到某个目录,进去看后咱们选择一个最简单的example——IO_Toggle测试这个调试环境(入门),使用eclipse作为IDE。

1 启动eclipse,然后新建一个工程,名字就叫做stm32f4_io_toggle;

在ubuntu下开发stm32f4-discovery

2 因为现在是为了入门,所以我想把其它无关的东西都删除掉了,以免碍着眼。复制STM32F4-Discovery_FW_V1.1.0/Libraries及STM32F4-Discovery_FW_V1.1.0/Project/Peripheral_Examples/IO_Toggle下的所有文件到工程目录中;

在ubuntu下开发stm32f4-discovery 

3 删除一些我们不想要的文件

在ubuntu下开发stm32f4-discovery

上一篇:基础才是重中之重~C#中标准的IDispose模式


下一篇:关于String类的面试题!