【先楫HPM6750测评】HPM SDK开发环境搭建和Hello World
[复制链接]
【先楫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就好了。
激活SEGGER Embedded Studio
上篇中我们介绍了,通过在hpmicro专属的激活网页填入个人信息之后,将会收到激活码邮件。本节将会介绍,如何使用邮件中的激活码,激活Embedded Studio。
打开Embedded Studio,通过菜单Tools→License Manager打开授权管理器界面:
点击“Activate SEGGER Embedded Studio”,在弹出的激活界面中粘贴邮件中的激活码:
点“Install License”即可,关闭Embedded Studio,下次打开时即为已激活状态。
解压HPM SDK
上一篇帖子中,我们通过百度网盘下载的开发板资料中包含有sdk_env_0.9.0.zip文件:
这里,我们首先将这个文件解压开,放到一个路径没有空格和中文的目录,例如我这里解压到了D:\\BaiduNetdiskDownload 目录,解压后可以看到里面有如下目录和文件:
安装FTDI驱动
在开始使用SEGGER Embedded Studio或者RT-Thread Studio对开发板进行设备调试之前,都需要确保本地PC上安装FTDI驱动。本节介绍,如何安装FTDI驱动。
sdk_env_v0.9.0.zip压缩包中,包含了FTDI驱动文件,具体路径为:
双击打开FTDI_InstallDriver.exe后,直接点击“下一步”,安装完成将会出现如下界面:
创建Hello World项目并进行编译和调试
使用generate_project命令创建项目
双击start_cmd.cmd脚本文件,将会打开一个命令行窗口,并显示如下内容:
这个脚本打开的命令行会设置一些环境变量,包括将generate_project.cmd所在目录加到PATH环境变量中。因此,我们可以在这个命令行窗口中使用generate_project命令。
接下来,查看通过generate_project的-h选项,我们查看generate_project命令支持哪些参数:
跳转到hpm_sdk\samples\hello_world目录后,执行generate_project -b hpm6750evkmini -t flash_xip命令创建hello_world项目:
打开hello_world目录后,可以看到新生成的目录hpm6750evkmini_build:
该目录中包含一个segger_embedded_studio目录,segger_embedded_studio目录中包含hello_world.emProject文件。该文件即为SEGGER Embedded Studio项目文件,双击即可使用SEGGER Embedded Studio打开hello_world项目:
使用Embedded Studio编译项目
使用Embedded Studio的Build→Build hello_world菜单,或者F7快捷键,即可编译项目:
编译成功后,将会看看到如下界面:
其中的,XPI0即为开发板上的8M闪存芯片的使用情况。
PS:
- 因为我们generat_project使用的-t选项值是flash_xip,因此这里使用了片外闪存;如果选用debug,则会下载到片内RAM;
- HPM6750有2MB片内SRAM,但是没有片内Flash;开发板搭载了一个8MB的闪存芯片,一个16MB的DRAM芯片;
使用Embedded Studio进行调试
调试前行的准备工作:
-
连接开发板到电脑
-
将BOOT拨码调到适当的位置
- **需要注意:**经过测试发现,拨码的设置和generate_project的-t参数有一定关系;
- -t选项为带xip的,则拨码必须为00,否则无法正常调试;
- -t选项为debug或release,拨码最好为10或者01,否则复位后启动闪存程序会对当前调试造成干扰;
准备工作完成后,开始使用Embedded Studio进行调试:
可以看到Embedded Studio的调试界面的功能还是非常齐全的,左边一列是反汇编窗口,中间是源码窗口、输出窗口、调用栈窗口,右边是局部变量窗口和寄存器窗口。
没错,可以单步调试(Step Into、Step Over、Step Out)、断点调试。Embedded Studio整体界面风格和Code Blocks比较相似,相比于基于Eclipse开发的IDE,整体体验上非常流畅、丝滑。
使用Embedded Studio查看串口输出
首选需要在Segger Embedded Studio 中配置串口参数。
通过Tools→Terminal Emulator→Properties菜单,打开串口配置界面:
先修改Baud Rate为115200,然后修改Port为你实际的串口号(和设备管理器中看到的对应),再点“OK”确认。
设置完成后,通过Tools→Terminal Emulator→Terminal Emulator菜单打开中断模拟器子窗口,点击“Connect”按钮,连接串口设备。继续调试程序,将会看到hello world输出:
坑点总结
本篇的大部分内容,参考了开发板用户手册。经实操验证发现,手册上的大体操作流程时没什么问题的,但仍热存在容易出现问题的地方。总体来说,比较容易掉坑是——BOOT拨码设置和generate_project的-t选项。
实际上,我们在创建项目前最好需要了解如下信息:
- BOOT拨码对应的启动模式,参考开发板使用手册:
拨码状态 |
启动模式 |
说明 |
00 |
XPI NOR启动 |
从连接在XPI0/1 上的串行NOR |
FLASH 启动 |
|
|
01 |
串行启动UART0/USB-HID |
从UART0/USB0 上启动 |
10 |
在系统编程(ISP) |
从UART0/USB0 上烧写固件,OTP |
11 |
保留模式 |
保留模式 |
-
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芯片 |
-
generate_project -t选项和BOOT拨码的对应关系
|