【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World

上篇帖子中,我们介绍了如何下载HPM6750开发所需的资料,包括开发板资料和SEGGER Embedded Studio安装包,以及如何申请Embedded Studio激活码。本篇将会介绍如何安装SEGGER Embedded Studio,如何使用HPM SDK脚本创建SEGGER Embedded Studio项目,以及如何在SEGGER Embedded Studio中对项目进行编译和调试。

安装Embedded Studio和FTDI驱动

安装SEGGER Embedded Studio

首先是SEGGER Embedded Studio的安装。双击打开Setup_EmbeddedStudio_RISCV_v622a_win_x64.exe文件,这个没什么难度,也基本上不会有问题,一路Next就好了。

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第1张图片

激活SEGGER Embedded Studio

上篇中我们介绍了,通过在hpmicro专属的激活网页填入个人信息之后,将会收到激活码邮件。本节将会介绍,如何使用邮件中的激活码,激活Embedded Studio。

打开Embedded Studio,通过菜单Tools→License Manager打开授权管理器界面:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第2张图片

点击“Activate SEGGER Embedded Studio”,在弹出的激活界面中粘贴邮件中的激活码:
【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第3张图片

点“Install License”即可,关闭Embedded Studio,下次打开时即为已激活状态。

解压HPM SDK

上一篇帖子中,我们通过百度网盘下载的开发板资料中包含有sdk_env_0.9.0.zip文件:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第4张图片

这里,我们首先将这个文件解压开,放到一个路径没有空格和中文的目录,例如我这里解压到了D:\BaiduNetdiskDownload目录,解压后可以看到里面有如下目录和文件:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第5张图片

安装FTDI驱动

在开始使用SEGGER Embedded Studio或者RT-Thread Studio对开发板进行设备调试之前,都需要确保本地PC上安装FTDI驱动。本节介绍,如何安装FTDI驱动。

sdk_env_v0.9.0.zip压缩包中,包含了FTDI驱动文件,具体路径为:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第6张图片

双击打开FTDI_InstallDriver.exe后,直接点击“下一步”,安装完成将会出现如下界面:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第7张图片

创建Hello World项目并进行编译和调试

使用generate_project命令创建项目

双击start_cmd.cmd脚本文件,将会打开一个命令行窗口,并显示如下内容:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第8张图片

这个脚本打开的命令行会设置一些环境变量,包括将generate_project.cmd所在目录加到PATH环境变量中。因此,我们可以在这个命令行窗口中使用generate_project命令。

接下来,查看通过generate_project的-h选项,我们查看generate_project命令支持哪些参数:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第9张图片

跳转到hpm_sdk\samples\hello_world目录后,执行generate_project -b hpm6750evkmini -t flash_xip命令创建hello_world项目:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第10张图片

打开hello_world目录后,可以看到新生成的目录hpm6750evkmini_build:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第11张图片

该目录中包含一个segger_embedded_studio目录,segger_embedded_studio目录中包含hello_world.emProject文件。该文件即为SEGGER Embedded Studio项目文件,双击即可使用SEGGER Embedded Studio打开hello_world项目:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第12张图片

使用Embedded Studio编译项目

使用Embedded Studio的Build→Build hello_world菜单,或者F7快捷键,即可编译项目:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第13张图片

编译成功后,将会看看到如下界面:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第14张图片

其中的,XPI0即为开发板上的8M闪存芯片的使用情况。

PS:

  1. 因为我们generat_project使用的-t选项值是flash_xip,因此这里使用了片外闪存;如果选用debug,则会下载到片内RAM;
  2. HPM6750有2MB片内SRAM,但是没有片内Flash;开发板搭载了一个8MB的闪存芯片,一个16MB的DRAM芯片;

使用Embedded Studio进行调试

调试前行的准备工作:

  1. 连接开发板到电脑
    • **需要注意:**开发板上有两个USB-Type C口,需要连接标号“PWR-DEBUG”的
    • 连接成功,且FTDI驱动安装成功后,将会看到如下两个端口出现:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第15张图片

  1. 将BOOT拨码调到适当的位置
    • **需要注意:**经过测试发现,拨码的设置和generate_project的-t参数有一定关系;
    • -t选项为带xip的,则拨码必须为00,否则无法正常调试;
    • -t选项为debug或release,拨码最好为10或者01,否则复位后启动闪存程序会对当前调试造成干扰;

准备工作完成后,开始使用Embedded Studio进行调试:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第16张图片

可以看到Embedded Studio的调试界面的功能还是非常齐全的,左边一列是反汇编窗口,中间是源码窗口、输出窗口、调用栈窗口,右边是局部变量窗口和寄存器窗口。

没错,可以单步调试(Step Into、Step Over、Step Out)、断点调试。Embedded Studio整体界面风格和Code Blocks比较相似,相比于基于Eclipse开发的IDE,整体体验上非常流畅、丝滑。

使用Embedded Studio查看串口输出

首选需要在Segger Embedded Studio 中配置串口参数。

通过Tools→Terminal Emulator→Properties菜单,打开串口配置界面:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第17张图片

先修改Baud Rate为115200,然后修改Port为你实际的串口号(和设备管理器中看到的对应),再点“OK”确认。

设置完成后,通过Tools→Terminal Emulator→Terminal Emulator菜单打开中断模拟器子窗口,点击“Connect”按钮,连接串口设备。继续调试程序,将会看到hello world输出:

【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World_第18张图片

坑点总结

本篇的大部分内容,参考了开发板用户手册。经实操验证发现,手册上的大体操作流程时没什么问题的,但仍热存在容易出现问题的地方。总体来说,比较容易掉坑是——BOOT拨码设置和generate_project的-t选项。

实际上,我们在创建项目前最好需要了解如下信息:

  1. BOOT拨码对应的启动模式,参考开发板使用手册:
拨码状态 启动模式 说明
00 XPI NOR启动 从连接在XPI0/1 上的串行NOR
FLASH 启动
01 串行启动UART0/USB-HID 从UART0/USB0 上启动
10 在系统编程(ISP) 从UART0/USB0 上烧写固件,OTP
11 保留模式 保留模式
  1. generate_project的-t选项选择不同的值,编译后,内存使用统计图的显示也会不同(-t本身就是用于指定不同的存储设备配置的),经本人实验,发现-t选项的不同值的作用如下:

    调试版 发布版(更小) 下载目标位置 程序运行内存
    debug release 片内SRAM 片内SRAM
    flash_xip flash_xip_release FLASH芯片 片内SRAM
    flash_sdram_xip flash_sdram_xip_release FLASH芯片 DRAM芯片
  2. generate_project -t选项和BOOT拨码的对应关系

    generate_project -t选项 BOOT拨码建议 说明
    debug/release 10/01 下载到片内SRAM,速度较快
    flash_xip/flash_xip_release 00 下载到FLASH芯片,速度较慢
    flash_sdram_xip/flash_sdram_xip_release 00 下载到FLASH芯片,速度较慢;运行时使用DRAM,内存较大

你可能感兴趣的:(先楫高性能RISC-V,MCU应用笔记,RISC-V,HPM6750)