◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

HPM知识库
本栏目是先楫 MCU 开发的「一站式技术参考库」!
周周上新,为HPM开发者提供全维度的技术文档、问题解决方案、开发指南与实战教程,了解更多,请访问https://kb.hpmicro.com/
文中以板载 FT2232 的 HPM6E00EVK 开发板、在 Windows 操作系统上为例进行说明,其他 HPM 系列开发板的使用方法与之类似。
本文介绍 HPM SDK 软件开发套件的功能特性与使用方法,包括开发环境搭建、工程创建与编译、调试器配置及常见问题处理等内容,帮助用户快速掌握软件开发流程。
HPM SDK(HPM 软件开发套件,以下简称 SDK )是基于 BSD 3-Clause 许可证发布的 HPM 系列 SoC 底层驱动软件包,提供了 SoC 上各 IP 模块的底层驱动代码,并集成了多种中间件与 RTOS 。
SDK 开发环境支持以下两种搭建方式,用户可根据自身需求选择:
HPM_SDK 支持第三方 IDE 开发,如 Segger Embedded Studio for RISC-V。
Segger Embedded Studio 提供了基于 C/C++ 的专业嵌入式开发所需的各种工具和特性,包括工程管理器与构建系统、含代码补全和折叠功能的源代码编辑器,以及用于下载和安装板卡及器件支持包的分包管理系统。
先楫半导体向用户提供免费商用的 license,用户可在以下网址申请:https://license.segger.com/hpmicro.cgi
下载安装 Segger Embedded Studio,本文档使用版本号为 8.10
软件相关版本号需要适配 sdk,具体支持版本号参见 sdk 中
CHANGELOG.md
下载最新版本 sdk_env_vx.x.x.zip 压缩包后解压(本文以 sdk_env_v1.6.0 为例)
> 解压目标路径中只可包含英文字母以及下划线,不可包含空格、中文等字符。
安装调试器驱动
sdk_env_v1.6.0\tools\FTDI_InstallDriver.exe 以安装可用于调试的 FT2232 驱动。
图 1 安装 FTDI 驱动
正确安装驱动后,使用 USB Type-C 线缆将 HPM6E00EVK 上的 J16 连接到 PC,在 Windows 设备管理器中可看到一个 USB Serial Port 以及一个 Dual RS232-HS (Interface 0)。
图 2 查看 Windows 设备管理器
图 3 sdk_env 创建工程方式
以命令行工具为例,双击打开 sdk_env_v1.6.0 下 start_cmd.cmd ,该脚本将打开一个 Windows command prompt (以下简称为 sdk prompt ),如果之前步骤配置正确,将会看到

图 4 打开 sdk prompt
cd hpm_sdk\samples\hello_worldgenerate_project -listgenerate_project -b hpm6e00evk -f
图 5 构建目标板工程
generate_project 可以生成多种工程类型,例如 flash_xip (链接完成后,应用程序将在 flash 地址空间原地执行)和 debug (链接完成后,应用程序将在片上 sram 中执行,掉电后程序不能保存)等。
generate_project -b hpm6e00evk -f -t flash_xip
图 6 构建目标板 flash_xip 工程
更多 generate_project 的使用方法可通过以下命令查看。
generate_project -h
图 7 generate_project 帮助
hpm6e00evk _build 的文件夹,该目录下 segger_embedded_studio 的目录中可找到 Segger Embedded Studio 的工程文件 hello_world.emProject ,双击可打开该工程。
图 8 Segger Embedded Studio 打开 hello_world 工程

图 9 Segger Embedded Studio 编译 hello_world 工程

图 10 Segger Embedded Studio 调试 hello_world 工程

图 11 Segger Embedded Studio 中配置串口

图 12 Segger Embedded Studio 中连接串口

图 13 Segger Embedded Studio 打开串口

图 14 Segger Embedded Studio 运行 hello_world

图 15 start_gui 工具
start_gui.exe
图 16 GUI project generator 工具操作界面
SAMPLES下拉列表中选择hello_world,在BOARDS下拉列表中选择hpm6e00evk,在TYPE下拉列表中选择flash_xip。点击Generate Project按钮,即可生成 flash_xip 类型的 hello_world 工程。
图 17 GUI project generator 生成 hello world 工程
Open with IDE(SES)即可打开 hello_world 工程FT2232 驱动没有正确安装
HPM6E00EVK 板载了 FT2232 调试器,方便用户直接调试程序。当使用 FT2232 调试器遇到 GDB Server 连接失败时(如图 19 所示),首先确认 FT2232 驱动是否正确安装。可在设备管理器中检查总线和串口驱动是否已正确安装:应能看到一个 USB Serial Port 和一个 Dual RS232-HS 。

图 19 GDB Server 连接失败
BOOT Pin 配置异常
HPM6E00EVK 的 BOOT Pin 配置也可能影响芯片调试。如果调试失败,可尝试按如下配置调整 BOOT Pin 后复位: BOOT0 = 0 , BOOT1=1 。
原因在于,Flash 内部执行的代码,特别是中断较为频繁时,可能影响芯片进入 debug 模式。通过 BOOT Pin 配置将微控制器置于 bootloader 模式下,可避免未知的中断状态干扰。
如果是生成的 Flash 调试工程,为避免 Flash 内已有代码执行而影响调试连接,可先将 BOOT Pin 调整为 BOOT0 = 0 、 BOOT1=1 ,将芯片复位或重新上电,之后再将 BOOT Pin 调整为 BOOT0 = 0 、 BOOT1=0 ,即从 NOR Flash 启动。最后点击 Debug 按钮开始调试。
调试没有正常退出
如果调试环境依赖 openocd ,有时调试未正常退出,可能导致 openocd 进程驻留,影响下一次调试。在调试出错时,可进入 Windows 任务管理器,查找 openocd.exe 进程并关闭。同样,打开多个 Segger Embedded Studio 窗口时,若其中一个未退出调试状态,再开始另一个环境的调试,也可能导致类似问题。
Debug 跳线帽没有正确配置
为了方便用户调试, HPM EVK 提供了两种调试接口( on board debug-to-JTAG 和 JTAG 直连),两种调试模式不能同时进行。若使用 FT2232-to-JTAG 模式,需将 TRST、 TDI、 TMS、 TDO、 TCK 跳线帽安装;若使用 JTAG 直连方式,则需将这五个跳线帽拔掉。
openocd 没有正确配置
右键点击工程,选择Options,在弹出的对话框中查看 GDB Server ,如图所示,可在 GDB Server Command Line 中查看 openocd 配置文件。

图 20 查看 openocd 配置
SDK 默认配置如图,使用 FT2232 进行调试

图 21 GDB Server 默认配置
若是板载 HSLink 调试器的 EVK 此处默认为 cmsis_dap。
如果用户使用其他调试器,则需要更改此配置文件。以 cmsis_dap 调试器为例,更改后的配置如图所示。

图 22 使用 cmsis_dap 调试器 GDB Server 配置
J-Link 调试器没有正确配置
如果用户使用 Segger 授权的 J-Link 调试器,则需要安装 J-Link 驱动。用户可在以下网站下载 J-Link 驱动程序:https://www.segger.com/downloads/jlink

图 23 J-Link 驱动下载
安装 J-Link 驱动程序

图 24 J-Link 驱动安装
安装驱动完成后,将 J-Link JTAG 接口连接到 HPM6E00EVK 的 J2 20pin 牛角插座,同时拔掉 TRST 、 TDI 、 TMS 、 TDO 、 TCK 跳线帽。通过 Project -> Options 打开工程配置界面,点击 Debugger 配置项,确保Target Connection配置值为 J-Link ,选中 J-Link 配置项并将 Target Interface Type 选择为 JTAG 。

图 25 Target Connection 设置为 J-Link

图 26 Target Interface Type 设置为 JTAG
本节说明如何更新 sdk_env 中的 SDK 及 toolchain ,用户可根据需求按以下步骤操作。
hpm_sdk 并解压缩hpm_sdk 放至 sdk_env 目录下,确保 sdk_env\hpm_sdk\ 目录中存在 env.cmd
图 27 更新 SDK
rv32imac_zicsr_zifencei_multilib_b_ext-win.zip 为例)toolchain 放至 sdk_env\toolchains 目录下,确保 sdk_env\toolchains\rv32imafdc-ilp32d-x86_64-w64-mingw32 目录中存在 bin 文件夹。
图 28 覆盖 toolchain

图 29 更新 start cmd.cmd 中的 TOOLCHAIN_NAME
start_gui.exe ,在界面中点击右上角Advanced`按钮,在设置列表中找到 GNURISCV_TOOLCHAIN_PATH 行,点击右侧浏览按钮,选择`C:/HPMICRO/SDK/V160/sdk_env_v1.6.0/toolchains/rv32imac_zicsr_zifencei_multilib_b_ext-win 目录,点击”SAVE”。即可在 LOG WINDOW 中看到更新完成的提示。
图 30 更新 start_gui.exe 中的 TOOLCHAIN_NAME

图 31 start_gui.exe 更新 TOOLCHAIN 完成
上海先楫半导体科技有限公司(以下简称:“先楫”)保留随时更改、更正、增强、修改先楫半导体产品和/或本文档的权利,恕不另行通知。用户可在先楫官方网站 https://www.hpmicro.com 获取最新相关信息。
本声明中的信息取代并替换先前版本中声明的信息。
相关阅读:
HPM知识库 | [EtherCAT]Module/Slot概念与OD分配
HPM知识库 | [SPI] 单线双向半双工通信功能详解和实践
HPM知识库 | 在HPM系列芯片上实现 FreeRTOS 对中断优先级的管理
HPM知识库 | 追求极致精度:HPM6P00系列MCU ADC高精度采样设计与实践心得

先楫半导体
“先楫半导体”(HPMicro)是一家致力于高性能嵌入式解决方案的半导体公司,产品覆盖微控制器及其配套的开发工具和生态系统。公司总部坐落于上海市浦东软件园区,并在天津、苏州和深圳均设立分公司,入选2025年福布斯亚洲Top100最具潜力的企业榜单。先楫半导体以产品质量为本,所有产品均通过严格的可靠性测试。目前已经量产八大系列高性能通用MCU产品,产品性能及通用性领先国际同类产品并通过AEC-Q100认证。公司已完成ISO9001质量管理和ISO 26262/IEC61508功能安全管理体系双认证,全力服务中国乃至全球的工业自动化、机器人、能源和汽车市场。更多信息,请访问 https://hpmicro.com/
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

工作时间:8:00-18:00
电子邮件
扫码二维码
获取最新动态
