
本帖最后由 QianFan 于 2015-10-27 19:54 编辑 记事本用习惯了,论坛写帖子的时候动不动Ctrl+S一下。。。 在Ubuntu下开发STM32,两个常用软件是必须的。一是我们的交叉编译器,arm-none-eabi-xxx。二是st-link的驱动。这里的st-link并不像我们windows下面用的那样,一路点Next就好了。这里我们需要从github上面下载源码,自己编译,安装。st-link不仅仅是我们下载代码的工具,更是我们使用gdb调试的基础。 linux对USB虚拟串口的支持: linux下自带虚拟串口的驱动。不需要手动安装。linux对串口的命名不同于windows。像CP2102之类的USB转串口,是ttyUSBx,虚拟串口之类的是ttyACMx。我们先来找一下串口的编号。所有的设备都在/dev目录下。那么插Nucleo前后/dev中的新增项就是Nucleo的串口。
常用的串口软件: 在linux下工作,串口软件我更喜欢minicom。他小巧,使用控制台窗口。有多种模式可以选择。当然,putty也是一个不错的选择。
st-link的安装: 在github上有st-link在linux下的源代码。为了操作简便,还是在使用st-link之前将它升级为v2。
arm-none-eabi-xxx的安装:http://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded arm-none-eabi-xxx不仅仅包含gcc,g++,而是一整套完整的工具链。像CoIDE,RIDE,TrueStudio这些都是使用它作为编译工具的。只不过在命令行的基础上,套上了一个Eclipse的壳子罢了。
|
请教一下:安装stlink,你有没有遇到过下面的情况:
abyte@u-server-amd64:~/stlink-master$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking whether make supports nested variables... no
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/home/abyte/stlink-master':
configure: error: C compiler cannot create executables
See `config.log' for more details
abyte@u-server-amd64:~/stlink-master$more config.log This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by stlink configure 0.5.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure
## --------- ##
## Platform. ##
## --------- ##
....
...
...
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
configure:3102: $? = 0
configure:3091: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3102: $? = 4
configure:3091: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:3102: $? = 4
configure:3122: checking whether the C compiler works
configure:3144: gcc conftest.c >&5
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
configure:3148: $? = 1
configure:3186: result: no
configure: failed program was:
...
...
checking for sys/mman.h... yes
checking sys/poll.h usability... yes
checking sys/poll.h presence... yes
checking for sys/poll.h... yes
checking for mmap... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for USB... yes
checking for usb_path2devnum in -lusbpath... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
aoems@ubuntu:~/stlink-master$ gcc --version
gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010
Copyright (C) 2015 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.
aoems@ubuntu:~/stlink-master$ sudo make install
...
make[2]: Entering directory '/home/aoems/stlink-master'
/bin/mkdir -p '/usr/local/bin'
/usr/bin/install -c st-flash st-util st-term st-info '/usr/local/bin'
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/aoems/stlink-master'
make[1]: Leaving directory '/home/aoems/stlink-master'
aoems@ubuntu:~/stlink-master$
安装时,显示没做任何事情,不明白安装是否成功。
已经执行了的。这一步没报错误。---我的ubuntu是14.04 server版。另外我编辑了上一个帖子,吧config.log的内容也附上了。
./autogen.sh的运行结果:
abyte@u-server-amd64:~/stlink-master$ ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --force-missing
autoreconf: Leaving directory `.'
对啊,专门给橙子哥留的啊
一开始的sudo sh ./autogen.sh执行了吗?
你下载的文件没有被改过吧。看这个地方
configure:3091: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
应该是gcc -v才对啊。要不你重新下载一次。在重新编译试试看。不行的话我给你发一份编译好的也行。这个我也是照着github上来的。有问题可以去github上给开发者留言看看。