前言
一直使用的沁恒的 IDE 工具 MounRiver Studio 弹出了更新窗口,从 MRS 官网了解了一下,第三代原生集成 AI,内置 MRS Agent ,同时打通硬件,可自动完成硬件调试,覆盖代码生成、编译优化、调试分析、硬件适配、芯片工程迁移全链路,辅助开发者完成从芯片选型参考到工程交付的智能化开发流程。
想着现在的开发,基本上离不开 AI 辅助,原生 AI 是否真能加快我们的开发进度,今天小编就来测试体验一下。
目录
- 前言
- 一、基础说明
- 二、实际体验
- 2.1 基础问题
- 2.3 疑难问题
- 问题体验小结
- 2.4 工程分析
- 2.5 程序生成
- 程序生成小结
- 三、体验总感受
一、基础说明
升级完成以后打开界面如下(设置了一下 语言 help — language ):
需要登陆,账号可以很方便的注册一下,此账号同时是沁恒微电子社区的账号,是沁恒的官方社区,大家遇到芯片使用问题,可以去社区里面找相关帖子或者提问。
首次登陆的积分如下:
其他界面,主要功能,都与上一版本的 IDE 没有什么差别,大家可以放心升级。
接下来就来实际测试一下这个 AI 的效果。
二、实际体验
因为小编都是使用沁恒蓝牙的芯片,所以本文测试都是以蓝牙开发为主,手头正好有个 CH585 开发板,一会用开发板测试代码。
问题都是小编之前开发的经历过的或者论坛问题,有基础的问题,也有很泛泛的很不好回答的那种问题,现在对于小编来说都有解决思路,是可以确定 AI 给出的答案是否合理。
2.1 基础问题
我们先问一些基础的问题。
- 问题1:
我要做一个蓝牙门锁,推荐一个型号,我要 NFC ,还有触摸按键 - 问题2:
Peripheral 例程里只有 NOTIFY ,从机透传向主机(手机)传输数据有没有例程 (手机)通过读 Peripheral 特征值读数据的 - 问题3 :
CH585要实现蓝牙小程序和一个2.4g遥控器需要能够一起控制,如何让蓝牙和2.4g一起工作,并且2.4g不影响蓝牙的正常连接工作。
而且在最后还给出设计思路:
耗时: 2m0s
沁恒带 NFC 的芯片常用的就是 CH584/5 ,旗舰型号的 CH587 也是支持 NFC 的,相对来说 CH584 既满足需求,成本又低些, 它与 CH585 是同样的 EVT 代码,这里 AI 给出的信息还是很中肯。
耗时:1m33s
第二个问题,体现 AI 对沁恒自身 EVT 工程的熟悉程度,说得很准确,没什么好说的。
耗时: 2m31s
第三个问题,说明了关键的分时复用,使用 TMOS 调度,给出了初始化例子,说明了注意事项。
2.3 疑难问题
接下来,我们再故意去问一些模糊、相对疑难的问题看看会得到怎样的答复。
问题1 :
我用 CH585 画了一块板子,但是下载不了,怎么回事?问题2 :
我在打开DCDC_ENABLE 宏定义后发现主机扫描不到从机了,怎么回事?问题3 :
我画了一块板子,我功耗怎么这么高,怎么回事?
耗时: 2m24s
居然还挺智能的去通过 IDE 检查连接状态,虽然我一直都是使用 ISP 工具的 USB 下载的,但是 AI 给出的 WCH-Link 下载说明完全没有问题,而且对于这种问题,当然还是需要进一步查看,最后 AI 也是需要我们提供更多的信息。这里我就不继续下去了,我们只是看看面对这种问题 AI 会如何回答。
继续看第二个问题:
耗时: 2m45s
根据自己之前的经验, 这答案很合理,最关键的就是硬件设计问题,小编之前遇到的基本上都是硬件设计问题,至于上面提到的软件里面的问题,小编自己都不知道,这个有待确定。但是AI给出了完整的思路和检查方向,分析得很合理。
在问这个问题之前,我打开了 EVT 里面的从机示例,所以,刚开始 AI 直接对着默认的从机示例分析了,说明 AI 会从你的工程开始检查你出问题的原因。
这里我们只为了测试这种模糊问题,所以我关闭工程重新生成了一遍,AI 也给出了完整的排查思路,根据小编的经验来看,已经算得上是标准思路了。先查软件配置是否正常,然后再确定异常板子的工作状态,是整版还是最小系统的功耗之类的。
问题体验小结
对于上面这些问题,相对于其他的 AI 来说,MRS 内置的 AI 对沁恒原生态的支持更好,问题的定位也相对更加准确。
2.4 工程分析
工程分析是 AI 的基本技能,这里我们主要看看是否可以跨文件实现这个功能。
我从 Github 上下载了一个 CH585 三模键盘的工程 :
https://github.com/NookCraftLab/ch585-qmk-vial
本地 PC 存放的路径如下:
我们来问问 AI ,我们给出绝对路径,在路径里面还有多层文件夹,看看他是否能够给我们分析一下工程,问完问题,会显示 “本次会话已开启当前工程以外的目录授权” ,如下图:
花了几分钟时间,生成了分析报告:
目录结构也能列出来,能让我们快速的理清楚架构:
这个功能也是很实用的,网页版本的很多 AI ,是无法实现此类功能的,需要客户端版本,不过代码分析也属于 AI 的基本必备技能之一。
2.5 程序生成
最后我们来看看最受关注的功能,程序设计。
虽然 MRS 可以自己新建工程,但是根据小编之前的开发经验,我更偏向于从现有工程复制一份,或者独立一份单独的出来修改。所以本次测试,我还是按照自己的习惯,在现有工程上,实现自己的功能开发,这里我们就在典型的蓝牙从机上提一些要求,如下图:
期间会和你确定一下问题,按照自己情况选择即可:
最后自己就生成好代码,然后自动执行编译:
在上面 AI 完成代码生成后给出了提示,让我设置 MTU ,那我们从机工程设置 MTU 需要工程单独设置,如下:
然后直接烧录测试,测试效果图如下:
广播名称:
正确
特征值内容:
正确
打印接受到的数据:
正确
notify 200 字节数据:
正确
程序生成小结
真的是自己一行代码都没有动,一次性成功,这个还能说什么,要是早有 AI 可以省去多少时间。
三、体验总感受
体验下来,首要的感觉就是,怎么自己曾经开发的时候没有这么好用的工具 = =!
这里还是给一下正常的感受。
关于响应时间:
- 关于深度思考的等待时间,这个看个人理解,我个人一直相信 在正常情况下 思考时间与答案质量是挂钩的,所以我是不介意 AI 深度思考时间比较长的,只要最后能够得到相对准确的优质的答案,个人对思考时间并不敏感。那就本次体验来说,我的感受就是很流畅,给了任务后回头一看,准确的结果就出来了,没有让我产生过 “ 怎么还没好 ” 的想法 。
关于准确度:
- 对于一些方案和问题的提问,根据个人之前使用的经验来看,没有出现乱说的情况。
- 对于代码查看,现成代码解析,问与代码解析的问题,通过几个问题来看AI还是比较准确的,当然这也是所有 AI 必备基础功能。
- 对于程序生成,这一点就很关键了,对于很多刚接触沁恒芯片的开发者来说,这功能是一个神兵利器,再也不用硬啃代码了,也不用担心其他的 AI 给出错误建议,不过小编永远建议大家,自己有时间还是要去熟悉整体架构,只有自己正真熟悉,才能够更加合理的使用 AI,相辅相成。
整体来说,第三代 MounRiver Studio 体验还是很不错的,可以让我们快速上手芯片,大大缩短了我们的开发学习时间,个人都感觉相见恨晚,之前多少个日夜,就少了一个熟悉沁恒代码框架的 AI !