跳转至

环境搭建指南

文档版本 日期 作者 修改记录
V1.0 2025.03.25 ljp 1. 初始版本
V1.1 2025.08.25 ljp 1. 添加 JFlash 烧录方式说明

概述

本文将介绍如何搭建如般微 PT3220 系列芯片的软件开发环境。

准备工作

  1. Windows 电脑
  2. Git
  3. 下载 PT3220 SDK
  4. MDK5
  5. 带 SWD​ 接口的 J-Link​ 调试器
  6. (可选) Python

软件安装

MDK5

PT3220 使用 KEIL MDK5 进行应用程序开发与调试。

  • 下载地址:MDK5 (建议使用 5.25 以上版本)

Tip

MDK5.37 之后的版本默认不安装 AC5(ARMCC) 工具链,若选择这些版本,用户需要手动安装,具体步骤请参考网络资源。

安装过程按照软件提示操作即可,注意不要包含中文路径。

MDK5安装

完成 MDK5 安装后,还需要安装 PT3220 的器件支持包:

下载后双击打开,点击 NEXT>> 自动安装。

J-Link 是 SEGGER 公司开发的一款高性能调试器。

安装过程按照软件提示操作即可。

Python

Python 是一种广泛使用的解释型、高级和通用的编程语言。

如般微提供的 PT3220 SDK 部分脚本使用 Python 编写,比如 ota 例程的固件打包脚本。

注意,安装时需要将 Python 路径添加至系统环境变量 PATH,方便命令行调用。 Python安装

Git

如般微 PT3220 SDK 使用 Git 进行版本控制。

Git安装

编译烧录调试

编译

我们以 examples/gpio_test 工程为例,介绍如何编译工程。

  1. 双击打开 examples/gpio_test/mdk/gpio_test.uvprojx 工程文件
  2. 点击左上角工具栏 buildrebuild 按钮执行工程编译操作,正常编译输出信息如下图所示:

    build

烧录

PT3220 支持通过以下方式将应用固件烧录至芯片:

  1. 在 Keil IDE 中使用 JLink 烧录
  2. 使用 JFlash 烧录
  3. 使用串口烧录
  1. 将 JLink 与 PT3220 通过 SWD 接口连接,检查 JLink 驱动正常安装且在 Debug Settings 界面可以识别到芯片 SW Device 设备

    SWD接口下载硬件连接

    SWD正常识别芯片

  2. 选择正确的烧录算法

    PT3220 SDK 目录下所有工程默认使用 PT3220-Hxxx (256kB Flash) 芯片开发,其烧录算法配置如下: 烧录算法配置界面

  3. 确认编译成功后,点击工具栏 Download 按钮开始烧录固件,烧录成功后,Build Output 窗口会显示 Programming Done. 字样

    烧录完成

此时观察 E3220 开发板,可以看到板载 D1、D2 指示灯以 1s 周期进行闪烁,说明固件烧录成功,程序正常运行。

使用 JFlash 烧录

单独使用 JFlash 软件对 PT3220 进行烧录,需要手动添加烧录算法。

不建议使用过低版本的 JLink 驱动,否则可能出现烧录过程中校验失败的问题。下面以 SEGGER J-Flash V7.58 为例:

  1. 点击下载 PT3220_JLink_FLM_V1.2.0.zip

  2. 将压缩包的 RBM 目录完整解压到 JLink 的 Devices 目录下,例如 C:\Program Files\SEGGER\JLink\Devices

  3. 管理员方式打开修改 JLink 安装目录下的 JLinkDevices.xml 文件(注意不是上面压缩包里的),将以下内容拷贝到文件末尾 </DataBase> 的上一行,保存并关闭文件

     <!-- -->
     <!-- RBM -->
     <!-- -->
     <Device>
     <ChipInfo Vendor="RBM" Name="PT3220-Gxxx" Core="JLINK_CORE_CORTEX_M0" WorkRAMAddr="0x20003000" WorkRAMSize="0x4000" JLinkScriptFile="Devices/RBM/PT3220.jlinkscript"/>
     <FlashBankInfo Name="QSPI Flash" BaseAddr="0x18000000" MaxSize="0x20000" Loader="Devices/RBM/PT3220_128KB_FLASH_PH_D.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" />
     </Device>
     <Device>
     <ChipInfo Vendor="RBM" Name="PT3220-Hxxx" Core="JLINK_CORE_CORTEX_M0" WorkRAMAddr="0x20003000" WorkRAMSize="0x4000" JLinkScriptFile="Devices/RBM/PT3220.jlinkscript"/>
     <FlashBankInfo Name="QSPI Flash" BaseAddr="0x18000000" MaxSize="0x40000" Loader="Devices/RBM/PT3220_256KB_FLASH_PH_D.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" />
     </Device>
     <Device>
     <ChipInfo Vendor="RBM" Name="PT3220-Ixxx" Core="JLINK_CORE_CORTEX_M0" WorkRAMAddr="0x20003000" WorkRAMSize="0x4000" JLinkScriptFile="Devices/RBM/PT3220.jlinkscript"/>
     <FlashBankInfo Name="QSPI Flash" BaseAddr="0x18000000" MaxSize="0x80000" Loader="Devices/RBM/PT3220_512KB_FLASH_PH_D.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" />
     </Device>
    

  4. 打开 JFlash 软件,选择创建新工程

    JFlash创建工程

    选择上面添加的 PT3220 烧录算法

    JFlash选择烧录算法

  5. 导入待烧录的 .bin 或 .hex 固件,支持鼠标拖拽导入

    JFlash导入固件

    注意

    若导入的是 bin 固件,需要指定烧录起始地址,一般为 0x18004000,具体见 SDK/core/mdk/*.sct 文件的 SCT_FLASH_BASE 宏定义

  6. 点击 Target - Connect 连接芯片,点击 Production Programming 开始烧录

    JFlash连接并烧录

  7. 提示以下内容即表示烧录成功

    JFlash烧录成功

使用串口烧录

见 《串口下载工具》介绍。

调试

Keil MDK 提供了非常方便的在线调试功能。

在程序编译成功且 SW Device 设备正常识别后,点击 Debug 按钮进入调试界面:

调试界面

具体调试步骤需要结合用户程序设计,本文省略。

切换工程芯片型号

如般微提供的 PT3220 SDK 所有工程均基于 PT3220-Hxxx(256k),若需要切换到 PT3220-Ixxx(512k),请参考以下步骤:

  1. 修改 MDK 工程使用的器件型号 MDK芯片Device切换
  2. 更换 512k 烧录算法 移除256K烧录算法 添加512K烧录算法
  3. 修改工程对应 sct 分散加载文件的 Flash 起始/结束地址定义,关于 PT3220 Flash 定义详见 应用开发指南/地址空间分配/Flash 说明
    // 注意,起始地址不能小于 0x18004000,以避免占用用户数据空间。
    
    // ...
    // 256k 芯片,为 app 分配一半 Flash 空间,即 0x18004000 ~ 0x18020000
    #define SCT_FLASH_BASE          (0x18004000)
    #define SCT_FLASH_END           (0x18020000)
    
    // 512k 芯片,为 app 分配一半 Flash 空间,即 0x18004000 ~ 0x18040000
    #define SCT_FLASH_BASE          (0x18004000)
    #define SCT_FLASH_END           (0x18040000)
    // ...