前面零散地记录了一些如何安装编译器,调试器等笔记,这里就准备开始着手试一下这整块系统了。
简单不完全地回顾一下所需要安装的软件:
1 编译器
使用的是codesourcey,因为之前有使用过该套编译器,所以就顺手了。该套编译套件已经被mentor graphic收购了,它一直在更新并提供了lite版本。类似的交叉编译套件还可以使用Linaro,YAGARTO,summon等,都是免费使用的。
按各自官方网站下载并编译安装就可以了。安装完成在命令行中运行
arm-none-eabi-gcc --version
有显示类似信息就表示安装好了编译器
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:~$
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),看图:
3 安装STLinkV2
第一步是安装libusb库和pkg-config,后者一般是已经安装好了的。
sudo apt-get install libusb-1.0.0-dev pkg-config
第二步是下载源码,在某个有写权限的地方新建一个文件夹用于存储源文件,进入该文件夹然后在终端中输入以下命令从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: Couldn‘t 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开发板就能正确识别了,看图:
好了,准备工作都差不多了。
可是。。。你是不是现在还担心这套环境是不是真的方便使用呢?我们现在立刻马上就下载一个程序到板子上去运行试试。
我这里提供一个bin文件,这样你通过查看现在就可以确保程序已经真正下载到板上去了。
如果你的板就是原来的demo程序,那么先把这些程序擦除掉,使用下面命令
$ st-flash erase
然后使用下载命令
$ st-flash write t/STM32F4-Discovery_Demo_0x08008000.bin 0x08008000
下载成功后你的开发板就该有现象了(灯闪了有没有?按它它会切换模式了有没有?),看图:
测试完毕。
以上准备已经差不离了,我们正式开。。。团
去,你们先去st.com下载stm32f4-discovery的demo源码,我这里不提供该官方源码了,因为我一会后面要提供我修改过了的。。。
解压官方源码到某个目录,进去看后咱们选择一个最简单的example——IO_Toggle测试这个调试环境(入门),使用eclipse作为IDE。
1 启动eclipse,然后新建一个工程,名字就叫做stm32f4_io_toggle;
2 因为现在是为了入门,所以我想把其它无关的东西都删除掉了,以免碍着眼。复制STM32F4-Discovery_FW_V1.1.0/Libraries及STM32F4-Discovery_FW_V1.1.0/Project/Peripheral_Examples/IO_Toggle下的所有文件到工程目录中;
3 删除一些我们不想要的文件