硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6626|回复: 26
收起左侧

[开发工具] windows10 1809版本下搭建vscode+wsl+gcc的开发环境,并为v7转化基础例子

  [复制链接]

2

主题

24

回帖

30

积分

新手上路

积分
30
发表于 2019-8-12 20:26:37 | 显示全部楼层 |阅读模式
本帖最后由 wx_BwfeP1fz 于 2019-11-4 18:47 编辑

大家好,今天为大家带来一种用以gcc作为工具链核心的开发环境搭建的方法。话不多说直接进入正题。
2019.8.12 更新初版。
2019.8.14 更新一个新的debug的方法,放在第四页了。
2019.8.19 新加了目录 将文章分成了好几部分,直接点目录里的标题跳转。2019.11.4 把文件上传上来方便参考。
ARMGCC.rar (913.95 KB, 下载次数: 50)

安装Visual studio code




启用WSL并安装Ubuntu分发版

   1.png
1.在win10的设置中打开更新和安全,打开针对开发人员选项。
2.png
2.打开控制面板,找到卸载安装程序
3.png

  3.找到启用或者关闭Windows功能
4.png
4.拉到最后启用适用于Linux的Windows子系统,更改完重启电脑
5.png
6.png
5.打开window10的商店下载Ubuntu并安装。商店里直接搜索Ubuntu,搜索结果如下图所示
7.png

8.png

9.png

     第一次启动会自动安装,并需要配置用户名和密码。

10.png


        相关的Ubuntu美化教程大家可以去网上搜索,我比较推荐oh my zsh。为了更快的下载速度,我们为Ubuntu更换国内的软件源。这个源是和国外的源同步的。直接在Ubuntu中输入以下命令。
  1. cd /etc/apt/
  2. sudo cp sources.list sources.list.bak && sudo vim sources.list
复制代码

删除其中所有内容,替换为
  1. deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
  2. deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
  3. deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
  4. deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
  5. deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
  6. deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
  7. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
  8. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
  9. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
  10. deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
复制代码

11.png
       linux用的是vim编辑器,如果有不会用的可以百度下用法,这里就不详细展开了。保存办法是在插入模式下先按esc推出编辑模式,再输入":wq"    这样就能强制保存退出。
然后在Ubuntu中输入下面的命令完成源的更新。
  1. sudo apt update
  2. sudo apt upgrad
复制代码
安装make工具
  1. sudo apt install make
复制代码

大家可以通过输入以下命令来查看相关帮助。make命令默认先寻找当前目录下的makefile,其次是Makefile。
  1. make -h
复制代码
当然也可以通过
  1. make -f  <filename>
复制代码
参数指定名为filename文件作为make解析。Makefile可以通过cubemx产生的makefile工程来获得,这个后面详细展开说,也可以使用我改写的makefile。


从这个链接中下载安装GCC for windows
12.png
正常安装,安装后需要将软件的安装目录下的bin文件夹设置进入环境变量PATH中。 如:
  1. D:\GNU Tools ARM Embedded\8 2019-q3-major\bin
复制代码
在ubuntu中输入命令:arm-none-eabi-gcc.exe -v 可以测试安装是否成功。没成功的话重启试试。

/*除此之外,可以通过命令 sudo apt-get install gcc-arm-none-eabi来安装Ubuntu下的arm工具链,但是我不知道如何使用此工具链中的gdb来进行windows下的板子调试。所以我推荐使用windows的exe格式的工具链,或者用ubuntu的工具链编译+用windows的gdb.exe来进行调试。不过目前我已经有点头绪如何应用Ubuntu中的gdb,等研究完了再来更改这一段。*/

选一个位置解压后将bin目录添加到path,类似下面。添加到系统path就相当于安装了。
  1. D:\OpenOCD0.10.0\bin
复制代码

  这里使用Sysprogs预构建的openocd,当然我们也可以自己来下载源码来构建openocd。打开ubuntu,输入openocd.exe -v 来检查是否安装成功。这里告诉大家一个小技巧,在目标文件下的地址栏直接输入wsl或者Ubuntu 都可以直接启动ubuntu。(订正:输入ubuntu只能启动ubuntu,不能挂载当前目录
14.png
15.png

13.png


点击开头目录page2,查看第二页,后面3.4部分类似

评分

参与人数 6金币 +242 收起 理由
tanganrong + 5
LIUzhi03 + 1 赞一个!
Shawnx + 20 赞一个!
armfly + 100 赞一个!
萌军总司令 + 16 很好,不错的选择
eric2013 + 100 很给力!

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-8-13 00:00:35 | 显示全部楼层
非常优秀,非常详细
回复

使用道具 举报

23

主题

1403

回帖

1472

积分

至尊会员

积分
1472
发表于 2019-8-13 08:57:12 | 显示全部楼层
相当详细啊
代码不规范,亲人两行泪!
回复

使用道具 举报

36

主题

1445

回帖

1553

积分

至尊会员

积分
1553
发表于 2019-8-13 08:58:29 | 显示全部楼层
太厉害了,感谢楼主的分享!
回复

使用道具 举报

13

主题

223

回帖

262

积分

高级会员

积分
262
发表于 2019-8-13 22:33:58 | 显示全部楼层
对于要成为高手的人 这是必经之路 但对于初学者 往往让人望而生畏
回复

使用道具 举报

27

主题

272

回帖

353

积分

高级会员

积分
353
发表于 2019-8-15 09:03:47 | 显示全部楼层
记录下  正在学习中
回复

使用道具 举报

4

主题

129

回帖

146

积分

初级会员

积分
146
发表于 2019-8-15 09:45:39 | 显示全部楼层
谢谢分享。记录下,方便学习。
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2019-8-19 08:16:34 | 显示全部楼层
suozhang 发表于 2019-8-15 09:03
记录下  正在学习中

有啥问题随时问
回复

使用道具 举报

1

主题

23

回帖

26

积分

新手上路

积分
26
QQ
发表于 2019-8-19 09:13:15 | 显示全部楼层
已标记,学习一下!顶一个
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-8-20 08:14:58 | 显示全部楼层
重新整理后,格式更舒服了些
回复

使用道具 举报

0

主题

28

回帖

28

积分

新手上路

积分
28
发表于 2019-8-20 17:03:32 | 显示全部楼层
厉害了,正常开发就应该这样,之前ST为开发者节省了太多步骤,反而拿到其他开发板都不会了
回复

使用道具 举报

609

主题

3047

回帖

4894

积分

至尊会员

积分
4894
发表于 2019-8-20 17:23:25 | 显示全部楼层
这个方法编译速度快不快 ??

mdk 到 2020 就不能够使用了,也不知道有没有新的 破解工具出来呀 ???
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2019-8-21 02:47:34 | 显示全部楼层
很详细的教程,不过为什么需要用到Ubuntu呢? windows环境下直接安装这些工具在命令行使用可以吗?
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2019-8-21 13:14:17 | 显示全部楼层
hpdell 发表于 2019-8-20 17:23
这个方法编译速度快不快 ??

mdk 到 2020 就不能够使用了,也不知道有没有新的 破解工具出来呀 ???

速度还行,还是比较吃电脑配置。
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2019-8-21 13:23:26 | 显示全部楼层
DataSheep 发表于 2019-8-21 02:47
很详细的教程,不过为什么需要用到Ubuntu呢? windows环境下直接安装这些工具在命令行使用可以吗?

你好,可以的,我用ubuntu是因为可以通过命令直接下载相关工具,研究起来比较方便,也有以后在liunx中使用的打算。如果有cmd和powershell能用的同样的工具也是可以的,因为wsl代替了上述两个的终端功能。既然要用终端,我还是建议用更好用的Ubuntu。还有wsl2的速度更快,为以后做打算。
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2019-8-21 13:29:28 | 显示全部楼层
eric2013 发表于 2019-8-20 08:14
重新整理后,格式更舒服了些

谢谢夸奖,我会继续努力的
回复

使用道具 举报

3

主题

50

回帖

64

积分

初级会员

积分
64
发表于 2019-8-23 12:38:33 | 显示全部楼层
太牛了,强强强。学习了。
回复

使用道具 举报

0

主题

4

回帖

4

积分

新手上路

积分
4
发表于 2019-8-30 06:24:50 | 显示全部楼层
wx_BwfeP1fz 发表于 2019-8-21 13:23
你好,可以的,我用ubuntu是因为可以通过命令直接下载相关工具,研究起来比较方便,也有以后在liunx中使用 ...

哈哈,今天自己试了下用windows的命令行,没有问题,按照帖子修改makefile编译下载一气呵成,只不过原来学了点makefile的语法都忘了,找时间再学习学习,后面再按照你的贴子配置下openocd试试.非常感谢你的分享!
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2019-8-30 13:42:07 | 显示全部楼层
windows10 下的ubuntu跟虚拟机上的 ubuntu效果一样吗
回复

使用道具 举报

2

主题

24

回帖

30

积分

新手上路

积分
30
 楼主| 发表于 2019-9-22 18:10:14 | 显示全部楼层
Lim 发表于 2019-8-30 13:42
windows10 下的ubuntu跟虚拟机上的 ubuntu效果一样吗

稍微有点不一样,没有gui,调用windows目录下的地址时也有点不一样。
回复

使用道具 举报

7

主题

190

回帖

216

积分

高级会员

积分
216
发表于 2019-10-10 14:48:06 | 显示全部楼层
win7怎么耍
回复

使用道具 举报

6

主题

5

回帖

23

积分

新手上路

积分
23
发表于 2019-10-10 23:00:54 | 显示全部楼层
楼主,我gcc已经安装,环境变量也添加了,用arm-none-eabi-gcc.exe -v 能看到版本信息,但用make -j时出来了这样的提示
x_HAL_Driver/Src/stm32h7xx_hal_cortex.c -o build/stm32h7xx_hal_cortex.o
/bin/sh: 1: arm-none-eabi-gcc: not found
Makefile:168: recipe for target 'build/main.o' failed
make: *** [build/main.o] Error 127
/bin/sh: 1: arm-none-eabi-gcc: not foundmake: *** Waiting for unfinished jobs....

/bin/sh: 1: arm-none-eabi-gcc: not foundMakefile:168: recipe for target 'build/stm32h7xx_it.o' failed

make: *** [build/stm32h7xx_it.o] Error 127
/bin/sh: 1: arm-none-eabi-gcc: not found
Makefile:168: recipe for target 'build/gpio.o' failed
make: *** [build/gpio.o] Error 127
Makefile:168: recipe for target 'build/stm32h7xx_hal_msp.o' failed
make: *** [build/stm32h7xx_hal_msp.o] Error 127
/bin/sh: 1: arm-none-eabi-gcc: not found
Makefile:168: recipe for target 'build/stm32h7xx_hal_cortex.o' failed
make: *** [build/stm32h7xx_hal_cortex.o] Error 127

直接用的cubemx生成的makefile工程
看见有帖子说是ubuntu不支持64位库,按提示安装了32位库还是不行
回复

使用道具 举报

0

主题

84

回帖

84

积分

初级会员

积分
84
发表于 2019-10-11 08:34:39 | 显示全部楼层
谢谢,,学习了。
回复

使用道具 举报

0

主题

9

回帖

9

积分

新手上路

积分
9
发表于 2019-10-13 18:04:51 | 显示全部楼层
记录下,这个不错,可以不用虚拟机了
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2019-10-14 18:37:45 | 显示全部楼层
Plutooo. 发表于 2019-10-10 23:00
楼主,我gcc已经安装,环境变量也添加了,用arm-none-eabi-gcc.exe -v 能看到版本信息,但用make -j时出来 ...

你生成的makefile 里面的cc可能定义的不对, 试试加上.exe后缀。 他这个cubemx生成的makefile用的是liunx下的工具,在windows里面用的话要加 .exe后缀,对比下帖子里面发的,因为我们安装的就是exe格式的。论坛不能微信登录了就换了个号。
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2019-10-14 18:49:42 | 显示全部楼层

可以试试用cygwin
回复

使用道具 举报

2

主题

2

回帖

8

积分

新手上路

积分
8
发表于 2022-8-19 15:01:39 | 显示全部楼层
楼主你好,我用的是openocd,cmsis-dap,stm32f407,下载程序是出错,在KEIL里是可以正常下载调试的。

openocd -f ./openocd.cfg -c init -c halt -c "program Template.hex verify reset exit"

error executing stm32x flash write algorithm
flash write failed = 0x00000040
error writing to flash at address 0x08000000 at offset 0x00000000
auto erase enabled

是有什么参数要配置吗?stm32f407,1M flash
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 07:46 , Processed in 0.271489 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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