0.前言

  • 因为智能车竞赛而接触到了MM32F32G9P这款单片机。而由于我很喜欢macOS系统,加上我同时喜欢剪视频,因此买了一个arm芯片的MacBook Pro,但这就限制了我没办法用双系统运行Windows系统,只能转而使用虚拟机。使用Mac烧录stm32的教程很多,但是很少有mm32的教程。理论上这块芯片不用虚拟机也能烧录,但奈何本人实力有限,只能做到用vs code代替mdk(主要keil又丑又难用)
  • 第一次写这种教程,可能会漏很多东西,请见谅

1.准备工作

  • 准备好pd虚拟机并安装Windows系统,Windows10、11都可以
  • 虚拟机上安装mdk,vsc,python(最好选x86的,不要选arm芯片),以及arm芯片的下载器驱动(比如jlink的arm驱动,可能需要的arm CH341驱动)

2.安装

先在这里贴一个vsc插件EIDE的网址,这个作者原来的插件Keil Assistant已经不再更新了

安装在这里就不再赘述,就是下载插件即可,详情请看上面的网址

如果你是Windows笔记本想要使用,基本上按照上面这个网址的教程来配置就不会有任何问题

3.开始

  1. 安装完成后点击这里进入插件界面

  1. 点击 导入项目 导入KEIL 项目文件,MDK 项目为 *.uvprojx, KEIL C51 项目为 *.uvproj

随后右下角会弹出 eide项目是否和keil文件放在同一文件夹内切换工作区 的弹窗,自行选择即可

  1. 点击 设置工具链路径 可以配置mdk路径,打勾的是配置好的,叉是没配置好的

(好像本文需要的都自动配置好了?我忘了我有没有手动配置了)

4.配置

  • 因为手上只有灵动mm32的芯片,下载器用的是逐飞Dap Link,所以本文基于这两者配置,其他芯片和下载器请移步至EIDE手册(上面的网址)
  • 另外提一嘴,因为比较菜,我用的是逐飞MM32开源库,大佬别骂

导入完成后界面如下

配置主要用到 芯片支持包构建配置烧录配置

4.1.芯片支持包

  1. 点击加号添加芯片支持包,也就是Keil的*.pack文件,如果不需要添加包忽略即可

  1. 选择芯片

4.2.构建配置

  1. 构建配置选择AC6
  2. CPU类型按照芯片选择即可,这里是Cortex-M3
  3. 自定义链接脚本如果导入的时候就是true而且脚本路径存在的话就不要管他,不然就选择false(后面的更新有详细说明)
  4. 构建器选项主要用到了两个,这个后面再说

4.3.烧录配置

最麻烦的来了

  • vs code需要做的只有四件事:
  1. 按照下载器选择烧录工具,我这里用的逐飞Dap Link,因此选择pyocd
  2. **程序文件 **建议点开重新输入,理论上不输入也可以,但我会报错,很奇怪,输入${ExecutableName}.hex
  3. 目标芯片名称 根据选择的芯片填写
  4. 其他选项 如果你使用了芯片包,请点开输入以下代码,保存并关闭:

pack:

- X:\XX\XXX\XXXXXXXXXX.pack

将第二行替换为芯片包的地址,地址中间的斜杠只需要写一个!

  • 麻烦在于pyocd的配置,我这里出了很多问题
  1. 以管理员模式打开CMD。不要直接Win/Command+R快捷键打开,开始菜单搜索然后右键以管理员模式运行
  2. 输入以下代码安装pyocd(这里当时忘记截图了):

pip3 install pyocd

​ 或者

pip install -U pyocd

我自己是第二种成功的,当时安装pyocd各种报错,有/无科学上网,不同的安装语句都试过,各位可以多试试,千万不要在安装途中关闭CMD!

  1. 从 github 下载 usblib,下载*.7z文件

  2. 解压 usblib 后,将 MS32目录下的libusb.dll 复制到 python.exe 所在的目录和 C:\Windows\System32目录下(所选择的 libusb.dll 必须要和电脑上安装的 python 是同一体系结构,例如:x86 版本python对应 MS32目录下的libusb.dll

  1. 还是管理员运行的CMD,输入pyocd list,使用虚拟机的朋友大概率会获得这样的结果

而正常的是这样的

**解决办法:**找到你的python.exe,如图设置:右键点开 属性 - 更改仿真设置 - 选择安全仿真

这时理论上来说再使用pyocd list就不会报错了。如果依然报错请百度

5.编译烧录

  1. 可以在左边项目处点击编译烧录,也可以在右上角点击,图片上分别是 构建、清理、下载,左边项目处会多一个 重新构建 的按钮

  2. 这时已经全部配置好了,但有可能还是不能烧录

  • 问题1

这时候就要用到上文 4.2 中提到的构建器选项

将图片中这项取消勾选即可(别忘记保存!!!)

  • 问题2

依然是构建器选项

选择level-image-size即可

  • 问题3

这个问题我有一点遗忘了,有两种原因好像

  1. 4.2自定义链接脚本 应该选true但是选成了false

  2. 选择false的界面中有 RAM/FLASH布局 ,这个选项内的设置不正确


    这里可以打开keil的项目设置,参照keil中的数据进行填写

  • 问题4 有的时候下载会失败(终端里面啥都没有,过了很久出现很多灰色文字),多下载几次就好了

    (不知道是不是作者更新过修复了,我写这篇文章的时候想去截图结果发现每次都一次就下载成功了,而且下载变快了 说到下载变快了我想提一下,英飞凌的tc264性能是好,但是Aurix Development Studio编译和下载那叫一个慢,太差劲了,不知道是不是eclipse的通病)

  • 还可能有其他问题我没碰到,有的问题可能是keil文件的设置没设置好,可以去keil里面设置好,比如上面那张图片的Debug选项中有些设置是错误的之类的都有可能,其他的就只能百度了。

  • 错误都解决就可以愉快的烧录啦,vsc写代码体验比keil舒服了很多。烧录成功界面:

6.Debug

这东西我一直没整好,Windows笔记本用户可以去开头那个连接里面找到debug部分对照着操作应该可以弄好。我需要Debug都是去Keil 里面干的,如果之后成功了再过来更新吧

(xswl逐飞的精准预判)

7.结尾

应该都写完啦,如果有漏的之后再补充吧,第一次写这种文章,写的不好请见谅!


20220411更新

用一种奇怪 的办法解决了debug问题

  1. 依然是 EIDE Manual 网址,找到 入门-新建项目-从空项目开始(以stm32f1为例)
  2. 按照手册操作新建一个工程就可以debug啦

放张我自己的文件目录在这里,可以参考一下(mycode是我用来放自己写的文件的地方)

注意事项

  • 4.2中 自定义连接脚本 中,文件可以选择*.scf文件,如果用的是逐飞工程文件,可以找一下是否有

libraries/sdk/mdk/linker/mm32f3277g_flash(注意这个文件可能是没有后缀的,也有可能有*.scf后缀)

  • 除了Manual中提到的install cmsis header files别忘了pack包还是要添加的,其他工程配置参考上文

M1 Mac使用PD虚拟机配合VSC代替Keil烧录MM32单片机相关推荐

  1. 【亲测有效】PD虚拟机 17 for Mac功能 pd虚拟机支持m1和12系统

    PD虚拟机 17 for Mac是Mac平台上非常受欢迎的虚拟机软件,新版本的pd虚拟机17中文版完美支持Intel和Apple M1芯片,同时支持最新的macOS Monterey 12和Windo ...

  2. mac访问pd虚拟机上服务器,Mac如何访问pd虚拟机文件夹 Mac访问pd虚拟机文件夹图文教程...

    作为很多使用Mac系统的用户来说,有时候需要用到的软件或者工具在Mac系统下并不支持,这时候我们就需要借助虚拟机工具来安装windows系统实现工作或者学习的需要,那么Mac如何访问pd虚拟机文件夹? ...

  3. Mac利用PD虚拟机安装Centos7

    一.PD虚拟机的安装 1.Parallels Desktop ,简称PD,号称是Mac上最好用的虚拟机,具体的就在此不进行过多描述.下附Mac .app文件夹下载,下载后放入/Applications ...

  4. Mac 安装pd虚拟机,远程桌面无法使用ctrl或其他符号无法使用问题

    最近有个场景需要在mac上安装pd虚拟机,安装win10系统.然后需通过win10远程桌面到其他电脑进行操作,发现很多按键都不起作用.比如ctrl或者!,@,*号都无法打出来.需要设置一下pd的配置. ...

  5. 一看就会,Intel 芯片的Mac电脑PD虚拟机懒人win10和win11安装教程

    Parallels Desktop虚拟机破解版如何快速安装Win系统,Intel mac如何快速安装Win+虚拟机.为大家带来Parallels Desktop虚拟机破解版如何安装win系统教程. 请 ...

  6. pd虚拟机安装linux系统,Mac利用PD虚拟机安装CentOS 7

    Post Views: 263 使用Parallels Desktop在Mac上安装CentOS Linux的方法有两种: 通过使用Parallels Desktop中可用的CentOS设备. 通过使 ...

  7. 无意苦争春,一任群芳妒!M1 Mac book(Apple Silicon)能否支撑全栈工程师的日常?(Python3/虚拟机/Docker/Redis)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_187 就像大航海时代里突然诞生的航空母舰一样,苹果把玩着手心里远超时代的M1芯片,微笑着对Intel说:"不好意思,虽然 ...

  8. pd linux文件夹打不开,Mac怎么访问pd虚拟机文件夹 Mac如何访问pd虚拟机文件夹

    作为很多使用Mac系统的用户来说,有时候需要用到的软件或者工具在Mac系统下并不支持,这时候我们就需要借助虚拟机工具来安装windows系统实现工作或者学习的需要.那么Mac怎么访问pd虚拟机文件夹? ...

  9. 虚拟机macos 怎么扩展磁盘空间_Parallels Desktop 15 for Mac(pd虚拟机) v15.1.2.47123已更新...

    哪里有适用于最新的10.15系统的pd虚拟机?小编为您带来pd虚拟机介绍.Parallels Desktop 15 mac版是mac上最强大也是最好用的虚拟机软件,最新版本的parallels des ...

最新文章

  1. 微服务如何设计一个配置中心
  2. hadoop job 未跑满资源_2018年第26周-解剖MapReduce Job
  3. 《好未来编程题》删除公共字符
  4. Android.自定义控件的实现 (转载)
  5. 几个比58同城交换更好玩的交换玩法
  6. Java基础——数组应用之StringBuilder类和StringBuffer类
  7. dataGridView1.DataSource多增加列,数据不进自己规定的列?
  8. string StartsWith 方法 Https
  9. 值得收藏——在线小视频解析下载教程合集
  10. el-table因为出现垂直滚动条造成多一个td的空白格
  11. 乌克兰网站网站服务器,乌克兰服务器地址ip
  12. 影子卫士汉化语言包 res.ini
  13. 双稳态电路的两个稳定状态是什么_干货|常见的脉冲电路到底有何用途和特点?终于了解了!...
  14. This beta version of Typora is expired, please download and install a newer version.
  15. 年包150万的腾讯程序员,深圳房产一千万,同学聚会只能排名第16!
  16. Android图片选择器PhotoPicker
  17. C#生成COM组件,Delphi调用
  18. 狂人日记day12 day13
  19. My first job - Goodbaby Group in Shanghai
  20. coffee编译coffee到js

热门文章

  1. osta计算机等级考试cad,Autodesk在线考试流程介绍
  2. JNI开发之-Android.mk和Application.mk 详解
  3. 卫剑钒:Nginx不接受俄罗斯的贡献,违背开源协议了吗?
  4. C#毕业设计——基于C#+asp.net+SQL Server的服装连锁店管理系统设计与实现(毕业论文+程序源码)——服装连锁店管理系统
  5. Arbitrage题解
  6. 桌游狼人杀、警匪游戏、双身份杀人游戏(狼人杀2.0升级版)最全、最详细规则、攻略
  7. html如何让其中一个div浮在另一个div上面
  8. 【luogu AGC034F】RNG and XOR(FWT)
  9. 浅谈indexedDB/indexedDB数据实际储存的位置
  10. RPG游戏《黑暗之光》流程介绍与代码分析之(四):任务系统的实现