先楫半导体hpm_sdk使用vscode进行开发_最新快讯
一、概述
先楫半导体的hpm_sdk,对于习惯用keil的开发者可能不太习惯,但是从开发角度上看,是比较灵活的,可以给开发者一定的发挥空间。该sdk支持cmake构建,可以在多个支持cmake的平台构建,比如vscode,clion等平台,构建的同时也会生成segger的IDESEGGER Embedded Studio forRISC-V。对于习惯IDE开发的,也可以直接上手segger这个SEGGER Embedded Studio,先楫官方也给予免费授权,完全不用担心商业授权问题。
(资料图片)
如果不习惯segger这个IDE,那么如果有点cmake基础(当然也可以没有),习惯用了vscode编辑代码,那么我想,这篇文章,可以一步到位,使用vscode进行一套开发,包括构建,编译,烧录,调试。本文也是基于此步骤进行说明。
二、开发流程
(一)构建
hpm_sdk是基于cmake构建开发的,每个sample都带一个CMakelist.txt,可以理解为:每个sample都是一个工程。也可以在hpm_sdk外面的路径进行新建一个 cmake工程进行开发。
安装python,起码python3.7,最好python3.9以上。在构建的时候可能会遇到一些module没有安装,请自行根据报错进行安装。
例如:需要安装jinja2,yaml。
安装CMAKE:
window系统下的相关构建和编译烧录相关的,都可以在官方百度网盘(https://pan.baidu.com/s/1RaYHOD7xk7fnotmgLpoAlA?pwd=xk2n#list/path=%2F,提取码为xk2n)下载,本文截至发布日期,目前的sdk版本为sdk_v1.1.0。
hpm_sdk要求的cmake版本不低于3.13,当然官方也提供了安装包,可以自己指向路径到环境变量当中
下载sdk_env_v1.1.0.zip,解压后,进入tools文件夹,cmake工具下的版本为3.24.0
如果想升级更高的cmake版本,网络搜索cmake,进入cmake官网(https://cmake.org),点击download,可以下载最新的,也可以下载开发者自己喜欢的不低于3.13版本。
安装cmake之后会提示是否加入环境变量,请选择加入环境变量。
另外构建需要Ninja,官方网盘也同样提供了ninja可执行文件,拷贝此文件,可以存放在本地任意路径,前提是需要将该可执行文件路径加入到环境变量中。本文为了方便,直接把ninja拷贝到cmake安装目录上。
1. 设置全局环境变量
在构建之前,需要添加几个环境变量到系统当中:GNURISCV_TOOLCHAIN_PATH 和HPM_SDK_BASE
① GNURISCV_TOOLCHAIN_PATH:表示是hpm_sdk所依赖的编译器的绝对路径,也就是开发者本地路径。另外也需要将此路径加入系统环境变量中。
② HPM_SDK_BASE:表示是hpm_sdk的绝对路径,也就是开发者的本地Hpm_sdk开发路径。
另外,也需要将编译链路径放入到环境变量当中。方便vscode搜索到编译器。
③ Cmake安装
window系统下的gcc编译链和linux编译链都可以在官方百度网盘(提取码为xk2n)下载,本文截至发布日期,目前的sdk版本为sdk_v1.1.0。
从sdk_env_v1.1.0.文件夹进入到toolchains文件夹中,找到rv32imac-ilp32-multilib-win就是编译链工具
2. vscode下cmake插件
在扩展商店搜索cmake,安装cmake和cmake Tools
① 在开发者本地上,根据自己喜欢新建一个文件夹(用来开发所需),然后打开vscode,打开应为干净的工作区,即是没有任何文件夹。点击“文件”选择“将工作区另存为”,将工作区保存到新建的文件夹中。
② 点击"打开文件夹",为了让vscode能方便全局搜索hpm_sdk相关源文件(当然也可以用json文件包含),把hpm_sdk文件夹包含进来。
③ 在新建的开发文件夹中,我们可以新建一个cmake工程,这里为了方便,我们直接拷贝hpm_sdk的sample的文件工程,比如drivers/gpio 文件。
④ 再把拷贝的gpio工程,点击vscode右键添加到工作区当中
⑤ 添加完毕后,cmake工具栏下,会出现两个文件夹目录,我们切换到gpio这个文件夹
⑥如上图所示,kit工具链提示需要选择,这里我们选择上述所说的工具链(前提已经设置为全局环境变量)
⑦ cmake构建的是用常规的构建type,比如Debug, release等构建,这些在hpm_sdk认为都是在RAM执行。所以有必要自定义个type.
在gpio文件夹中,我们可以新建一个.vscode文件,并在里面新建一个settings.json,这个主要用来配置vscode以及相关插件的配置文件。
构建时候需要需要选择cmake build type,还需要选择board type,因为hpm_sdk包含了先楫目前发布的官方评估板,需要开发者自己去指定,所以我们可以通过加入cmake的构建参数指定Board.本文所选的是hpm6200evk。
本文需要生成编译在flash执行的固件,根据hpm_sdk的构建类型,我们可以选择flash_xip这个类型来进行构建。当然也可以按照以下照葫芦画瓢构建其他hpm支持的构建类型
如此再次点击cmake 构建的时候,就出现以上我们添加的构建类型。
settings.json文件如下:
{ "cmake.configureArgs": [ "-DBOARD=hpm6200evk" //传递给cmake的配置参数,表明选择的board ], "cmake.defaultVariants": { "buildType": { "choices": { "flash_xip": { //buildType加入flash_xip,表示支持该类型构建 "short":"flash_xip", "long":"先楫构建 - flash构建", "buildType": "flash_xip" } } } }}
其他cmake插件参数具体可以看插件说明以及系统的settings.json文件。
如此,我们新建的cmake gpio工程就此构建完成
(二 )编译
有了上面构建的基础,我们直接在cmake工具栏上点击build,直接就可以编译了。
另外:如果不想用cmake插件工具,我们可以在任意终端窗口进行构建编译,比如powershell。
(三) 烧录调试
vscode下的烧录调试,使用的是cortex_debug插件,这个跟是不是arm没什么关系,只要设置好相关gdb相关路径即可。
1、安装Cortex_Debug插件,打开扩展设置,点击在"settings.json 中编辑"。
2、编辑以下三个参数,也就是gdb的路径,jlinkGdb路径(用于jlink调试),openocd路径(用于openocd调试)
参数如下:
"cortex-debug.gdbPath.windows":"yourpath\sdk_env_v1.1.0\toolchains\rv32imac-ilp32-multilib-win\bin\riscv32-unknown-elf-gdb.exe","cortex-debug.JLinkGDBServerPath.windows":"yourpathsegger\JLink\JLinkGDBServerCL.exe","cortex-debug.openocdPath.windows":"yourpathsdk_env_v1.1.0\tools\openocd\openocd.exe",
3、完成之后,点击vscode左边工具栏的"运行与调试" ,点击创建launch,json文件。选择gpio这个工程文件夹,后选择cortex_debug,就会在对应的文件夹中生成launch,json文件
4、对于jlink配置。需要指定elf文件路径,以及选择的芯片型号,接口。
配置:
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "cwd": "${workspaceFolder}", "executable": "${workspaceFolder}/build/output/demo.elf", "name": "hpmicro_jlink_debug", "request": "launch", "type": "cortex-debug", "device": "HPM6280xPAx", "runToEntryPoint": "main", "showDevDebugOutput": "none", "interface": "jtag", "servertype": "jlink", } ]}
5、对于openocd配置如下:需要指定openocd的配置文件路径,比如probes、soc、boards的cfg文件
配置:
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "cwd": "${workspaceRoot}", "executable": "${workspaceFolder}/build/output/demo.elf", "showDevDebugTimestamps": "raw", "name": "HPM_dapDebug", "request": "launch", "type": "cortex-debug", "servertype": "openocd", "configFiles": [ "your path\sdk_env_v1.1.0\hpm_sdk\boards\openocd\probes\ft2232.cfg", "your path\sdk_env_v1.1.0\hpm_sdk\boards\openocd\soc\hpm6280-single-core.cfg", "your path\sdk_env_v1.1.0\hpm_sdk\boards\openocd\boards\hpm6200evk.cfg" ], // "searchDir": [], // "runToEntryPoint": "__start()", // "showDevDebugOutput": "none" } ]}
6、配置完毕之后,点击调试按钮,即可下载调试。
审核编辑:汤梓红标签:
推荐
- 先楫半导体hpm_sdk使用vscode进行开发_最新快讯
- 鬼灭之刃决战篇将是分水岭,第二部或许会有西洋吸血鬼登场? 环球新资讯
- 【专硕巡展】以护理人员的专业能力,助力健康中国进程
- 1099元起 Redmi Note 12R发布:首发第二代骁龙4
- 当前动态:云冈石窟上演“千年时空对话”
- 世界新消息丨中信证券:保险市场机会在高客需求和刚需消费
- 要闻速递:牙石怎么去除_什么是牙石
- 歙县武阳乡:扎实推进基本医保参保扩面工作|当前速读
- 菜鸟推自营快递"菜鸟速递",瞄准高性价比、品质服务
- 三角梨在线制作官网(三角梨在线制作)-当前速看
- 业界热议电力建设绿色发展:加大科技创新 助力构建新型电力系统
- 全球通讯!平潭发展6月29日快速反弹
- 承载古法造纸工艺——一张特殊的录取通知书
- 今亮点!黄淮江淮等地有强降水强对流 华北等地将出现持续高温
- 世界即时:全国网络安全职工职业技能竞赛举办
- 夏季追肥再现卖货热,尿素市场迎季节性回暖_每日报道
- 全球单日新增确诊近26万创新高 美国巴西新增病例最多
- 纹身英文句子有意义的短句_纹身英文 天天微资讯
- 波斯猫的眼睛为什么颜色不一样_波斯猫的眼睛一定要是不同色吗
- 损失的反义近义词 损失的近义词
- 世界滚动:20年来首次!美国出现5例疟疾本地感染病例
- 焦点速递!快餐帝国(01843)将于9月22日派末期股息每股0.00097港元
- 上海临港铂族贵金属应用科技研究院揭牌,建设国际性科创平台-当前要闻
- 世界观速讯丨医院食堂盒饭吃出鼠头,院长:当天订餐者未出现不良反应,调查期间食堂停止经营
- A股机构动向参考 | 智能机器迎催化 用电负荷持续走高 环球微速讯
- 青浦文旅集团携手新华发行集团举办文创设计大赛 首届长三角一体化示范区旅游文创设计大赛今日正式启动 热资讯
- 全球观速讯丨时空日报 | 今日Nature:多能干细胞体外再现早期人类胚胎植入后发育的关键时空事件
- 汽车界的“富二代”:三年亏了107亿,能否在新能源时代奔腾?
- 油价年内第五次上调 加一箱油多花约2.5元|环球头条
- 焦点速讯:俞敏洪首次透露遗嘱分配:留下给家人的必要花费 其余全部支持教育
- 香河县:电商助推传统产业发展
- 当前快报:基因治疗创新药物研发企业【本导基因】完成超2亿元B轮融资,龙磐投资领投
- 环球微头条丨成都人才安居资格认证划分依据是什么?如何认证?
- 今日快看!临夏市羊产业串起共同致富路
- 每日热门:北京西城成立首都高校发展联盟
- 【怎么了】德国U21欧青赛濒临出局,已连续17年没招入拜仁球员
- 平安e生保2023值得买吗?从产品信息、保费和亮点来看|每日观察
- 一季度全国婚姻数据显示 结婚登记增加4万对 离婚多了12万对 环球播报
- 天天热议:从徐新在国足的表现来看,山东泰山队引进徐新放走蒿俊闵是对的!
- windows怎么暂停更新_dota2更新已暂停_新动态
- 今日热讯:港股午评︱恒指跌0.13% 小鹏汽车、蔚来涨逾6%
- 环球最新:理出新风尚 移除旧习俗——竖新镇深入推进移风易俗工作有成效
- 全球最新:霜语的防腐液有什么用_霜语
- 世界实时:中国总装的空客飞机首次交付欧洲客户
- “考场外与母亲相拥”感动全网,他考得咋样?|快播
- 人的湿气重有什么解决的方法(榻榻米湿气解决办法是什么)
- 图灵波浪看市6.28-黄金大跌、C浪5即将迎来新低
- 新疆首个!中核集团首个!布尔津抽水蓄能电站项目获核准
- win10怎么看到无线网络 win10怎么无线网络连接
- 豆腐西施杨七巧第42集(豆腐西施杨七巧) 环球热议
- 福特嘉年华报价1.6t_福特嘉年华报价
- renderware引擎_renderware
- 世界微资讯!中方代表呼吁国际社会向刚果(金)提供更多支持
- 肾虚的表现症状有哪些女怎么调理_女性肾虚的表现是什么 当前速递
- 每日观点:国旅联合因信息披露违规被上海证券交易所采取监管措施
- 宜家Sonos Symfonisk书架音箱评测
- 全球简讯:科大国创研发GC-TeleGPT电信大模型
- 超前服务 “电”助新疆乳业加速跑
- 水光互补、增电迎夏:全球海拔最高、规模最大的水光互补项目柯拉光伏电站投用 川投能源绿电装机量再扩容-全球视点
- 外交部:推动乌克兰危机政治解决
- 天天速讯:《逆水寒》断发怎么用 称号断发介绍
- 当前速讯:辣的组词是什么呢_辣的组词有哪些相关介绍简介
- 泰永长征:约45.71万股限售股6月30日解禁|今日热议
- 江苏明日高温来袭,暴雨紧随其后!
- 原神3.7版本瑶瑶怎么出装
- 人工智能重塑数字世界 推动数实融合高质量发展-全球即时看
- 北京:指定石景山区部分道路作为自动驾驶车辆测试道路
- 襄阳高新区:“延时服务”常态化 便民利企“不打烊”
- 呼和浩特市回民区多措并举开展“禁毒宣传进万家”活动
- 四川南充至广安铁路启动可研招标 世界报资讯
- 打通深莞两市“断头路”,期待已久的深圳地铁10号线东延官宣开工
- 全球关注:非以明民也 将以愚之也
- 哈拉少翻译,哈拉哨什么意思?|每日消息
- 1至5月份我市经济运行延续恢复态势|天天热讯
- 【天天新视野】行政诉讼证据有什么特点?行政机关负责人未出庭应诉如何处理? 天天快看
- 天天热消息:比亚迪海洋生物系列车型——海鸥试驾
- 重磅!德国寻求10GW太阳能工厂的提案-焦点快报
- 天天日报丨深度解析之后发现揽巡实力不容小觑,还携手《乘风2023》追逐梦想!
- 2023年06月27日磷酸氢钙出厂参考报价 新消息
- 沙特记者:利雅得胜利接触朗斯队长福法纳,等待回应
- 北交所新增受理森达电气IPO申请-天天动态
- 台湾中药缺货:诊所“以药易药” 逾三成中药材价格上涨
- 世界微资讯!逾期第三天支付剩余股权转让款 亚太实业能否成功“续命”
- 天天快讯:大邑县发布III级暴雨预警
- 1.5万亿规模!深圳这个行业,累计投了1.4万家企业!
- 几种注意力的训练方法 几种注意力的训练方法有哪些
- 天天热文:人品过硬,绝对值得托付终身的3大生肖!
- 民房火灾4人死亡原因 过火面积仅2平米
- 老人过生日送什么礼物好男(老人过生日送什么礼物好)|世界百事通
- 南京交通违章查询 江苏违章查询|环球播报
- 小学生广播稿四年级100个字左右(小学生广播稿)
- 借呗协商还款事件描述怎么填?协商还款不成功怎么办?
- 中国移动5g网络频率_中国移动5g网络 热门
- 森源电气1.2万台充电机入围中石化国际招标项目 世界热文
- 农业银行:截至5月末制造业贷款余额突破2.8万亿元 贷款增量是去年同期增量1.5倍
- 世界观速讯丨《风帆纪元》海盗BOSS掉落物 海盗BOSS掉落物品一览
- 天天简讯:胸有烟云 压阵娄东:寻觅黄谷原的艺术踪迹
- 解除合同应该怎样的赔偿
- 天天观速讯丨45岁男子为了黑丝小妹,殴打自己的妻子,报应很快就来了
- 全国首场预制菜装备产业大会将落地珠海