教程:ubuntu 下 vscode 编译 下载 调试 rt-thread stm32 程序

发表在 Others2019-8-7 00:25 [复制链接] 31 3027

本帖最后由 来一颗糖 于 2019-8-8 00:02 编辑
% G: P# }8 c( R
" O$ u8 `7 Z& R8 u先上结果:
$ b9 u- U% v9 o
! P3 t, `, J" U+ K1 a 调试效果预览图.png
$ }6 w& W9 a4 ]$ G# Y" R! Z, L# G* N& W7 C

步骤一:rt-thread 源码下载及编译

7 s. ?" |9 n$ k* r0 u+ u$ I

步骤一可跳过,参考下面官方文档链接里更详细的说明

3 o+ I+ `1 G- s8 N% r- S

官网教程链接

* w$ p* Y8 b' r' Z) ~& f7 b/ ?

下载 rt-thread 国内镜像源码

( A; N9 o6 z! o* l* Q

git clone https://gitee.com/rtthread/rt-thread.git

0 {# j& ^$ Y! d# l5 N) F& o

sudo apt install scons

4 V2 `# S: b( V# {0 t9 i

sudo apt install libncurses5-dev

) M' s# X$ \' `

解压 gcc-arm-none-eabi 工具链到指定目录:

# R  M) Q- a3 ^/ v/ d0 e  c  B' l

解压gcc

$ P3 S. T* m/ u, x' ?2 }2 Q( C

进入 rt-thread/bsp/stm32/stm32f429-atk-apollo 目录,执行命令 scons --dist ,生成一个干净单一的 stm32f429 工程。将 rt-thread/bsp/stm32/stm32f429-atk-apollo/dist 目录下的 stm32 工程拷贝到你喜欢的地方。

' s& H, k/ M& l9 |1 v2 f1 ]

进入刚刚拷贝的 stm32 工程里,编辑 rtconfig.py 文件。

' L; X: K. B* }

编辑rtconfig

" G, Z; o- x+ e& f" J' O7 V

将 gcc-arm-none-eabi 工具链的路径填入如下图相应的位置。

3 m4 }6 V! `( y" n$ D7 p( X8 a6 `

编辑rtconfig填入gcc路径

' [2 C6 P3 u- n/ z% l7 y

在拷贝的工程目录下输入 scons 命令即可编译 rt-thread 源码。

2 {, |  q; O' x$ ]

scons编译rt-thread

4 X( l6 N7 v; _# o

scons编译rt-thread

2 Y/ E) G8 T% v5 F2 t* d

步骤二: openOCD 最新源码下载编译及安装

, l; G0 z0 H2 e3 {

下载 openocd 在 github 上的最新镜像源码

+ o! ]/ g! t& _* N. c" P, k
git clone https://github.com/ntfreak/openocd.git
) S: e$ M) Z- @) |. }6 V6 K

openocd源码下载

& ^. Q! p" F2 A4 z: G4 k0 U8 F& L9 l* I

安装编译 openocd 需要的相关库

. M6 h0 n0 Z# S/ _$ Y' r8 b
sudo apt-get install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev
/ v5 G$ b; p0 U2 i% \. z  i7 [
sudo apt-get install libtool libsysfs-dev
# C; R) s5 A9 p. D

openocd相关库1

: W4 U/ Z+ p/ E% n6 d2 m$ ^3 K" D0 y

openocd相关库安装

* [3 G) b* C* i# j; U

编译安装

# L7 K2 A1 ?+ n! L; K0 T
sudo ./bootstrap
9 N4 {- f, e- |% `) X

openocd编译安装

+ v3 X8 H) W9 l
sudo ./configure
, E# e8 R! x( G0 G0 j/ l7 d

openocd编译安装

0 r1 u0 ~5 E! C2 i+ E. L4 E
sudo make
8 B) x; r! _5 R

openocd编译安装

5 V4 G+ l; Q4 C
sudo make install
: [1 @5 o# V0 F6 V: n# N+ i7 O

openocd编译安装

) G1 @# @& |5 c; J7 B

使用测试

- T+ a. K8 U* h; G8 @% k: y
openocd --version
( d8 o& `2 |$ T

openocd编译安装

/ }/ W3 Q! b5 G. L2 w
sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
8 p* }: L% {2 ^, k1 f! q: |6 G7 Y) f

我使用的仿真器是 DAP ,目标开发板芯片是 STM32F429 。如果你使用的是其他仿真器以及目标芯片,只需将 cmsis-dap.cfg  , stm32f4x.cfg 替换即可。

6 _. N& \/ F0 f9 t

openocd测试

* C7 }9 M8 H# o

上述步骤开启了 GDB 服务器,此时我们需要使用 telnet 登录到这个服务器,进行一些测试操作。

& h0 r' ^! Q$ B4 W) c7 \
telnet localhost 4444
1 F$ J% `) u2 K4 l# q! v

输入 halt 命令,芯片停止运行。

3 {9 m% Y% |' E9 H8 x
halt
0 u8 C. O, ^; I& K5 K

输入 reset 命令,芯片复位重启。

' Q: j* P( I7 |9 y3 n
reset
% y4 v: V# a1 B

openocd测试

1 }9 G8 w& {( G+ z2 F

如果要烧录 bin 文件到目标芯片,先输入 halt 停止芯片,然后输入 flash write_image erase /home/tang/Desktop/stm32f429-atk-apollo/rtthread.bin 0x8000000 烧录 bin 文件到目标芯片,地址为 0x8000000。如下图所示:

3 o! E- K! B/ P! L4 @
flash write_image erase /home/tang/Desktop/stm32f429-atk-apollo/rtthread.bin 0x8000000
! J* W2 s4 H- d( y2 j) P# `) Y- E

openocd测试

9 x& n& M. e) Q# A* y

以上步骤是 rt-thread 源码的编译与下载,后面等我整理完接下来的步骤截图,将介绍如何使用 vscode + openocd + gcc-arm-none-eabi-gdb 调试代码。

  W6 v& [8 [( p/ ]: o, }9 I3 z

步骤三: ubuntu 下 vscode 单步调试 rt-thread 程序

$ e7 ?% O3 q& S( ~, v* W7 A

效果预览

5 a, l5 h! k  G9 k7 Q  i7 N8 w

未完待续。。。。。。

; g$ {6 l  p; G$ d8 u. g+ v

调试效果预览图

, f; L  G8 k, z/ P1 s
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-8-7 00:30:45 | 显示全部楼层
本帖最后由 来一颗糖 于 2019-8-8 00:05 编辑 # f- l* Y. k0 G3 Y6 A% H. n  s: j

步骤三: ubuntu 下 vscode 单步调试 rt-thread 程序

5 ]3 W' J2 q5 Q

进入用户主目录,编辑该目录下的 .profile 文件,将 gcc-arm-none-eabi 工具链 的路径添加到环境变量中。

3 t5 n0 {# @2 P

将工具链加入到环境变量中

/ ~; f+ u; G1 _% n

在 .profile 文件末尾加上 export PATH=/home/tang/toolchain/gcc-arm-none-eabi-8-2019-q3-update/bin:$PATH

5 L9 o* I$ W& B1 F0 ]  x

将工具链加入到环境变量中

0 X$ H1 a% n6 z' n% |" B

输入命令 soruce ~/.profile 使刚刚配置的环境变量生效。

6 L  n* F3 s' X5 s

将工具链加入到环境变量中

. n+ D; A/ }/ ~8 w% f

进入我们先前拷贝的 stm32 工程目录,输入 scons --target=vsc 命令生成,vscode 的文件索引。

- p+ W4 w3 ]$ d4 ]; b, ^9 T

scons --target=vsc -s

3 }- w1 V: L% u

生成vscode文件索引

: W: r5 P4 Z; c4 S) k

输入 code ./ 命令打开 vscode 。

1 B3 }+ |4 h: c& e% `1 F3 T# \

code ./

" j2 E& _& R. n- x9 y  @5 }

打开vscode

0 t. {/ ]: }0 {, O& S

给 vscode 添加任务

' _4 V2 U8 K/ U0 }& t

vscode任务

: {5 Q# u; e% K8 ~  s1 a% ^

编辑 task.json 文件,添加如下三个任务:

) z0 Z# m9 ~. H. A; ]' p' m
    ( @5 c7 O8 A  z+ U( @* I6 J
  1. openocd server:用于开启 openocd GDB 服务器。
  2. . i5 c2 W/ b2 x# d
  3. rebuild:用于重新编译工程。
  4. " P0 ^3 k/ {$ e7 r# n, `
  5. build:用于编译工程。
  6. 4 ?' k" t# M) n' v- H# _; c
9 z% g$ c& r! N2 E  B- P

vscode任务

* B+ e6 ]" R& A6 W  m

task.json 文件内容如下:

' {* V- S* h; R; c3 u
{
% `: f1 {$ v7 a8 ^* I    // See https://go.microsoft.com/fwlink/?LinkId=733558
9 \8 j+ L. f  ~. X5 e" {    // for the documentation about the tasks.json format$ j7 F  s  Y7 j1 E7 `; k
    "version": "2.0.0",* g2 T( D5 X* `& `+ c. S" I6 {
    "tasks": [+ v5 h% s2 i4 ?. @
        {8 W5 Q  n& b0 e0 e2 _) @
            "label": "openocd",; L2 d" v- C. ?3 _; @, ]
            "type": "shell",. p1 V. B: G/ F7 r# m& Q) I
            "command": "sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg && exit"3 r) T" I7 F' J; ~$ V
        },% z  ?3 H& S* d9 d+ G! |
        {! J6 E0 K) L: F0 V* y' x! _/ ?' q
            "label": "scons",! y8 [  s/ T. p' v$ r: V
            "type": "shell",
* z4 Q7 u, J5 b6 I* s7 \% l            "command": "scons -c && scons -j4 && exit",$ u: ^- k) g( T& W% Q# [# u
            "problemMatcher": []* m! ^( }3 ]" e% K6 l/ C; U
        },
* |" u2 F" ~  G2 x8 S        {) C2 j$ V9 N# C9 Z; D6 x; B
            "label": "telnet localhost 4444",
' X7 }; e/ t/ P# G            "type": "shell",
; R' g  d+ j9 B9 N+ \0 A            "command": "telnet localhost 4444 && exit"* x8 |8 M) |) C: h5 G
        }
+ j& l1 z9 w1 a    ],
9 Z/ \1 i9 `" F' K. D' J" K; L+ y}
+ K; r- a7 r& x

为 vscode 添加 Debug 配置

! I* u3 |8 A+ @2 r0 `9 L& Z1 i

vscode添加调试

3 ~  a7 l% W7 V3 q

编辑 launch.json 文件, 需要注意修改的地方如下图红框框所示:

# i, |4 F! c! y$ D. B. H

vscode添加调试

# ]; u0 l+ U+ y+ n" T) o

launch.json 文件内容如下:

8 j8 ]! }$ @: {+ b
{% t/ t2 q8 o* o0 ^! x
    // 使用 IntelliSense 了解相关属性。 ' X' n8 ?; e! M
    // 悬停以查看现有属性的描述。
& l% J6 Q" G/ \& O    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387: c1 ]( r2 E6 n7 Q) W
    "version": "0.2.0",
% W3 @9 a, X( u% }  B% S    "configurations": [+ ]4 u9 q! n8 C, j% z7 ?+ j
        {) M6 q, ]  n; ^
            "name": "debug Launch",
  T1 e! }' O: F5 g- U% c            "type": "cppdbg",
0 M1 u7 j* c7 r, D' a            "request": "launch",1 }9 f! O$ m! Q
            "targetArchitecture": "arm",
7 i- X4 y! i2 E4 \4 W  m2 S            "program": "stm32",* k1 K8 P! Z, i/ i: H$ Q
            "args": [""],
8 q9 q1 ?2 e4 [  D            "stopAtEntry": true,
9 q4 g  B8 x9 c; b; J            "cwd": "${workspaceFolder}",
+ r, n1 ]. T. |9 d) t" y            "environment": [],
5 t6 O' ~( l( B$ I" b! m4 i9 {6 i            "externalConsole": true,
8 s4 u* ]1 q( R  W5 S            "MIMode": "gdb",4 N6 F* ~0 P9 n- i3 `
            "miDebuggerPath": "/home/tang/toolchain/gcc-arm-none-eabi-8-2019-q3-update/bin/arm-none-eabi-gdb",
* i6 {& D* A/ L1 q7 ^6 L            "setupCommands": [0 Q. @5 j3 |( O7 d1 Q
                {, p4 T+ N) {) Z* M, S, L
                    "description": "Enable pretty-printing for gdb",; v3 R2 @+ d9 F0 Z
                    "text": "-enable-pretty-printing",/ D- B, [# k. t( X
                    "ignoreFailures": true
1 o) O; \$ O8 q  u! R                }! I6 U' U9 ~) b7 V7 j/ _
            ],
7 k" ]& ~7 b- N! E            "launchCompleteCommand": "None",1 B: S9 i0 x1 C1 G
            "miDebuggerServerAddress": "localhost:3333",
( b( @- x+ N+ N$ R            "customLaunchSetupCommands": [
6 C  ]; z) A- ?6 V                {8 V7 b3 _7 p4 C) p: n4 V4 j
                    "text": "target remote :3333",
. ]( R) k  d/ `1 H) O' Q                    "description": "connect to server",- t( F/ X% V5 d0 c' {
                    "ignoreFailures": false
2 P& c7 ^: D) a- O0 X" w/ Z                },
4 g  R) _1 C+ X! B5 l' A# q                {
; M2 `( l/ v0 b2 J% s: Y8 {                    "text": "file /home/tang/workspace/stm32f429-atk-apollo/rt-thread.elf",9 f0 |" h2 J: g& b/ |
                    "description": "load file to gdb",
; j. Z6 L+ M; W( b                    "ignoreFailures": false1 J7 Y$ J$ Q) X
                },: {+ U* F1 n9 Z5 s2 |
                {0 k/ n8 [' ]& G( O
                    "text": "load",
/ j4 K- X4 d9 e8 v! a9 |                    "description": "download file to MCU",
0 F3 S- ]# J! h6 ^7 {                    "ignoreFailures": false
6 o& L# w  G! D& z. G                },* {6 v+ M2 k0 m# Z4 U  I, A
                {
6 F1 E5 ]2 W' r% n2 W: k9 G                    "text": "monitor reset",
$ i1 i$ W% V) S% @7 R$ {                    "description": "reset MCU",
. `6 j' |4 [7 d  I, c5 y7 l. g                    "ignoreFailures": false5 K' [$ v% B  T9 n: p* i/ i
                },
. x  s6 |" r; N9 R; T                {
" i& ]6 x1 q. `" _' Q" [, d                    "text": "b main",5 Z5 A( O0 Z  n& C5 O
                    "description": "set breakpoints at main",
0 K. u% R3 [7 I4 c  A9 h                    "ignoreFailures": false6 F! j7 Q. Q( m) q0 S9 Z
                },4 n1 g# Y: }6 z- {2 e& R
            ]% o: X: k0 ?+ Y  m2 ?3 d/ J
        }
/ G. u% N7 Y* O    ]
" l) X. X/ w, v% c) Y}
. H3 R0 b- H+ F0 D8 P! X

最后一步

7 ]0 E, R, G( F( M, i) k# [

在 vscode 界面下,按 F1 键,输入 Tasks: Run Task 回车。

% D5 ]# y6 U& _* F5 v' ~- ?

启动调试

( W) Q' o5 Y) G- w* e3 ~: s9 C! d

上下键选择 build 编译工程。

* y9 A) I0 w# g4 \1 n( J' Q

启动调试

" p  J: x- z3 I

启动调试

0 X4 _* Q" q9 ?( F$ m

上下键选择 openocd server 启动 openocd 服务器。

9 u1 Y5 f: }1 N1 T0 Z

启动调试

- v1 Y! _+ u5 o. c5 r

启动调试

3 B5 |6 Q( c  R! P/ `# {3 }8 S/ W

输入 sudo 密码

6 Q$ m% d3 A# l, V! m: x

启动调试

" n' f* ?( U+ u/ K7 p9 L

按 F5 键 或如下图所示,启动调试。

! l$ E" D0 U4 r7 \8 P

启动调试

. j, p9 k* |3 x$ w1 K

开启调试

. Q1 k) l4 }6 G/ C' `& n2 k

启动调试

2 S) {/ x8 K4 G# n" I

gif)

0 O! `# N- V4 D& }! v
使用道具 举报 回复
发表于 2019-8-7 08:47:35 | 显示全部楼层
niubility
使用道具 举报 回复
发表于 2019-8-7 09:36:15 | 显示全部楼层
很强势
使用道具 举报 回复
发表于 2019-8-7 15:41:58 | 显示全部楼层
沙发板凳地板都没了,还是要说这很强,另外一种调试方式
使用道具 举报 回复
发表于 2019-8-8 14:27:17 | 显示全部楼层
new balance
使用道具 举报 回复
发表于 2019-9-10 22:55:22 | 显示全部楼层
强,喜欢这种折腾
使用道具 举报 回复
发表于 2019-9-15 17:17:05 | 显示全部楼层
厉害!!
使用道具 举报 回复
发表于 2019-9-20 21:34:22 | 显示全部楼层
默认的项目debug一次,以后会再也连不上,cubemx里面需要选择sys,wire debug模式,楼主你可以重复断点么?我这边用stm32f103c8t6是这样
使用道具 举报 回复
发表于 2019-9-20 22:33:27 | 显示全部楼层
921742079 发表于 2019-9-20 21:344 v+ w' R9 q( Z
默认的项目debug一次,以后会再也连不上,cubemx里面需要选择sys,wire debug模式,楼主你可以重复断点么? ...

; S+ G- P8 _* D3 C7 c, ~第一次能调试,断开连接后就再也不能调试了吗?
使用道具 举报 回复
发表于 2019-9-20 22:53:21 | 显示全部楼层
666
使用道具 举报 回复
发表于 2019-9-21 09:47:40 | 显示全部楼层
来一颗糖 发表于 2019-9-20 22:334 \/ a. ?: G1 d& I- {6 A) s4 H
第一次能调试,断开连接后就再也不能调试了吗?

9 w+ M5 N* t* W0 X- M# n8 F对,我测试过,必须要在cubemx里面的pinout & configuration里面设置sys,wire debug,否则,在clion下断点会跑飞,vscode当然也一样,因为都是用的openocd,设置以后,都很好。5 K( C8 h3 ^( O6 a) r/ [9 A6 s+ M- P. |
裸机程序和使用rtt是一样的。
使用道具 举报 回复
发表于 2019-9-21 11:37:27 | 显示全部楼层
断点调试设置:以stm32f103c8为例
4 I# t# ]- _, Y" k! j5 tstm32f1xx_hal_msp.c里面# k  c& \3 y, k; O

& |$ e/ P7 `. Lvoid HAL_MspInit(void)函数
$ b" O# P5 z4 C__HAL_AFIO_REMAP_SWJ_DISABLE();7 V) g+ f/ H8 V* k+ Q: K# }
换成4 ^3 d+ B' E" a! J- }
__HAL_AFIO_REMAP_SWJ_NOJTAG();0 L/ V) ~) J% b, N, i8 i
即可支持断点调试
使用道具 举报 回复
发表于 2019-9-21 14:40:41 | 显示全部楼层
921742079 发表于 2019-9-21 09:47- Y1 U, P% A5 E- X
对,我测试过,必须要在cubemx里面的pinout & configuration里面设置sys,wire debug,否则,在clion下断 ...
  1. openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
复制代码
+ q- a* r1 o5 i

2 O5 }; h5 d3 f) P% m' H仿真器的配置文件 cmsis-dap.cfg 好像只支持 SWD 模式?我记得这个配置文件有模板,用户可以自己写配置文件选择 JTAG 或是 SWD 调试。不知道这么配置的,有时间去研究研究
使用道具 举报 回复
发表于 2019-9-21 16:37:09 | 显示全部楼层
来一颗糖 发表于 2019-9-21 14:408 a! q! g+ Q' G9 |6 W
仿真器的配置文件 cmsis-dap.cfg 好像只支持 SWD 模式?我记得这个配置文件有模板,用户可以自己写配置 ...

1 d* f& p5 z8 i/ E% q0 M我的jlink_board.cfg$ {, z0 p: d/ i9 H$ Z
  1. source [find interface/jlink.cfg]; s" |: q: E+ l( d; j
  2. + h* \% N5 T' e) A. C' E' L) Y9 K& y
  3. transport select swd
    & [, C" E, I% L* b& X
  4. 2 ~8 `" S' \6 Q* L% o
  5. source [find target/stm32f1x.cfg]
复制代码
这个只是启动openocd,需要板子上允许调试的,我用scons构建的项目,改了代码,可以单步调试了
; v6 @8 O6 g- x# [. _! L( \0 J+ b# G
使用道具 举报 回复
发表于 2019-9-24 16:34:27 | 显示全部楼层
楼主你好,这个你是怎么弄的?rt-thread的console怎么撸出来? 截图_2019-09-24_16-28-04.png 1 X0 u" I) U6 a; \0 V
使用道具 举报 回复
发表于 2019-9-24 17:17:48 | 显示全部楼层
921742079 发表于 2019-9-24 16:34( q) J* w1 t6 C$ W' h7 `
楼主你好,这个你是怎么弄的?rt-thread的console怎么撸出来?
; U, a/ H+ f2 R+ S
minicom
使用道具 举报 回复
发表于 2019-9-24 18:24:48 | 显示全部楼层
本帖最后由 921742079 于 2019-9-24 18:30 编辑 ' a' F2 s, C+ U. A
来一颗糖 发表于 2019-9-24 17:176 f0 c( _# T( R7 M( t9 s# h
minicom
2 K/ v# C' m$ `# }
vscode的minicom插件?你这个不是集成在vscode里面的么?在vscode的终端手动minicom?了解了,感谢,我还以为是啥牛逼的插件, y1 @' p) B6 s' [% N* \& O
使用道具 举报 回复
发表于 2019-10-9 09:48:42 | 显示全部楼层
请问有在win7下VScode调试stm32工程的教程吗?目前只看到使用编辑功能的教程,谢谢
使用道具 举报 回复
发表于 2019-10-9 15:43:20 | 显示全部楼层
Carry 发表于 2019-10-9 09:48" D9 {* \  q+ X
请问有在win7下VScode调试stm32工程的教程吗?目前只看到使用编辑功能的教程,谢谢 ...
) }5 v/ {; X! R6 B6 ~: L
把 1.gcc 工具链;2.openocd 工具换成 windows exe 版本的就可以了。
3 @8 w3 {; }+ M8 t+ J* X" ^. i9 _; S3 b- c- `9 W- V0 M

3 d1 |5 M7 G8 t" T. A' r6 o下面是在 windows 下的 openocd.exe 下载地址。
  R* T# u4 a' @; ?& @/ x0 b! l% @  D
) |' ~2 x/ T8 K  q5 ^' Xhttp://gnutoolchains.com/arm-eabi/openocd/0 j- R+ J& G2 M

' F/ a) S" b. d1 d+ s% b. ~6 z至于 gcc 工具链,rt-thread 的 env 工具是有自带的。
使用道具 举报 回复
发表于 2019-10-9 16:00:04 | 显示全部楼层
本帖最后由 Tonny 于 2019-10-9 16:01 编辑
- ?5 G1 D8 b4 m/ N; X
9 A$ _7 [6 s0 O) w! l+ E来自底层的仰望~今天刚配置好manjaro
使用道具 举报 回复
发表于 2019-10-9 21:26:53 | 显示全部楼层
来一颗糖 发表于 2019-10-9 15:43
( r" u7 x2 B' |; q. U把 1.gcc 工具链;2.openocd 工具换成 windows exe 版本的就可以了。

7 V2 n& l8 _' @# G# _- G0 Q这样就可以像MDK5那样,可以软件仿真了吗?
使用道具 举报 回复
发表于 2019-10-9 22:27:23 | 显示全部楼层
Carry 发表于 2019-10-9 21:26+ _3 n+ {4 R# j1 \2 r
这样就可以像MDK5那样,可以软件仿真了吗?
7 d8 P, |% b$ ~( q9 d
恩 是的.0 c" g4 i- B0 l: W$ k

* r$ ?. d& l. g3 B2 k6 {MDK IAR 这些 IDE 的本质也是这样的.
使用道具 举报 回复
发表于 2019-10-11 06:44:28 | 显示全部楼层
来一颗糖 发表于 2019-10-9 22:27
: W( x. y, ~) i9 r8 H+ q% {% k7 n恩 是的., e9 H" {8 o$ d/ ^
& ^% M. h1 m( J- D
MDK IAR 这些 IDE 的本质也是这样的.
2 X* b6 q6 g$ l0 Y/ g5 V% s) z
sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg- c  L7 c& b8 Y, w  _3 x
我使用的仿真器是 DAP ,目标开发板芯片是 STM32F429 。如果你使用的是其他仿真器以及目标芯片,只需将 cmsis-dap.cfg  , stm32f4x.cfg 替换即可。
( j: q8 c, J" H9 h$ u7 A) g& M% a7 A' V' l' H! h( M" I
请问这一步在win7下怎么进行呢?
使用道具 举报 回复
发表于 2019-10-11 08:44:52 | 显示全部楼层
Carry 发表于 2019-10-11 06:440 _- O& e9 _4 n$ d7 n; n- }
sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openo ...
. q# G5 P# E4 c  W& D% @1 _) A
用 rtt 提供得 env 工具,或者 windows 的命令行窗口,输入这个命令:7 z% T9 t0 X& E0 E
; w) i. W5 V4 O6 d" O3 e0 r
openocd.exe -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg) U- }, c$ X1 f# K, x" `2 g

+ e! c! t; e& X! _+ X) P+ |(记得给 openocd.exe 设置环境变量)
使用道具 举报 回复
发表于 2019-10-11 08:58:13 | 显示全部楼层
来一颗糖 发表于 2019-10-11 08:44% J6 q) d9 u/ z7 ~3 W: p
用 rtt 提供得 env 工具,或者 windows 的命令行窗口,输入这个命令:
3 M+ W6 M! [( w! B- w, f% i
6 v% l' N" d& u" d  Kopenocd.exe -f /usr/local/share ...
! P4 Z& Y$ H$ f$ v1 T3 P6 m
将 rt-thread/bsp/stm32/stm32f429-atk-apollo/dist 目录下的 stm32 工程拷贝到你喜欢的地方。4 l. t* Q2 R3 X7 a0 t. `
: a' L: ?. s1 b
进入刚刚拷贝的 stm32 工程里,编辑 rtconfig.py 文件。3 C3 c# ?$ h. Q% C0 S9 J

" }% _7 y# \6 @, y( @请问在win7下也要编辑这个rtconfig.py文件吗?我怎么知道我的gcc工具链在哪个位置呢?
使用道具 举报 回复
发表于 2019-10-11 09:25:21 | 显示全部楼层
Carry 发表于 2019-10-11 08:58
0 n+ D/ ~, W* Y  {0 I; ]' L将 rt-thread/bsp/stm32/stm32f429-atk-apollo/dist 目录下的 stm32 工程拷贝到你喜欢的地方。7 p& }- \! L* o( R
2 K2 s" [& E$ @: @8 J
进入刚刚 ...
5 N7 G* w4 ]- f
如果是使用 rtt 的 env 工具,那就不用改。
* s6 S' |! `( C( x0 g2 m3 |
* \1 |7 {; Z4 z9 Y- v在 env 目录下是有一份 arm gcc 工具链的,自己找下。
使用道具 举报 回复
发表于 2019-10-11 11:35:57 | 显示全部楼层
来一颗糖 发表于 2019-10-11 08:44
# v  U; [( q8 `8 N6 a2 h3 ?! j用 rtt 提供得 env 工具,或者 windows 的命令行窗口,输入这个命令:& W3 ~3 s0 w. O+ W
8 M, f  g+ }8 I6 }; z
openocd.exe -f /usr/local/share ...

% a! G, {& D3 `请问我在win7下下载好了OpenOCD, 是不是直接可以从骤二: openOCD 最新源码下载编译及安装】跳到
& t: ?3 R1 W# b【sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
" w4 F+ f# u0 V+ M- l
我使用的仿真器是 DAP ,目标开发板芯片是 STM32F429 。如果你使用的是其他仿真器以及目标芯片,只需将 cmsis-dap.cfg  , stm32f4x.cfg 替换即可。】
这一步?
我现在下载好了OpenOCD目录是E:\OpenOCD-20190828-0.10.0
现在要怎样安装环境变量呢?
7 l5 g  T4 f# Z! y- u! }
还有就是这个教程是不是在DAP插在开发板上的状态下进行的?
5W0O]M)0DLJ0Q02TI)241)9.png
T_RBQ1Y4QWD$4Z[VIQ@IOUG.png
使用道具 举报 回复
发表于 2019-10-11 13:48:59 | 显示全部楼层
Carry 发表于 2019-10-11 11:35/ ]* G4 ?  y3 Q( r4 |
请问我在win7下下载好了OpenOCD, 是不是直接可以从【步骤二: openOCD 最新源码下载编译及安装】跳到
- B7 R6 V% i5 p% }【 ...

! q0 x+ G; e- ?3 s4 }& X* pwindows 下 vscode 开发环境的搭建 按照这个链接里的来吧 https://www.jianshu.com/u/b1ffe963c188  P: b5 d& `* y" A' H! R# b# C
9 S5 Z% }1 i0 C* d  ^
7 i0 x/ c8 C) y. A  D

$ ?4 c6 c- k7 t& [4 @% |(其实我觉得 windows 下折腾这个没啥意义。。。rt-thread 官方马上要出一款 正式版 IDE 了,免费的,以 邀请码的形式发布,可以关注下 rt-thread 的公众号)
使用道具 举报 回复
发表于 2019-10-11 15:16:23 | 显示全部楼层
来一颗糖 发表于 2019-10-11 13:48* s5 W3 b0 ]. P7 j5 r: Y3 m
windows 下 vscode 开发环境的搭建 按照这个链接里的来吧 https://www.jianshu.com/u/b1ffe963c188
! o2 o/ U% f$ l; h2 S( q
感谢
使用道具 举报 回复
发表于 2019-10-12 13:50:48 | 显示全部楼层
来一颗糖 发表于 2019-10-11 13:48' q5 r0 F. ^: K3 U" f! h
windows 下 vscode 开发环境的搭建 按照这个链接里的来吧 https://www.jianshu.com/u/b1ffe963c188
. f. h2 D+ ]* e( R% r1 ~$ F5 E
您好,我跟着第一部分的步骤走。
9 t# y  o, D* j; f./configure --enable-stlink --enable-cmsis-dap
5 p4 H5 s7 F: K6 Jmake0 L: F' s' W! g6 a

- o  U8 u, t6 ]5 I1 Z4 U; xmake install  x+ l, D5 c: e7 y
9 |3 @5 I1 p* h) j) }

3 a0 s( x3 B0 |6 X2 r& B在make之后,会遇到这样的报错,我确定我环境都是跟着一样装好的。请问要怎么解决呢。折腾一天了。
" k5 v1 y; x" [) N
: r. g9 `$ k9 u4 R+ s; H! B2 @0 s2 r

! U. f" W, _/ V: h3 b
# U  P3 `. G1 ?( `: F+ D. r+ {- O0 i  ]; {7 O' k/ p5 G5 {( t
$ v6 w* ]( i$ s6 h; c* g
_~DNQN]GHJ]1N7((1D)WVCH.png
使用道具 举报 回复
发表于 2019-11-22 10:29:54 | 显示全部楼层
这个很不错
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  1. 7 主题
  2. 984 帖子
  3. 984 积分

Ta的主页 发消息

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

快速回复 返回顶部 返回列表