[普冉PY32系列] VSCode 开发环境搭建

        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弹窗和仿真问题 进行解决, 实测非常好用。

参考网址:

资料下载_普冉半导体(上海)股份有限公司

简介 | Embedded IDE For VSCode

Jlink和Keil解决The connected J-Link is defective弹窗和仿真问题 - 开发环境 - 硬汉嵌入式论坛 - Powered by Discuz!

Installing — pyOCD

......

<think>好的,我现在需要处理用户关于PY32F002B开发资源的请求。首先,用户提到了几个引用来源,我需要检查这些引用是否与PY32F002B相关。查看引用内容: 引用[1]提到了BlowFish加密算法的Python代码,似乎与微控制器开发无关。引用[2]讨论Java中的Locale设置,引用[3]涉及Actor模型和Maven项目配置,引用[4]提到JLink和RTT Viewer的使用,这可能与嵌入式开发有关,但不确定是否直接相关。 用户的主要问题是寻找PY32F002B的开发教程、资源和示例代码。我需要确定这些信息是否在提供的引用中存在。根据引用内容,没有直接提到PY32F002B的信息,但引用[4]提到的JLink和RTT Viewer可能在嵌入式开发中常用,可以作为调试工具的建议。 接下来,我应该基于自己的知识回答用户的问题。PY32F002B是普冉半导体的一款ARM Cortex-M0+微控制器,资源可能包括官方文档、开发板资料、示例代码库、社区论坛等。需要建议用户访问普冉官网,查找SDK和用户手册,并推荐使用Keil或IAR等IDE。此外,调试工具如J-Link和PyOCD可能适用,但需要确认兼容性。 用户可能需要具体的步骤,比如如何获取SDK,如何配置开发环境,以及示例代码的位置。由于引用中没有提供直接相关的资料,我应建议官方资源和第三方社区,如GitHub或电子论坛。同时,可以提到使用STM32的类似资源作为参考,但注意硬件差异。 最后,生成相关问题需要考虑用户可能的后续需求,例如开发环境配置、外设使用、代码示例、调试方法、功耗优化和替代型号比较等。</think>关于PY32F002B微控制器的开发资源,以下是系统化的建议: ### 一、官方资源获取 1. **数据手册与参考手册** 访问普冉半导体官网([www.puyasemi.com](http://www.puyasemi.com)),在支持页面搜索`PY32F002B`获取: - 《PY32F002B数据手册》:包含引脚定义、电气特性等硬件参数 - 《PY32F002B参考手册》:详细说明外设寄存器配置与时钟系统 2. **SDK下载** 官方SDK通常包含: - 标准外设库(SPL) - 启动文件(startup_*.s) - 链接脚本(.ld文件) - 示例工程(GPIO/UART/ADC等基础例程) ### 二、开发环境搭建 1. **工具链选择** - Keil MDK-ARM:需安装PY32设备支持包 - IAR EWARM:配置对应设备描述文件 - GCC + VSCode:使用ARM-none-eabi-gcc工具链 2. **调试工具配置** ```makefile # 典型OpenOCD配置示例 source [find interface/cmsis-dap.cfg] transport select swd source [find target/py32f0x.cfg] ``` 建议使用J-Link或DAPLink调试器,注意部分PY32芯片需特定固件[^4] ### 三、示例代码参考 1. **GPIO控制基础** ```c void LED_Init(void) { __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); } ``` 2. **UART通信实现** ```c void UART_SendString(UART_HandleTypeDef *huart, char *str) { HAL_UART_Transmit(huart, (uint8_t *)str, strlen(str), HAL_MAX_DELAY); } ``` ### 四、调试技巧 1. **RTT日志输出** 可参考J-Link RTT实现调试日志输出,具体配置方法类似引用[4]中提到的RTT Viewer应用[^4] ### 五、社区资源 - 电子工程世界论坛:搜索相关主题帖 - GitHub:查找`PY32F002B`关键词,注意验证代码兼容性 - 立创EDA开源平台:可能有硬件参考设计
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值