本帖最后由 andeyqi 于 2018-12-29 10:08 编辑 ! C5 B+ \9 j" A9 G4 X0 X8 K" c. ?/ E) q) y7 }( U! V 之前在linux使用过JLINK方式开发stm32,不过官方的板子都是自带的STLIK,偶然间发现一个开源的STLINK驱动,终于可以再linux调试自带STLINK的板子了。 ! A, b1 e$ V& ^9 N, g8 W' v & D0 S; `* a2 w$ n①获取源代码:( }3 ~2 ?( G! u1 x+ \7 D& l & L1 t- |7 j2 B! U. X ' S$ z& G, v8 B" C1 y( C/ I/ Z7 Phttp://github.com/texane/stlink% W7 g% H; x- H 8 P: {0 n7 c Q6 b% W' U7 d ②安装依赖的工具包8 F9 K# g+ [: F- x) v3 Z7 ? 编译工具使用的是cmake和libusb,最低版本要求为 2.8.70 V" |8 `3 M1 m1 q6 F4 @ cmake_minimum_required(VERSION 2.8.7)复制代码sudo apt-get install libusb-1.0-0-dev cmake复制代码UBUNTU安装版本3.5.1能够满足最低要求 2 F, m7 r6 F, @4 S# \7 bandey@andey-VirtualBox:~$ cmake --version# ~" T% l3 l& y5 y9 y3 c0 `- e cmake version 3.5.1 4 `! g+ q9 l V6 T3 r. B8 l: v! w1 x6 \ CMake suite maintained and supported by Kitware (kitware.com/cmake).8 c% @' a0 N/ m 复制代码8 Q6 V ]3 R" U9 t0 P % z+ u- Z; Q" H1 E) F# J) t+ t ③编译安装源码( v5 H2 z" k* ~, u! W9 X 6 @/ ]$ D2 V7 W% H. e4 ~4 \% E* [ 安装过程参照如下链接文档: 8 ^+ d/ {) K/ O. A2 n+ B: V# s6 S1 f 9 Y2 E" V. T3 w @! u4 ~0 @; t# d {" z http://github.com/texane/stlink/blob/master/doc/compiling.md5 g/ q5 k: t8 _+ H9 }# z : Y0 y$ W! i0 [, x" Y2 _ ④运行效果安装完成后,会在系统中安装st-util 工具,使用方法如下:1 D& ~3 ?' n7 q4 S2 _2 @2 ^; e ^Candey@andey-VirtualBox:~$ st-util --help % p6 j/ P4 y$ r7 C: dst-util - usage: / [4 q7 t( ?" p: Q C7 o) H 7 c9 U' q% k2 _) L, e -h, --help Print this help ' |, i9 Y" w5 g8 X$ v -V, --version Print the version " p! H# Q- f6 l -vXX, --verbose=XX Specify a specific verbosity level (0..99) 1 \3 V# L/ [& R! M4 J6 `: }- s -v, --verbose Specify generally verbose logging" K+ v; |$ [" `$ m" d6 W' D -s X, --stlink_version=X r4 Y8 Y; [0 N B9 x Choose what version of stlink to use, (defaults to 2)/ v0 O* |2 M2 J! ]$ Z n -1, --stlinkv1 Force stlink version 1) a2 d% h6 R# a6 }, V- S -p 4242, --listen_port=1234 2 _! T% f( ~% V0 S7 b% f Set the gdb server listen port. (default port: 4242) " l7 l8 S! V7 d( N! _& x -m, --multi; P/ H" X: w0 t& a! Q Set gdb server to extended mode.- h9 m1 Z$ C& |( }/ u, k( G st-util will continue listening for connections after disconnect. 2 N E6 k/ |' q# X! Z& e -n, --no-reset: j: c* o0 _4 _ ^ Do not reset board on connection. ) \! |) ?5 ]' B' l --semihosting2 H4 M4 K2 N# L0 L f4 {+ q Enable semihosting support. 1 z# j2 P9 }0 \7 G& Z --serial <serial> + {2 x' u3 c* o) H" | Use a specific serial number. . y7 b' ^+ @" x( S+ ]: t( N) I, C5 g# H3 l7 i* L. A The STLINKv2 device to use can be specified in the environment$ B0 Q. ?; J: O) I variable STLINK_DEVICE on the format <USB_BUS>:<USB_ADDR>. * u" q' o% q2 z% `: l. ~复制代码 ( Q$ n0 q6 X) b! K7 I+ \- x2 `3 h1 i 8 }: T. L) I& Q3 bandey@andey-VirtualBox:~$ st-util+ j! ^# e; b {, F0 H5 @ st-util 1.5.14 K: W5 ^% k& c 2018-12-28T12:06:28 INFO common.c: Loading device parameters....0 l) ~+ L9 W* Z. ` 2018-12-28T12:06:28 INFO common.c: Device connected is: F04x device, id 0x10006445 + e3 d' i; K: J4 o8 N4 X$ q. B; ], G2018-12-28T12:06:28 INFO common.c: SRAM size: 0x1800 bytes (6 KiB), Flash: 0x8000 bytes (32 KiB) in pages of 1024 bytes 4 R7 F4 C- l2 A7 X/ f. X# p2 W; Z# L( I2018-12-28T12:06:28 INFO gdb-server.c: Chip ID is 00000445, Core ID is 0bb11477.7 g9 [1 y" T9 Q. [9 j8 _ 2018-12-28T12:06:28 INFO gdb-server.c: Listening at *:4242...) x! o( n. ?# W+ ]$ t O 复制代码, w+ v1 t; G: |- _1 l3 F% @ 除了命令行的工具外,还会安装带ui的:stlink-gui工具 7 ^! N! j% K3 g0 n7 ?$ q% R% u连接后会自动识别出芯片的型号,coreid等信息,跟jlink的下载界面很相似,熟悉的味道,熟悉的感觉。 / E5 j6 E, D1 Z1 h$ p7 f! s- N6 ^$ T1 m) l; C/ E3 p (, 下载次数: 11) 上传 点击文件名下载附件 4 R8 G3 }) J4 X" x. s! F: \, C1 p* E# v$ x1 Y ' D" V3 B0 z& E$ |" E. H: C1 j2 b + v3 r K& |% S# v( e9 J g( b5 Y6 c. h) m* _7 S" S2 A3 ~ 最新master 源码安装包如下:5 e% J7 w. u) Z$ B; f# F # U* b" v4 W; x (, 下载次数: 45) 上传 点击文件名下载附件 ( R ~) e( O/ _& Y" G1 U
2019-07-27T09:26:15 INFO common.c: Loading device parameters....$ B6 L( K: V8 S+ p: J4 y
2019-07-27T09:26:15 WARN common.c: Invalid flash type, please check device declaration
2019-07-27T09:26:15 INFO gdb-server.c: Chip ID is 00000000, Core ID is 00000000.* [+ G% I# l; P- b/ J4 m
2019-07-27T09:26:15 INFO gdb-server.c: Listening at *:4242...
是因为您这个版本还不支持这个吗?* u: O: M) }1 x6 a, F
上面应该是UBUNTU,楼主笔误,另外建议还是硬盘安装Linux好。其实个人感觉在Linux下开发STM32远远没有在wⅰn下方便,不建议新手使用,只适合大佬使用