需要在eclipse中安装st-linkv2才能进行stm32f4的编程。
st-linkv2 需要 automake、dh-autoreconf 和 libusb-1.0-0-dev。
终端如下所示:
abin@abin-Compaq-Presario-C700-Notebook-PC:~/ARMToolchains/stlink-master$ ls -a
. debian LICENSE .travis.sh
.. doc Makefile .travis.yml
.appveyor.yml etc README.md usr
build flashloaders scripts .version
ChangeLog.md .github src
cmake .gitignore stlinkv1_macosx_driver
CMakeLists.txt include tests
$ ./autogen.sh
bash: ./autogen.sh: No such file or directory
$ whereis automake
automake: /usr/share/man/man1/automake.1.gz
$ ./configure
bash: ./configure: No such file or directory
$ sudo apt-get install automake
[sudo] password for abin:
Reading package lists... Done
Building dependency tree
Reading state information... Done
automake is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 18 not upgraded.
$ whereis autoconf
autoconf: /usr/bin/autoconf /usr/share/autoconf /usr/share/man/man1/autoconf.1.gz
$ whereis libusb-1.0-0-dev
libusb-1: /usr/include/libusb-1.0
我已经从在 GitHub 上。
我一直盲目跟随这个 YouTube 视频它展示了如何在 Linux 中使用 Eclipse 进行 STMboard 编程并将代码转储到板中。视频制作者在 8:37 处执行了我正在尝试执行的操作。
操作系统是 Ubuntu 15.04,32 位。
我想知道如何编译它。我还想了解为什么我们使用诸如./autogen.sh
和其他命令之类的方法。
答案1
您正在使用的语法
./name-of-file
在当前工作目录中运行可执行文件。如果您看不到name-of-file
,ls -a
它将失败并显示您看到的错误,并且如果它没有运行该命令的用户的执行权限,它将失败permission denied
(如果根本没有设置 x 位,并且您尝试使用 运行它sudo
,则失败消息将是command not found
)
您尝试编译的程序使用该cmake
方法来设置构建环境,并且显然没有autogen.sh
(或configure
)脚本可以运行。
我刚刚成功构建此版本来自您链接的 GitHub 页面。这很简单,我没有遇到任何问题。
首先,您需要安装构建所需的所有依赖项。我不确定是否真的需要所有这些,但您提到无论如何都需要其中一些...
sudo apt install build-essential automake dh-autoreconf libusb-1.0-0-dev cmake g++
在屏幕截图中显示的位置创建一个目录(打开一个终端,cd /ARMToolchains/stlink-master
如果有必要...为什么不在主目录中构建?我建议将整个目录移动到$USER
,但无论如何......)基本方法是
mkdir build
cd build
cmake ..
当成功退出后,你可以运行
make
如果成功存在,你可以运行
sudo make install
将二进制文件移动到正确的位置。如果没有,您可以从当前目录运行它们。如果您无法获取已下载的版本进行构建(克隆主版本时经常发生这种情况,因为它可能正在调整中),请下载其中一个版本(如我上面链接的版本)并重试。