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

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

本帖最后由 来一颗糖 于 2019-8-8 00:02 编辑
* B; b+ s4 X" _
7 e0 v0 }, H: {; Y& ^先上结果:/ ~3 u+ F2 L. K  \6 S. }0 s! s  M

/ ^. i# z9 h9 _/ i0 T! s 调试效果预览图.png + L0 X* o: b2 R6 n' \
" U* D) W& P8 p+ Y

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

  k2 ~9 {! _+ p- w. j) [/ s# g

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

4 O6 I5 u6 G" y; e( m

官网教程链接

/ M$ [5 L. c7 E" |, A

下载 rt-thread 国内镜像源码

0 p0 g+ d) S5 `7 m% L6 C! ^3 a/ }$ w

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

* D+ L; i8 ~: B9 b4 U

sudo apt install scons

: B) f1 o4 V% D  H- g8 p

sudo apt install libncurses5-dev

/ v! ^) B  L! l* S

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

6 j! _; N, n- S( a

解压gcc

+ m  Y- Q4 P( `0 V3 ^8 ^

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

) F" m4 y+ P1 }! ?

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

; c' d1 j" k1 L8 Z2 L

编辑rtconfig

& s3 t0 y+ k; U# o! H

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

' x$ ?2 h8 v- c

编辑rtconfig填入gcc路径

- o- j3 g0 \3 Z+ w

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

/ ?: G" b0 N( T* l- V# m! A7 s* S

scons编译rt-thread

* k  y# K: e6 A8 x6 c' H5 n. x

scons编译rt-thread

6 H9 M/ V: u- F& }  O1 w* c* z# b

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

# ^9 j) l3 S& v3 l& [0 A

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

2 [! C% j  v' Z+ i) `+ ?
git clone https://github.com/ntfreak/openocd.git
1 H; I5 A' F/ o

openocd源码下载

4 p2 e9 [% W+ t$ ~9 Q6 C8 W

安装编译 openocd 需要的相关库

- M7 O7 n! y4 T" Z2 F) Q5 V
sudo apt-get install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev
9 X* p! \1 i3 x1 U! I6 p
sudo apt-get install libtool libsysfs-dev
; R& F) w! ?; m  a* K' c

openocd相关库1

2 ?9 \% T6 d6 F$ }

openocd相关库安装

$ H& F' T* _4 _5 _) D/ B

编译安装

6 G9 B( \, q2 ]5 o0 J
sudo ./bootstrap
2 z+ Y0 A( E3 y, e

openocd编译安装

; m: A) N3 u* D. L3 F
sudo ./configure
$ u/ [9 N+ K, w) T# f

openocd编译安装

# s5 d: l- c  t3 y$ }4 w
sudo make
4 k8 v2 s  j3 }" S

openocd编译安装

  X7 S* {5 a5 D9 Q
sudo make install
6 D& v! T, }9 b2 H6 m: @

openocd编译安装

; C7 X/ k# S" X* k+ m- f  o( O

使用测试

" p3 m( }5 X/ I8 Q
openocd --version
. X: q' H6 ^1 _+ C

openocd编译安装

( k6 z+ }& c1 r
sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
* `0 a" @0 p$ l1 q1 J

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

  h% V* W( M5 M; b8 u

openocd测试

5 g- K7 B2 Y: x5 B7 L# W& J, p, `

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

3 q. p% D, y' h5 n1 f( }4 {
telnet localhost 4444
& A% G$ ^1 H/ ^9 {$ X8 o

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

) ?0 ?  U  N( z& x
halt
! R6 O1 ^3 V+ ?0 d

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

7 [5 {* V6 B% V. p2 ~
reset
8 @) Q. t7 j! t# M# |4 ^) h

openocd测试

5 V6 i& P5 W* e

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

) A% M* E8 h7 p4 W
flash write_image erase /home/tang/Desktop/stm32f429-atk-apollo/rtthread.bin 0x8000000
4 k0 {& N# g- x+ O' y" k& v8 ]# M

openocd测试

! d) w3 F7 T8 R  {

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

- C( J8 D4 c$ ^

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

8 [" ?* r" w" E- x

效果预览

, m; _, R$ [: w0 @5 a$ a

未完待续。。。。。。

0 r: N$ M$ g/ q" d

调试效果预览图

6 r  x0 u& J1 q7 R+ z* G: b
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-8-7 00:30:45 | 显示全部楼层
本帖最后由 来一颗糖 于 2019-8-8 00:05 编辑 . p& j1 l. ^. F- _6 t) Z0 \! {

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

" i- u( W$ {0 {0 O' H

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

% L8 q+ ~( j1 A3 n: [( U9 v

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

( W2 I! R: |* D5 s- W

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

  h% s/ A! _, B0 P1 n3 u

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

- X$ r5 D7 O- B6 n# \

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

. H/ ~% e8 m" a6 d3 f$ q

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

2 \0 z7 M  |) \

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

' R  J$ V$ C8 [

scons --target=vsc -s

1 R$ J/ C5 S; g5 B* W5 B

生成vscode文件索引

- R7 I' W  c- W7 C8 s

输入 code ./ 命令打开 vscode 。

5 a$ \" J# V3 @) ?

code ./

6 K+ a, V8 Y8 ~; J* _; f: v( u

打开vscode

- m; `$ |7 q7 }7 h4 C5 S: [

给 vscode 添加任务

1 d% [$ V: N! G. b1 [! \

vscode任务

1 L' k& C- q0 y8 M

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

) v! ~7 q! H' m. L$ l5 `
    6 m: L, O, w" e$ p& ^3 e
  1. openocd server:用于开启 openocd GDB 服务器。
  2. " v% T8 x* B( @+ l3 ~
  3. rebuild:用于重新编译工程。
  4. 0 I9 V" d0 Q) K
  5. build:用于编译工程。
  6.   K( i& @" j, i! l2 D
8 X8 B9 t$ B3 Z% D0 h

vscode任务

0 B! s' t& O1 }

task.json 文件内容如下:

/ S+ }& a7 \( x% d' S
{$ r3 Q" r9 X2 G. I& A
    // See https://go.microsoft.com/fwlink/?LinkId=733558" k! I# `+ v& V0 [/ y: P
    // for the documentation about the tasks.json format! E5 S9 s# p: K/ M
    "version": "2.0.0",$ l9 G) Z' K; v2 u
    "tasks": [. `: @+ h" g' `  N! P
        {! |$ x5 H& B7 I/ }( x
            "label": "openocd",/ j: p: K3 L( N6 u
            "type": "shell",1 u+ a% V) F1 H. x5 S: y
            "command": "sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg && exit"$ z0 @. v6 k* a) U" }* m) w$ u9 J; ?
        },4 r6 N! Y; ~; F9 o- m
        {# Z  k3 U0 T0 E  M; S
            "label": "scons",
3 B8 w' q; T$ p) N$ t, q            "type": "shell",& K% L3 h* ^" C6 [4 T% a
            "command": "scons -c && scons -j4 && exit",
* H* e; m9 Z" b- ]            "problemMatcher": []
" A) |* E( N9 a) y) \        },# c+ A9 [# y4 a; v
        {9 N6 ~6 V4 j& O
            "label": "telnet localhost 4444",
5 W5 o; T, p' k* }$ E            "type": "shell",
. j5 x+ A) e1 F0 {( X            "command": "telnet localhost 4444 && exit"( C+ i1 N* ]1 b  @
        }
5 a: O, }9 n4 {. g    ],/ Q: |/ {+ B1 n) k& y. U
}
' k+ t" l! {' p0 O7 N* O' ^, `

为 vscode 添加 Debug 配置

& r# p% i- H% d; p

vscode添加调试

) ]8 y  c) N) c! H) y

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

0 N  X% m; S5 W

vscode添加调试

3 B1 A  l9 O( d; K* g' S& W

launch.json 文件内容如下:

4 G  i7 w/ h) D" D7 @/ s( G
{
9 w9 K$ K- n1 D  C1 B% j    // 使用 IntelliSense 了解相关属性。 
( _7 w; z- Q" v# \& n    // 悬停以查看现有属性的描述。
. R# L, g$ d+ U6 D3 u0 Q) D    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387! f/ k% b( H) c1 m" v6 c
    "version": "0.2.0",
  L7 q; ^, A: G0 {5 f% |    "configurations": [
8 T+ Y1 Q& L5 X; f/ C) [5 V3 k# V        {4 L$ J0 x: F. m
            "name": "debug Launch",5 n6 @" r; t* g+ d
            "type": "cppdbg",
4 W9 `& o9 A  l$ ?            "request": "launch",
8 V$ _6 ^( f" W            "targetArchitecture": "arm",
+ u  _- ?, F1 o            "program": "stm32",. h$ t, @: b! i
            "args": [""],) t8 G" G! q7 g+ f; `/ P
            "stopAtEntry": true,# M/ e% F; s' C( U! }1 c
            "cwd": "${workspaceFolder}",
4 k& z# J; X4 p/ ]5 f            "environment": [],* l& u0 D# w4 L# `8 o  H
            "externalConsole": true,0 F, z( k- e/ s2 |- b% d
            "MIMode": "gdb",
5 A5 n# H0 T4 A+ f            "miDebuggerPath": "/home/tang/toolchain/gcc-arm-none-eabi-8-2019-q3-update/bin/arm-none-eabi-gdb"," V4 f' |7 P3 y" T( W. r4 s
            "setupCommands": [( E2 i/ g3 A0 j5 J/ e7 X
                {
7 n4 x. V  L/ ~                    "description": "Enable pretty-printing for gdb",
4 c! K9 N# i" I3 z3 R& @                    "text": "-enable-pretty-printing",& w  j) ~0 B6 b1 s9 A+ C$ X
                    "ignoreFailures": true6 k+ `6 n( k* ]8 g
                }7 Y/ `( Q" y  L
            ],6 }" ~* }2 s$ r" C8 `; t$ c
            "launchCompleteCommand": "None",
9 X. F# G. m: I8 F! a* l            "miDebuggerServerAddress": "localhost:3333",
1 C% d4 g5 L4 Y6 q1 {7 R            "customLaunchSetupCommands": [- s. n  h" K2 F. J( D0 }
                {# S0 K: v" C# E$ B7 U$ N6 b1 w
                    "text": "target remote :3333",/ M( m) k' ^% P* a  J2 o2 I2 l5 e
                    "description": "connect to server",
* E2 d3 W2 J8 j! |' |7 w                    "ignoreFailures": false
* G9 v8 H: Z& R; b: Q" k                },
4 ~, p' f0 r- }6 j  M                {# Q1 g8 G3 C8 Y# e; o% Y1 a% `
                    "text": "file /home/tang/workspace/stm32f429-atk-apollo/rt-thread.elf",2 b. b* w% b$ `! s- i1 R0 \
                    "description": "load file to gdb",! X6 T: b) B# V* `: V6 c
                    "ignoreFailures": false
( R/ [4 z9 e0 v                },, L; G, ~* n" T# }8 L
                {& m. j8 N+ r  ?7 q
                    "text": "load",
+ d# b8 G5 G4 l$ L$ R, z& l                    "description": "download file to MCU",
: Q) z+ a6 p* ~8 q/ V( J                    "ignoreFailures": false8 \: V9 L- c: _# Z4 Z) x) `4 m
                },4 q2 U3 ]  U0 i2 K, w
                {9 I: V7 E) [; T: z
                    "text": "monitor reset",
4 d3 ^) g  Y9 X                    "description": "reset MCU",  q& x' [+ h; P0 m! a9 f
                    "ignoreFailures": false) v  \  w! k& \' k" d" W
                },/ d; W7 D- F4 V* a7 y* w
                {! B$ p8 ^  j4 A4 H8 }0 [
                    "text": "b main",
+ k- W9 e( X% S! e                    "description": "set breakpoints at main",
7 N! e2 z% q; D: n. z2 e                    "ignoreFailures": false
9 m3 u3 b% m' U- X                },1 C2 C$ @/ L$ B. p5 T* n0 W
            ]
0 f# F4 j3 i  g- o+ H        }
2 j& L0 i- {# a- O- U, n  {    ]1 n+ z7 Y, A, j' H$ t$ o- d! p# ^8 G5 r
}
& G8 y- K. W7 y$ o1 R" u

最后一步

5 u+ c1 H  p3 `$ f; r

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

! Z2 X! S# Z3 w- Q; U

启动调试

6 r# D. O$ |: o  Q' z2 L+ t5 D

上下键选择 build 编译工程。

* G2 G/ ]4 U9 v5 n8 |7 U

启动调试

0 q2 a) {; p1 t. z5 t3 i1 I

启动调试

4 d7 y: O0 U7 r) }- j1 P

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

9 i  h+ N7 H6 N

启动调试

. j. \' ~& Q) a

启动调试

( B+ b& s' i2 Y& U& s" G$ O' L

输入 sudo 密码

( {+ b% l0 a) a

启动调试

' t8 C6 [4 G9 z' f$ J7 t/ G

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

; j( M$ g; I1 v3 v! I; G

启动调试

& y* y- ]; s7 m; E; e+ E

开启调试

% ?2 [. x4 [: S8 y1 f3 l

启动调试

+ C+ |* s) x* ?  v

gif)

, L, W7 q% A( z& j, Z
使用道具 举报 回复
发表于 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:343 m2 H; R! M1 {' U' x
默认的项目debug一次,以后会再也连不上,cubemx里面需要选择sys,wire debug模式,楼主你可以重复断点么? ...
. T  q' Y0 X0 m
第一次能调试,断开连接后就再也不能调试了吗?
使用道具 举报 回复
发表于 2019-9-20 22:53:21 | 显示全部楼层
666
使用道具 举报 回复
发表于 2019-9-21 09:47:40 | 显示全部楼层
来一颗糖 发表于 2019-9-20 22:335 F' D% k( p7 x1 j
第一次能调试,断开连接后就再也不能调试了吗?
' o$ }8 O& y- q
对,我测试过,必须要在cubemx里面的pinout & configuration里面设置sys,wire debug,否则,在clion下断点会跑飞,vscode当然也一样,因为都是用的openocd,设置以后,都很好。
% T* \1 S7 w! T: Y. Q  a; R裸机程序和使用rtt是一样的。
使用道具 举报 回复
发表于 2019-9-21 11:37:27 | 显示全部楼层
断点调试设置:以stm32f103c8为例
4 b5 y5 d" x$ ~  [' R" p: \stm32f1xx_hal_msp.c里面
0 F6 C4 l/ a% j/ W
* {/ k/ z$ A1 n! ~void HAL_MspInit(void)函数$ A9 l% G4 D2 c6 S
__HAL_AFIO_REMAP_SWJ_DISABLE();5 E) F1 A9 @7 A' G
换成
, J& @$ \( H' J$ B; b( X__HAL_AFIO_REMAP_SWJ_NOJTAG();! n) ^6 h$ f0 G- j% N* Q
即可支持断点调试
使用道具 举报 回复
发表于 2019-9-21 14:40:41 | 显示全部楼层
921742079 发表于 2019-9-21 09:47( P7 j5 U2 m* g5 S* B6 U3 R9 a$ P
对,我测试过,必须要在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
复制代码
/ F2 I+ @" X, I% t2 d4 Y8 ^
5 W. Z' W5 }9 z& W" _
仿真器的配置文件 cmsis-dap.cfg 好像只支持 SWD 模式?我记得这个配置文件有模板,用户可以自己写配置文件选择 JTAG 或是 SWD 调试。不知道这么配置的,有时间去研究研究
使用道具 举报 回复
发表于 2019-9-21 16:37:09 | 显示全部楼层
来一颗糖 发表于 2019-9-21 14:40; {5 ]' ?- c* o
仿真器的配置文件 cmsis-dap.cfg 好像只支持 SWD 模式?我记得这个配置文件有模板,用户可以自己写配置 ...

& j) h! C) ~( j# n+ E我的jlink_board.cfg
  Z: D1 D/ \4 n4 _  Q8 r
  1. source [find interface/jlink.cfg]
    . D9 A+ c1 _7 B1 m) P& {

  2. 5 ]' t: R# P2 v& I9 S
  3. transport select swd
    8 J2 R" n" m& ^/ C* u" d+ w

  4. 2 |1 z* O6 M/ Z7 t- _1 T
  5. source [find target/stm32f1x.cfg]
复制代码
这个只是启动openocd,需要板子上允许调试的,我用scons构建的项目,改了代码,可以单步调试了$ z5 j9 N0 i! i
使用道具 举报 回复
发表于 2019-9-24 16:34:27 | 显示全部楼层
楼主你好,这个你是怎么弄的?rt-thread的console怎么撸出来? 截图_2019-09-24_16-28-04.png . o5 C! ^% ~% v, v4 @
使用道具 举报 回复
发表于 2019-9-24 17:17:48 | 显示全部楼层
921742079 发表于 2019-9-24 16:34
( X6 E" _: A  B% L7 {楼主你好,这个你是怎么弄的?rt-thread的console怎么撸出来?

  S9 d- w( ?7 t/ Lminicom
使用道具 举报 回复
发表于 2019-9-24 18:24:48 | 显示全部楼层
本帖最后由 921742079 于 2019-9-24 18:30 编辑 8 E* \- n. b& T; h8 R
来一颗糖 发表于 2019-9-24 17:17
- i' M/ X3 n# i+ e8 B! ]: zminicom
! Y+ Q0 V4 G2 h' x7 H# l
vscode的minicom插件?你这个不是集成在vscode里面的么?在vscode的终端手动minicom?了解了,感谢,我还以为是啥牛逼的插件( q1 R/ @. E4 F+ K; ~. E# L
使用道具 举报 回复
发表于 2019-10-9 09:48:42 | 显示全部楼层
请问有在win7下VScode调试stm32工程的教程吗?目前只看到使用编辑功能的教程,谢谢
使用道具 举报 回复
发表于 2019-10-9 15:43:20 | 显示全部楼层
Carry 发表于 2019-10-9 09:482 h& N  }2 e. W1 C
请问有在win7下VScode调试stm32工程的教程吗?目前只看到使用编辑功能的教程,谢谢 ...
% u" m" c5 R7 w
把 1.gcc 工具链;2.openocd 工具换成 windows exe 版本的就可以了。2 r" U# e' ^  A# f2 b
' v# m" D4 ?$ J; E7 R' b

' {2 Y, J. ^8 [0 v) }4 ]下面是在 windows 下的 openocd.exe 下载地址。& R; P1 S* G9 D7 ~2 f

" U- Z* {. a+ T  b- @) F2 @( ^4 ghttp://gnutoolchains.com/arm-eabi/openocd/1 t1 }! W* V) z$ S' z% ~" Z
6 O5 i. @# n+ n) R
至于 gcc 工具链,rt-thread 的 env 工具是有自带的。
使用道具 举报 回复
发表于 2019-10-9 16:00:04 | 显示全部楼层
本帖最后由 Tonny 于 2019-10-9 16:01 编辑
6 k) Q  A- Z, y0 ?! H
7 j8 P3 R5 E5 u8 i' d% b来自底层的仰望~今天刚配置好manjaro
使用道具 举报 回复
发表于 2019-10-9 21:26:53 | 显示全部楼层
来一颗糖 发表于 2019-10-9 15:43
$ g4 N3 L! H5 t9 |1 m把 1.gcc 工具链;2.openocd 工具换成 windows exe 版本的就可以了。
, [! b5 j6 M. a5 z4 E
这样就可以像MDK5那样,可以软件仿真了吗?
使用道具 举报 回复
发表于 2019-10-9 22:27:23 | 显示全部楼层
Carry 发表于 2019-10-9 21:26
3 O7 K' `- V# U, {( A8 L5 h: O3 U这样就可以像MDK5那样,可以软件仿真了吗?

! n# ]1 M$ b; S4 |- Y恩 是的.
- X5 a  B* y% E3 T0 e; @+ h9 J! b
6 J! {+ d- ^9 d& \4 z) n- c+ |MDK IAR 这些 IDE 的本质也是这样的.
使用道具 举报 回复
发表于 2019-10-11 06:44:28 | 显示全部楼层
来一颗糖 发表于 2019-10-9 22:27
. W  G6 ]: J# S/ N恩 是的.( y2 O# ~4 L  W) h& `, v

6 P! `$ `3 l1 ]/ _6 vMDK IAR 这些 IDE 的本质也是这样的.
( M. O" a' @- K- t+ d, ~) ]* u0 Z
sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg
: C3 e+ ~! |8 @2 e: M我使用的仿真器是 DAP ,目标开发板芯片是 STM32F429 。如果你使用的是其他仿真器以及目标芯片,只需将 cmsis-dap.cfg  , stm32f4x.cfg 替换即可。# c1 T) r2 l1 G$ n: g

3 t2 F$ j6 a) u5 ^& z- \. G请问这一步在win7下怎么进行呢?
使用道具 举报 回复
发表于 2019-10-11 08:44:52 | 显示全部楼层
Carry 发表于 2019-10-11 06:44
- |2 ~0 |& ]0 ~: U" Y: `sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openo ...

* `6 j) Z) F" j( E用 rtt 提供得 env 工具,或者 windows 的命令行窗口,输入这个命令:! I9 U4 Y# W, C6 B( P
0 d# E- t8 m7 T& X1 L# }7 M- l/ T
openocd.exe -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg- M4 m+ D& Z; w  @/ U* |

/ z8 o" x. J6 ~# n(记得给 openocd.exe 设置环境变量)
使用道具 举报 回复
发表于 2019-10-11 08:58:13 | 显示全部楼层
来一颗糖 发表于 2019-10-11 08:44
: D+ e1 A4 p& V  z0 @用 rtt 提供得 env 工具,或者 windows 的命令行窗口,输入这个命令:9 j2 u, g, W$ ]' }+ C

" ~. `1 R3 ?% |0 h& vopenocd.exe -f /usr/local/share ...
" ?% X* O2 u7 {8 n  P& l* K
将 rt-thread/bsp/stm32/stm32f429-atk-apollo/dist 目录下的 stm32 工程拷贝到你喜欢的地方。
. s, l5 q  z# j0 p: P1 Q0 D* ^; h. P  {4 Q
进入刚刚拷贝的 stm32 工程里,编辑 rtconfig.py 文件。
0 C3 m! P, A% |- w! j/ j# j( H' e, l3 m4 i6 E8 }1 v
请问在win7下也要编辑这个rtconfig.py文件吗?我怎么知道我的gcc工具链在哪个位置呢?
使用道具 举报 回复
发表于 2019-10-11 09:25:21 | 显示全部楼层
Carry 发表于 2019-10-11 08:58
# W1 d& r, ?3 M将 rt-thread/bsp/stm32/stm32f429-atk-apollo/dist 目录下的 stm32 工程拷贝到你喜欢的地方。/ i; v! m( F- a

$ ]4 P2 i& [  M  w; m% t. H* y进入刚刚 ...

- I0 G- @! Z3 ~  P+ x8 ~如果是使用 rtt 的 env 工具,那就不用改。3 h$ M; o3 v1 B* q. _6 @1 Y

! M2 U) G- ?8 j1 [* p. o; ~在 env 目录下是有一份 arm gcc 工具链的,自己找下。
使用道具 举报 回复
发表于 2019-10-11 11:35:57 | 显示全部楼层
来一颗糖 发表于 2019-10-11 08:443 H3 c. Z1 |( n% z
用 rtt 提供得 env 工具,或者 windows 的命令行窗口,输入这个命令:% k/ l4 }' G  M# S! b4 t9 w" X" X
7 ^) d* }0 l$ H! _5 t) Y
openocd.exe -f /usr/local/share ...
* `# r' h# b) g& O
请问我在win7下下载好了OpenOCD, 是不是直接可以从骤二: openOCD 最新源码下载编译及安装】跳到' f7 a0 T" n& H( y! G  D
【sudo openocd -f /usr/local/share/openocd/scripts/interface/cmsis-dap.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg6 \$ c7 d0 f5 S7 }% j, n
我使用的仿真器是 DAP ,目标开发板芯片是 STM32F429 。如果你使用的是其他仿真器以及目标芯片,只需将 cmsis-dap.cfg  , stm32f4x.cfg 替换即可。】
这一步?
我现在下载好了OpenOCD目录是E:\OpenOCD-20190828-0.10.0
现在要怎样安装环境变量呢?

7 h3 ~  `0 z  a5 L
还有就是这个教程是不是在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
8 Y6 P1 C6 X8 j1 a% @" R请问我在win7下下载好了OpenOCD, 是不是直接可以从【步骤二: openOCD 最新源码下载编译及安装】跳到' O7 M, J# H% M! Z
【 ...

- ~6 w, H" B! s9 }8 ?: M: Nwindows 下 vscode 开发环境的搭建 按照这个链接里的来吧 https://www.jianshu.com/u/b1ffe963c188
% k- H5 {! y$ X  }& k- @6 K1 P. u6 a# @# q8 O

6 |! |% H1 u% b* A9 ~' `% N: K+ x9 z7 F
(其实我觉得 windows 下折腾这个没啥意义。。。rt-thread 官方马上要出一款 正式版 IDE 了,免费的,以 邀请码的形式发布,可以关注下 rt-thread 的公众号)
使用道具 举报 回复
发表于 2019-10-11 15:16:23 | 显示全部楼层
来一颗糖 发表于 2019-10-11 13:48
8 x5 g6 i7 T$ d" h' |" owindows 下 vscode 开发环境的搭建 按照这个链接里的来吧 https://www.jianshu.com/u/b1ffe963c188
/ r# S* [$ w' W+ r
感谢
使用道具 举报 回复
发表于 2019-10-12 13:50:48 | 显示全部楼层
来一颗糖 发表于 2019-10-11 13:488 J$ H& w3 r$ S. \( x! e' m2 x& ~
windows 下 vscode 开发环境的搭建 按照这个链接里的来吧 https://www.jianshu.com/u/b1ffe963c188
5 l  a7 D; g/ ]/ k2 C( u
您好,我跟着第一部分的步骤走。
) h6 e% U3 R  _2 n% j1 r./configure --enable-stlink --enable-cmsis-dap - V7 B; |  L  F+ k% m/ U* L6 \
make  T: z9 D1 k0 P9 @0 q0 ^
2 S: i' x) B$ w' M
make install! R( P3 B# t8 c3 m# H2 N

  w  k, G- r. v# v4 x6 k5 y& R2 |, k! F) c0 U% O9 _9 b9 A6 M
在make之后,会遇到这样的报错,我确定我环境都是跟着一样装好的。请问要怎么解决呢。折腾一天了。
$ i9 ]0 M6 b2 D( v3 F) y1 S8 ?8 K5 W1 B' Q, I

4 j# [0 ]* ?* `
6 |' J# q) ^% B. ^+ S' u" _  M! R( ~
4 `" p1 U! n' b5 N) I0 }. L

4 i4 w3 t% p( \/ b
_~DNQN]GHJ]1N7((1D)WVCH.png
使用道具 举报 回复
发表于 2019-11-22 10:29:54 | 显示全部楼层
这个很不错
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

Powered by RT-Thread

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