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

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

本帖最后由 来一颗糖 于 2019-8-8 00:02 编辑 ! |1 }& x! L/ J; \7 }8 _% M  a
: a8 e5 g1 U; H3 f" e( b5 P
先上结果:& m- b$ ~0 ]9 e* D/ J4 l) ^; w% D
: I% r, S7 [% ~9 C" F5 J
调试效果预览图.png " @$ h2 q# n9 n2 K1 a  \8 g

9 Z* \( X, l; {! _, R

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

/ D2 Q7 a/ a# k% H  ~

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

( P! A; R5 i2 q2 ~

官网教程链接

' `$ U3 K, f5 L6 m: Y

下载 rt-thread 国内镜像源码

+ l) j) t7 B3 n. b0 h% d

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

. k" }: B7 f' ^# U: o* m4 W

sudo apt install scons

* o* `2 e; [8 y7 f$ z* f0 N. A. M

sudo apt install libncurses5-dev

1 g" @* p% R  Z  |

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

  r0 x( i* V0 `( u9 U

解压gcc

6 t, s! i; G' R

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

* c! _% P& L6 v) \+ Q

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

. u: C9 s$ {: o) g! q6 w7 [9 _

编辑rtconfig

4 z2 S# ?% O5 v! ~; k

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

; L: k4 W8 E& l, q& P5 i. Z

编辑rtconfig填入gcc路径

9 c4 ~; R0 A  `

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

9 n" }3 P/ n; J9 k. h* v, Q

scons编译rt-thread

3 C+ n: z, N4 v$ }; q% ?' b- O* X

scons编译rt-thread

7 ^, l. Y" p2 g( D

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

4 C. a& J8 C7 ^$ x1 Q; k

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

0 q' f. E( B" A' _: d
git clone https://github.com/ntfreak/openocd.git
1 l6 W1 K; e. M5 J' @9 Q) y, A" v

openocd源码下载

9 e  J5 |7 Q6 c3 t! u4 x  |

安装编译 openocd 需要的相关库

2 t5 ^" J" {: u2 B% L
sudo apt-get install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev
: F7 |/ c. E; h  p( w3 k! I& V5 ^
sudo apt-get install libtool libsysfs-dev
# i! Y0 y/ j; i* T- _1 J8 B

openocd相关库1

; X8 e" ?  |, _, M1 O

openocd相关库安装

5 d/ _1 @$ b# L; ^; {3 o% n

编译安装

3 K- @! w5 ?. _
sudo ./bootstrap
; F, W0 K( _) w( b. C; @

openocd编译安装

- L& P  H, `) V4 k. I; L9 p
sudo ./configure
7 `4 D8 a, W9 C2 ?  Q! K/ g

openocd编译安装

/ H6 J5 X/ A5 f5 x/ w# @
sudo make
% Q1 |/ R7 h+ W1 g' _3 K& \) {

openocd编译安装

4 {$ b: z6 G  l. u2 z' |+ o( P
sudo make install
  P6 t& D. h* E: K

openocd编译安装

& G3 T1 L7 L. v  n4 Z6 E! c

使用测试

; ~) p" d. U4 U8 u8 a% P
openocd --version
0 s8 z2 F  F6 q; b5 Z

openocd编译安装

% L1 k( ?, \" e4 W2 y
sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
4 _& E7 T  c' N% p9 f& D# D9 z

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

# H6 y9 ^. x% F# a( E

openocd测试

' f9 B' h7 T8 P  F. B( |# Q

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

# l# c# ~, D& y* P4 a3 t$ a( W# G$ s
telnet localhost 4444
6 f4 N7 @4 l- h) [

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

- H; B7 g; b( [+ W* q5 w
halt
( F5 o" A1 s6 p. n( C

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

  A7 n4 ]; A, g# z% A  ]
reset
" y1 h7 H- D' l* g# `; ]

openocd测试

! i8 i5 h! Y4 ]+ |: P

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

( t" v$ c( f/ l
flash write_image erase /home/tang/Desktop/stm32f429-atk-apollo/rtthread.bin 0x8000000
" u* A1 Z# f$ n* e2 P  I

openocd测试

  R+ {* x, p1 U, R2 j

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

7 Y+ I2 k/ {% ^% F7 }8 G2 r

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

# b' U. O% c; k3 W

效果预览

1 y- P2 D' Z& Y1 _; ^

未完待续。。。。。。

, }1 X3 s; J% N9 r* y: B) @* t

调试效果预览图

/ J" H) O! W0 S
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-8-7 00:30:45 | 显示全部楼层
本帖最后由 来一颗糖 于 2019-8-8 00:05 编辑 $ l, [" N* j, I5 v) G/ q- U4 ?3 r) J

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

( @+ b$ l" _' C- v  F# O

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

0 z4 _  ^4 u3 @) g

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

. y% c- z" c0 s* O& F: t6 r

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

/ ^/ S+ C, t& P2 J& ]" F8 D

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

& b0 o! h$ b1 v8 m

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

4 M% J8 p! z4 W' }' K: I5 _

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

/ r' |0 ]0 _% U6 j0 X& M$ k" y6 a, Z

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

  F% `2 b' M6 h! n

scons --target=vsc -s

: u) [0 h' v$ i8 F5 s  n& l

生成vscode文件索引

7 z) S( \( T4 A7 m- _. J, {

输入 code ./ 命令打开 vscode 。

9 I# Q) k; D& h8 z

code ./

0 Z& N. X$ A6 ?, W9 R/ }

打开vscode

6 L8 m0 }4 j+ ^: q+ p( x

给 vscode 添加任务

5 ^, n! b' u+ K# z' C; Q

vscode任务

4 c9 V- [' }# v) d! |& r

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

/ u8 F  O0 x1 n7 J! v( B* o
    ' s# _, |8 r1 K0 i
  1. openocd server:用于开启 openocd GDB 服务器。
  2. 7 p9 a4 m" w3 P) L1 Y
  3. rebuild:用于重新编译工程。
  4. 4 E( ^- q; z- W( i
  5. build:用于编译工程。
  6. * V  F8 v; B3 P1 G. \+ S
) Z% J8 F4 r* f5 j; v( Y, o( |

vscode任务

' c! [+ U5 e) U; K' S' N. M

task.json 文件内容如下:

: O. q* C! g# m; c% S; G1 J% S3 V
{/ a0 _7 F  R& }/ M0 j$ Z5 h
    // See https://go.microsoft.com/fwlink/?LinkId=733558
' {: M5 p/ P/ `' I$ ?. [    // for the documentation about the tasks.json format
; {8 v" p! l. Z$ s' Y+ }, o    "version": "2.0.0",
$ [" `, Z* |9 W    "tasks": [: r4 H7 V7 O' K
        {
6 Q( S/ k9 G8 U9 G5 P            "label": "openocd",
7 I( M' B8 u8 ]7 S            "type": "shell",. I% j" K% {' \5 u0 M! }- _
            "command": "sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg && exit"
9 v/ p6 j& Z" d& m5 C        },
7 ]6 d" \7 H7 x0 |0 ?" E        {/ z$ X4 m7 t- p8 O# C, g
            "label": "scons",9 S2 N" c3 B, _8 X
            "type": "shell",
/ X! @/ z9 u$ y2 z; d( u            "command": "scons -c && scons -j4 && exit",
% n! _+ h% |  x8 [            "problemMatcher": []' Y6 D+ }) B! \. R& F2 O
        },3 a. W: N6 X" |  L% i8 X
        {7 ]' p, i" P. c' d+ T3 I
            "label": "telnet localhost 4444",+ s& ~4 Q- n5 r. ~6 S
            "type": "shell",4 \; E- x# [& ^2 _1 Y# d1 B- I
            "command": "telnet localhost 4444 && exit"
7 H& ^; J7 g6 C& [$ x4 }' `        }$ o  d3 q1 w3 c( s3 Q
    ],
; Y1 L7 z; q0 f. Y7 V' [. O$ \  z}
  Z. U; x3 |, x: {

为 vscode 添加 Debug 配置

  `. t& x! `3 L: [) ^4 t

vscode添加调试

8 d% c  [  l  e" }0 b

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

4 }/ d0 ~2 ~* m

vscode添加调试

6 R7 v4 W: D& u& t% E

launch.json 文件内容如下:

& @# X" N' D* _$ T( _
{$ H' V6 w# n) J) J6 q7 C, h
    // 使用 IntelliSense 了解相关属性。 
* ~6 R6 u& m0 W3 Y; X, [    // 悬停以查看现有属性的描述。
6 C  J8 d1 \; B( M) ^    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=8303871 J; i' n# H7 ]7 k% z
    "version": "0.2.0",
: V: i' [5 w3 k) H. @$ g% _    "configurations": [8 q/ ~0 o+ Z0 l5 ^
        {
! a) N  a6 T8 ^# c1 ~  L" c            "name": "debug Launch",) w/ }# s) a. @
            "type": "cppdbg",2 c  h5 N, s' O  x
            "request": "launch",$ z# [) y/ k7 E
            "targetArchitecture": "arm",# }5 o; m7 V  r* Z4 h# _
            "program": "stm32",1 M' ]3 m  ^! R4 t
            "args": [""],7 P7 R* C1 U1 Q
            "stopAtEntry": true,
1 e/ ]! d. w! T6 |* N3 E4 S. h            "cwd": "${workspaceFolder}",
7 \% B& y: m0 j$ a            "environment": []," {' e" S+ s7 y6 L
            "externalConsole": true,% Q2 I# @; R/ i; ~( _
            "MIMode": "gdb",: c6 o3 w* s1 V/ ]6 t4 {+ y
            "miDebuggerPath": "/home/tang/toolchain/gcc-arm-none-eabi-8-2019-q3-update/bin/arm-none-eabi-gdb",& w5 n# j6 F& t: q! e) \" e
            "setupCommands": [
- M2 e) V" G) L) L" k' k) V                {
/ t3 ^9 a: L+ a) r                    "description": "Enable pretty-printing for gdb",- n# m) N; _) _$ a4 D/ ]5 `; k
                    "text": "-enable-pretty-printing",
# {% s  q5 x* N                    "ignoreFailures": true
/ @3 c$ [& `( R# S                }' z. y, d; s. X) ]( z
            ],7 H& [1 K( S5 E+ g
            "launchCompleteCommand": "None",
0 T# \' R3 J9 n0 s$ f, [$ c            "miDebuggerServerAddress": "localhost:3333",
) D4 d4 x2 ]6 l- W            "customLaunchSetupCommands": [
* K; {  P5 S+ O                {
9 t) i. O2 B0 @+ ~7 v% _                    "text": "target remote :3333",0 E, n( T6 c2 C
                    "description": "connect to server",$ T' y& Z3 E, Z5 |9 @
                    "ignoreFailures": false5 |: l" i. m2 C$ b! X' {
                },
& E  g; w' |  U+ [3 z9 Q                {
8 ^1 @/ {+ M3 y) s& Y  Z                    "text": "file /home/tang/workspace/stm32f429-atk-apollo/rt-thread.elf",& B: f; R5 H- L5 C
                    "description": "load file to gdb",7 q* ]: p& M; j
                    "ignoreFailures": false
. H: L" o5 Y" ~; v+ h1 m                },
  H% E3 U4 D, j$ {9 q- E1 f6 z, o                {; O1 F9 P" y2 _
                    "text": "load",8 z; {- S- }' ~. ^
                    "description": "download file to MCU",
3 ^0 r: v- e6 {0 `4 W$ V                    "ignoreFailures": false9 |8 K1 P2 V+ R, M2 v) n/ T
                },
, s/ v& T/ V% O3 n+ p) W                {, ?9 [4 I# P$ J
                    "text": "monitor reset",
% q; a  Z6 p$ Y1 K" o# x                    "description": "reset MCU",
. L2 i! ~; |% f' O5 S5 R  w                    "ignoreFailures": false
" B# s) Z4 f  Q3 }( c( j                },. U3 U% R) C! _
                {  H! `5 r5 N/ z4 i5 H- K$ j
                    "text": "b main",- Z2 R6 I0 V* }
                    "description": "set breakpoints at main",( F  ]9 i1 _& |0 o( u  I" e' b
                    "ignoreFailures": false
' L* [2 A8 ]( s# V& V! `% u, k1 ^& y                },
. r' s/ ?1 R, b# ^            ]6 ]7 m$ e/ e( e2 o# n" K
        }* Y% y, d  Q; ~. t; T
    ]
" Y1 `. L: O0 S' \9 I" d}
2 ~# v9 G% V! n

最后一步

8 T& x9 p9 z  P! K

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

. q/ c" H! t7 ^) C: Q( w9 G

启动调试

" J9 e- G7 n' D' D0 f" G

上下键选择 build 编译工程。

! S4 d) _3 h1 P6 U% J8 x

启动调试

/ z/ b8 K0 F$ F) o% p6 D1 H6 B" W

启动调试

* C* c8 F6 J& H6 ?6 w

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

% d; T* k5 o7 _  C* a

启动调试

! ~; x6 W! W  y7 G# Y3 c9 x

启动调试

3 o  r  k7 j+ b4 \# n

输入 sudo 密码

; U; ?8 [# O2 ?  c7 ~

启动调试

7 x" w; S0 m6 M4 z  B

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

$ v, ^/ j. S5 [( S7 ]7 s% ]

启动调试

1 d+ N( n. v# W) J% h' C4 @

开启调试

, X( M% o5 f$ w- c

启动调试

" S; a- i$ Y/ b

gif)

9 ^+ ]+ I8 b2 K& d4 F$ d8 X: P4 |
使用道具 举报 回复
发表于 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:34
. c3 ?) P, ~& Y- X4 M默认的项目debug一次,以后会再也连不上,cubemx里面需要选择sys,wire debug模式,楼主你可以重复断点么? ...

" Q8 J: R1 \+ A6 q0 @. }第一次能调试,断开连接后就再也不能调试了吗?
使用道具 举报 回复
发表于 2019-9-20 22:53:21 | 显示全部楼层
666
使用道具 举报 回复
发表于 2019-9-21 09:47:40 | 显示全部楼层
来一颗糖 发表于 2019-9-20 22:33( e& `" U, ?9 D, ~
第一次能调试,断开连接后就再也不能调试了吗?
4 z* S8 g. ~" j% \
对,我测试过,必须要在cubemx里面的pinout & configuration里面设置sys,wire debug,否则,在clion下断点会跑飞,vscode当然也一样,因为都是用的openocd,设置以后,都很好。
, `( r; {  S" N2 P$ Z0 w+ ^裸机程序和使用rtt是一样的。
使用道具 举报 回复
发表于 2019-9-21 11:37:27 | 显示全部楼层
断点调试设置:以stm32f103c8为例. U' f/ x% Q$ G; f# A  w, R4 U
stm32f1xx_hal_msp.c里面2 P% {& D: B5 `! d# x0 J8 L
0 e; }: r9 e: r! G5 B/ q
void HAL_MspInit(void)函数
2 s& k! V5 i5 z7 R0 Y6 ]3 s__HAL_AFIO_REMAP_SWJ_DISABLE();
0 O, R$ @3 ?2 `2 @- m6 b换成
' y: S+ i7 m) U5 \__HAL_AFIO_REMAP_SWJ_NOJTAG();- j2 f, _$ M) x& t- Y; a" G- f
即可支持断点调试
使用道具 举报 回复
发表于 2019-9-21 14:40:41 | 显示全部楼层
921742079 发表于 2019-9-21 09:47# r" |4 E/ o2 ^, M+ K+ {& s
对,我测试过,必须要在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
复制代码

. x. s$ {; |( r) o& M1 O3 s! E9 h5 j# ]$ u
仿真器的配置文件 cmsis-dap.cfg 好像只支持 SWD 模式?我记得这个配置文件有模板,用户可以自己写配置文件选择 JTAG 或是 SWD 调试。不知道这么配置的,有时间去研究研究
使用道具 举报 回复
发表于 2019-9-21 16:37:09 | 显示全部楼层
来一颗糖 发表于 2019-9-21 14:40& M5 B' I- k* Q$ U0 \6 A
仿真器的配置文件 cmsis-dap.cfg 好像只支持 SWD 模式?我记得这个配置文件有模板,用户可以自己写配置 ...

0 C/ r4 Q+ ~0 P4 I  v5 A我的jlink_board.cfg
6 J+ G6 _" m7 j6 N" E3 z
  1. source [find interface/jlink.cfg]
    $ x4 [5 ]8 t: e, i

  2. * r) `0 |# [0 L: F
  3. transport select swd7 k, @. N/ g2 d* M4 `4 \. V$ ?
  4. ! Y/ M- ^3 u# f( E) y/ ?
  5. source [find target/stm32f1x.cfg]
复制代码
这个只是启动openocd,需要板子上允许调试的,我用scons构建的项目,改了代码,可以单步调试了
- u: ~3 g3 T( ~9 D. q/ b4 U
使用道具 举报 回复
发表于 2019-9-24 16:34:27 | 显示全部楼层
楼主你好,这个你是怎么弄的?rt-thread的console怎么撸出来? 截图_2019-09-24_16-28-04.png
( R  m3 ]2 h2 D+ j5 [! D/ Q  n
使用道具 举报 回复
发表于 2019-9-24 17:17:48 | 显示全部楼层
921742079 发表于 2019-9-24 16:34& a& H9 ], V- K* e' P! w$ W! g9 w) d- [/ R+ G
楼主你好,这个你是怎么弄的?rt-thread的console怎么撸出来?

9 s: Y; d* l: K; ~: _9 W3 g) ^! Cminicom
使用道具 举报 回复
发表于 2019-9-24 18:24:48 | 显示全部楼层
本帖最后由 921742079 于 2019-9-24 18:30 编辑 8 ~8 F  e/ `' B& F5 n6 }3 C
来一颗糖 发表于 2019-9-24 17:173 J2 w% n! l6 z% x
minicom
& A' S/ C% ^2 f! ^, o! r9 E* b) g
vscode的minicom插件?你这个不是集成在vscode里面的么?在vscode的终端手动minicom?了解了,感谢,我还以为是啥牛逼的插件4 }( j0 E/ R3 b
使用道具 举报 回复
发表于 2019-10-9 09:48:42 | 显示全部楼层
请问有在win7下VScode调试stm32工程的教程吗?目前只看到使用编辑功能的教程,谢谢
使用道具 举报 回复
发表于 2019-10-9 15:43:20 | 显示全部楼层
Carry 发表于 2019-10-9 09:483 K$ ~$ H/ v; q! p  E: l  t
请问有在win7下VScode调试stm32工程的教程吗?目前只看到使用编辑功能的教程,谢谢 ...
( d2 v% M. |  D6 m
把 1.gcc 工具链;2.openocd 工具换成 windows exe 版本的就可以了。4 l) w0 k0 e$ s' I( `. W
# r) k3 p9 v1 {; e9 |  \7 Y

8 f+ R6 }4 o  \: t" g; c% P下面是在 windows 下的 openocd.exe 下载地址。+ `/ e( q) J, v( G( J& i$ x, G9 W) S

7 V4 F7 F, C$ V) b8 Khttp://gnutoolchains.com/arm-eabi/openocd/
- N* B7 J1 U. b0 E
: s( _; \, g' D, K4 M) j  ^/ T/ |至于 gcc 工具链,rt-thread 的 env 工具是有自带的。
使用道具 举报 回复
发表于 2019-10-9 16:00:04 | 显示全部楼层
本帖最后由 Tonny 于 2019-10-9 16:01 编辑 % T: O4 X) @" x7 b
1 \3 N4 D" H2 n0 r! y
来自底层的仰望~今天刚配置好manjaro
使用道具 举报 回复
发表于 2019-10-9 21:26:53 | 显示全部楼层
来一颗糖 发表于 2019-10-9 15:434 L9 j# C/ `5 a, H  S+ v
把 1.gcc 工具链;2.openocd 工具换成 windows exe 版本的就可以了。

# r8 ]0 M" c$ b+ J4 e3 L! {2 H这样就可以像MDK5那样,可以软件仿真了吗?
使用道具 举报 回复
发表于 2019-10-9 22:27:23 | 显示全部楼层
Carry 发表于 2019-10-9 21:26
3 g4 [4 P8 ^: b$ C这样就可以像MDK5那样,可以软件仿真了吗?

% [* t5 x3 X: I' q+ [2 d2 u恩 是的.' c1 n' o. e: g& @' A% }/ j) r
& T% V' P; ]: Q" ^" g: n
MDK IAR 这些 IDE 的本质也是这样的.
使用道具 举报 回复
发表于 2019-10-11 06:44:28 | 显示全部楼层
来一颗糖 发表于 2019-10-9 22:274 n+ j/ U" P: ~5 X" i1 r( O
恩 是的./ J; ~6 p/ f- D5 [9 |  C. j
. [; L2 R9 m4 }- d( l7 @& Q
MDK IAR 这些 IDE 的本质也是这样的.
4 J) H( O! p6 _5 S6 b$ o" V& W
sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
& m" P) V* Y5 X  I( t% J+ y" ^我使用的仿真器是 DAP ,目标开发板芯片是 STM32F429 。如果你使用的是其他仿真器以及目标芯片,只需将 cmsis-dap.cfg  , stm32f4x.cfg 替换即可。# H7 w; b6 z8 _1 \( c! Y; P8 ~
) n* r! U6 I6 ^! p! |8 v
请问这一步在win7下怎么进行呢?
使用道具 举报 回复
发表于 2019-10-11 08:44:52 | 显示全部楼层
Carry 发表于 2019-10-11 06:44
' q% A" S2 p5 R9 g& F- Isudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openo ...
2 {/ q, [  S4 a7 _
用 rtt 提供得 env 工具,或者 windows 的命令行窗口,输入这个命令:
" A; U! }5 G) D& {+ s  b; l% W  f) p, N0 j/ ?! o
openocd.exe -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
4 h; y9 \# p% c, _! B; n2 K. H+ O8 N4 [) }0 X6 a  q
(记得给 openocd.exe 设置环境变量)
使用道具 举报 回复
发表于 2019-10-11 08:58:13 | 显示全部楼层
来一颗糖 发表于 2019-10-11 08:44! z6 H! M" x0 l, G( c
用 rtt 提供得 env 工具,或者 windows 的命令行窗口,输入这个命令:
* W5 A( s5 U* X, u% h" E/ y" w, @0 P& i: f' ], |
openocd.exe -f /usr/local/share ...

9 s# \% n* w. b+ H( E将 rt-thread/bsp/stm32/stm32f429-atk-apollo/dist 目录下的 stm32 工程拷贝到你喜欢的地方。6 p1 R$ ]4 z+ E% f( f4 r6 t0 J

6 V0 }  u7 }( K, i! y7 o  E进入刚刚拷贝的 stm32 工程里,编辑 rtconfig.py 文件。
7 K7 ~$ ~( b+ ^# x$ N' ?5 G4 e- x3 j: L" J# e8 z
请问在win7下也要编辑这个rtconfig.py文件吗?我怎么知道我的gcc工具链在哪个位置呢?
使用道具 举报 回复
发表于 2019-10-11 09:25:21 | 显示全部楼层
Carry 发表于 2019-10-11 08:58" r: F/ `) a6 D, V+ x# A0 _; N
将 rt-thread/bsp/stm32/stm32f429-atk-apollo/dist 目录下的 stm32 工程拷贝到你喜欢的地方。
3 l# O: \4 L3 n2 i$ w) |8 ~( F2 X7 i
进入刚刚 ...

) h- f9 Q  s7 I9 h( e" B如果是使用 rtt 的 env 工具,那就不用改。! B" h# I  ^8 _: p! v
9 P3 F" r/ \7 e& S
在 env 目录下是有一份 arm gcc 工具链的,自己找下。
使用道具 举报 回复
发表于 2019-10-11 11:35:57 | 显示全部楼层
来一颗糖 发表于 2019-10-11 08:44
/ U/ K+ H! ^6 c3 G5 v用 rtt 提供得 env 工具,或者 windows 的命令行窗口,输入这个命令:
9 C$ ]; X+ x' L* j1 p$ w/ E+ L& o: X" b; ]4 g9 V& g/ k+ l5 J
openocd.exe -f /usr/local/share ...

+ y0 g% l1 n: V$ p5 H请问我在win7下下载好了OpenOCD, 是不是直接可以从骤二: openOCD 最新源码下载编译及安装】跳到, o; V( f7 t3 @
【sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
5 l7 F/ C& N& y* u5 V9 n
我使用的仿真器是 DAP ,目标开发板芯片是 STM32F429 。如果你使用的是其他仿真器以及目标芯片,只需将 cmsis-dap.cfg  , stm32f4x.cfg 替换即可。】
这一步?
我现在下载好了OpenOCD目录是E:\OpenOCD-20190828-0.10.0
现在要怎样安装环境变量呢?
8 S/ D0 X5 }" W) G8 N* x7 m2 d& a; |
还有就是这个教程是不是在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
# ]* x& m; a8 b0 u- T% Q请问我在win7下下载好了OpenOCD, 是不是直接可以从【步骤二: openOCD 最新源码下载编译及安装】跳到' k  q  z$ ]/ [+ M4 Y: s
【 ...
& t  r; U- O" H! u# ^& s+ T
windows 下 vscode 开发环境的搭建 按照这个链接里的来吧 https://www.jianshu.com/u/b1ffe963c1888 `7 i6 }# x' ~7 M9 h8 k! d

' x# V9 G, w6 O, _0 r  E
- o' W" {3 m+ _2 a5 d* h: }% E0 C( M' w7 I
(其实我觉得 windows 下折腾这个没啥意义。。。rt-thread 官方马上要出一款 正式版 IDE 了,免费的,以 邀请码的形式发布,可以关注下 rt-thread 的公众号)
使用道具 举报 回复
发表于 2019-10-11 15:16:23 | 显示全部楼层
来一颗糖 发表于 2019-10-11 13:48
' K' U. ]/ ~& H0 T  ?/ N$ Z- Kwindows 下 vscode 开发环境的搭建 按照这个链接里的来吧 https://www.jianshu.com/u/b1ffe963c188
/ v. {2 r5 J+ K, ^
感谢
使用道具 举报 回复
发表于 2019-10-12 13:50:48 | 显示全部楼层
来一颗糖 发表于 2019-10-11 13:48, f( C& [/ z: P& x) B
windows 下 vscode 开发环境的搭建 按照这个链接里的来吧 https://www.jianshu.com/u/b1ffe963c188
' U5 `- `) J# R$ c
您好,我跟着第一部分的步骤走。! ]3 X9 V, X' p7 m; q2 v
./configure --enable-stlink --enable-cmsis-dap
, ^; N$ i& X; P, Tmake8 o* \3 }8 e1 f! f
/ V7 {- L' c7 `
make install- k; B( Q4 z8 t  v: n2 P( V( P
( l5 g+ n, Y  l* M8 ~
9 r" G: c6 j# I( a. J9 {
在make之后,会遇到这样的报错,我确定我环境都是跟着一样装好的。请问要怎么解决呢。折腾一天了。
4 |) n. P3 ~( f% h9 z
1 [2 r1 {/ X) ~8 W/ F& s# c) V* G( F/ g" p, \1 O; W% L' i. o
+ |3 J9 l- a) ]( ^( p5 x- Z' j/ O- i
% Q5 T1 d% [+ ], t- e$ M* L

# ^2 E- |/ M) U8 c7 U* @) X1 c) S9 q2 T1 x* C
_~DNQN]GHJ]1N7((1D)WVCH.png
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

Powered by RT-Thread

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