【先楫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进行调试
调试前行的准备工作:
- 连接开发板到电脑
- **需要注意:**开发板上有两个USB-Type C口,需要连接标号“PWR-DEBUG”的
- 连接成功,且FTDI驱动安装成功后,将会看到如下两个端口出现:
- 将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拨码的对应关系
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,内存较大
【先楫HPM6750系列】HPM SDK开发环境搭建和Hello World相关推荐
- 【先楫HPM6750系列】RT-Thread开发环境搭建和Hello World
[先楫HPM6750系列]RT-Thread开发环境搭建和Hello World 本篇介绍HPM6750开发板的RT-Thread Studio开发环境搭建,以及在RT-Thread Studio环境 ...
- 【先楫HPM6750测评】RT-Thread开发环境搭建和Hello World
本文由RT-Thread论坛用户@xusiwei1236原创发布:https://club.rt-thread.org/ask/article/1bf679d8a2709824.html 本篇介绍HP ...
- 涂鸦智能模组SDK开发系列课程——SoC开发环境搭建(一)
SoC开发环境搭建 本章节主要介绍如何搭建涂鸦 Wi-Fi 和 Wi-Fi&Bluetooth LE 系列模组二次开发的编译环境.在 Windows 上使用 VirtualBox 虚拟机软件安 ...
- [Android系列—] 1. Android 开发环境搭建与Hello World
前言 开始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,同样对于And ...
- (一)Corona SDK 开发环境搭建
因为工作需要,所以自己去学了一下 Corona SDK游戏引擎,此前楼主是搞U3D的,Cocos2d也知道一点儿,学 CoronaSDK 也还觉得比较容易上手,主要的学习资料还是官方的API,或者 G ...
- 【JAVA零基础入门系列】Day1 开发环境搭建
一.安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可. http://www.oracle.com/technetwork/java/javase/downloads/jdk ...
- ESP8266 SDK开发环境搭建及HelloWorld编程教程
最近在学习ESP8266,虽然网上已经有很多很详细的教程,但我照着做时也踩了不少坑,现将我采用的方法总结出来,希望对大家有帮助. 一.工具准备 准备工作:下载ESP8266_NONOS_SDK.软件A ...
- NVT NT98510 SDK开发环境搭建
1.在虚拟机中安装Ubuntu 虚拟机版本:VMware® Workstation 12 Pro ubuntu镜像文件:ubuntu-16.04.6-desktop-amd64.iso 关于安装过程中 ...
- eclipse android sdk开发环境搭建,Android SDK 2.3与Eclipse最新版开发环境搭建(四)
五. Eclipse ADT 配置 ADT 的Eclipse Plugin 安装成功之后,开始ADT 的配置,具体如下: 1. Eclipse重启后,选择Window > Preferences ...
最新文章
- Notification with Service Workers push events
- WebSocket 实战--转
- gateway sentinel 熔断 不起作用_《一起学sentinel》一
- 二阶偏微分方程组 龙格库塔法_牛顿法和拟牛顿法——(书中附录B)
- Win XP必须禁止的服务
- 写给准备参加秋招的学弟学妹们~一定要来看哦~
- 图像处理之卷积---任意卷积核的快速实现
- 不买iPhone11的四大理由,最后一个扎心了
- XSS注入,js脚本注入后台
- CUDA Fortran for Scientists and Engineers第二版翻译
- 除了迅雷外,还有什么靠谱的BT下载软件?
- 有限元法 matlab,MATLAB有限元分析与应用.pdf
- 北大AI公开课笔记整理
- php内存设置,修改php运行内存大小的限制
- 从zookeeper官方文档系统学习zookeeper
- glib使用之哈希表
- [热键冲突]:Win10 输入法表情快捷键(Ctrl+Shift+B)如何关闭
- 获取客户端及服务器的信息
- hdu 6609
- 高德地图:2020中秋、国庆假期安全畅行指南
热门文章
- jzoj 1004 1005 题解
- Python网站导航项目-3.导航数据后端管理应用开发
- 鹏城论剑,共话数据库前沿技术和趋势
- CVPR2019论文基于异常特征来定位图像中的篡改痕迹(ManTra-Net: Manipulation Tracing Network For Detection And Localiztion)
- Python就业方向以及就业岗位,你都了解吗?
- DPoS共识(consensus)算法
- Oracle使用plsql developer连接数据库报错“Ora-12154:连接标识”
- 团队天梯赛(GLPT) 2017年天梯赛大区赛题集
- Django实战:给表单添加honeypot验证增加安全性
- Android平板app图标,Sorcery图标包 - 让你的桌面不再有丑图标存在 - Android 应用 - iPad - 【最美应用】...