PY32系列32位微控制器基于Arm® Cortex®-M处理器,包括M0+和M4系列产品。集高性能、实时操作、数字信号处理、低功耗性能、高性价比等特性于一身,同时还保持了系统简单、易于开发的特点,适用于消费类、工业类等多领域应用开发。
本文所使用的主控具体型号为:PY32F002AF15P,搭建的开发环境为:VSCode[EIDE]+PyOCD+Keil+JLink RTT Viewer
参考本文,理论上你可以做到任何32系列单片机的开发环境配置。
1. 准备工作
VSCode: Visual Studio Code - Code Editing. Redefined
Keil MDK536: https://img.anfulai.cn/bbs/96992/MDK536.EXE ,使用536是因为536是最后一个自带AC5编译器的版本。
JLink RTT Viewer:SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace,直接找一个安装就可以了,Keil自带的JLink 没有。
若不需要 JLink RTT Viewer功能,那你直接看到第3点即可,在下载配置的时候将其配置为你相应的配置,比如使用openocd,这里提供一下普冉官网的资料下载地址:资料下载_普冉半导体(上海)股份有限公司,你可以在其中找到官方提供的openocd。
2. 安装Keil
主要是要把Keil激活,EIDE需要其提供编译工作,具体安装可以参考:Keil MDK 5.36安装及和谐_mdk536-CSDN博客
需要将官方的Pack包安装一下:资料下载_普冉半导体(上海)股份有限公司,打开网站往下滑,找到工具与软件,这里根据你的型号进行搜索,安装好keil后可以试试示例代码下载到板子上看能不能跑通。
3. 安装VSCode与EIDE插件配置
具体可以参考B站视频:VSCode+EIDE开发STM32,支持标准库、HAL库、LL库,将烧录配置为PyOCD。
按照视频介绍的,设置好EIDE插件中AC5编译器的配置、UV4位置等。EIDE的项目可以从MDK中进行导入进来,再进行编译试试看能否成功。
4. PyOCD配置
PyOCD的安装参考:玩转 pyocd - 哈拎 - 博客园,非常详细,只不过我们需要做到pyocd能直接被搜索,即添加到环境变量。
在Windows环境下,使用python安装好PyOCD后cmd中并不能直接进行运行,需要将其添加到环境变量中去,我这里使用everything的方法进行搜索PyOCD的路径,如果你知道自己的python路径,直接参考我的路径进行修改即可。
找到这个PyOCD的exe文件,将它的路径添加到环境变量中去,参考 编辑系统环境变量 - Windows_编辑环境变量-CSDN博客,然后将搜索到的路径添加进去。
使用Win+R输入CMD,输入pyocd -V 即可查看版本号。
虽然pyocd是安装好了,但是我们同时要像keil一样给他安装个Pack包,由于在线安装的形式非常慢,这里直接复制到对应的路径:C:\Users\用户名\AppData\Local\cmsis-pack-manager\cmsis-pack-manager,在桌面新建一个文件夹为 Puya,在里面再新建一个文件夹为:PY32F0xx_DFP ,将之前获取到的Pack包放到里面,并改名 1.2.2.pack,不然识别不到。
经过这一番操作后,pyocd就可以对PY32 F0系列单片机进行烧录了,你可以到cmd中查看是不是成功安装了这个包,使用 pyocd pack show,结果如图:
这里也可以查找一下你所使用的芯片,我这里使用 PY32F002AF15P,我直接搜索PY32F002A,具体指令为:pyocd pack -f PY32F002A,可以看到是支持的的,如果没找到的话试试少用一些字符扩大范围:
记住这个Part部分对应的名称,我们需要在EIDE中配置一下:
5. 验证下载
做完这些后应该可以进行编译和下载了,按F7进行编译或点击编译按钮,编译成功后再点击烧录按钮或者快捷键CTRL+ALT+D,即可下载成功,速度还是非常快的。
6. JLink RTT Viewer 使用
这个需要嵌入RTT模块的代码,可以参考:使用RTT代替UART,把你的JLink变成串口调试助手 ,也可以在github中下载RTT部分的代码:https://github.com/SEGGERMicro/RTT。如果你的 JLink RTT Viewer不能自动搜索地址,请打开编译生成的map文件,搜索: segger_rtt.o(.bss),找到对应的地址填入到Viewer 中去即可。
7. 写在最后
如果你使用jlink ob,就是淘宝十几块钱买的那种Jlink,那你可能会被提示盗版,可以参考 Jlink和Keil解决The connected J-Link is defective弹窗和仿真问题 进行解决, 实测非常好用。
参考网址:
Jlink和Keil解决The connected J-Link is defective弹窗和仿真问题 - 开发环境 - 硬汉嵌入式论坛 - Powered by Discuz!
......