【学习&开发之路】放弃Keil吧!VSCode搭建CI13XX开发环境效率提升300%

【学习&开发之路】放弃Keil吧!VSCode搭建CI13XX开发环境效率提升300%

一、概述

CI13XX系列芯片不得不说是Chipintelli(启英泰伦科技有限公司,简称:CI)推出的最为经典的AI语音系列芯片之一。CI13XX系列芯片(CI1301、CI1302、CI1303、CI1306、CI1311、CI1312)集成BNPU V3,高主频(240MHz),更大SRAM,算力更强。采用SSOP24/QFN40/SOP16三种封装,可适应不同应用及贴片要求。集成度更高,外围精简,除MIC,喇叭外,板级仅需要阻容、PA芯片。可实现单麦降噪、AEC、双麦增强、双麦定向等功能,另CI1302、CI1303、CI1306还支持声纹识别和离线自然说。具体的芯片数据信息可以直接参考硬件选型指南 - 启英泰伦文档中心

在这里插入图片描述

要开始使用 CI13XX系列芯片进行开发,您需要一些基本知识:

  1. 熟悉 C/C++ 编程语言。
  2. 了解电子电路和传感器的基本知识。
  3. 串口通信的基本使用步骤。

二、安装VScode

1.下载安装包,到官方网站下载Windows的安装包:Visual Studio Code - Code Editing. Redefined

在这里插入图片描述

2.安装

在自己电脑除C盘外的一个磁盘创建“vscode”文件夹,路径不要带中文。

在这里插入图片描述

运行下载的安装包
在这里插入图片描述
在这里插入图片描述
将安装路径选择刚才新建的“vscode”文件夹
在这里插入图片描述
勾选下列配置,再点下一步

在这里插入图片描述

点击安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

到这里就安装好了,下面进行配置,使vscode支持CI13XX系列芯片的开发。

三、配置VScode+CI TOOL

1.本地创建工作目录

在自己电脑除C盘外的一个磁盘创建“CiProject”文件夹,路径不要带中文。

在这里插入图片描述

2.下载SDK开发包,到启英泰伦官方网站下载:

在这里插入图片描述

点击进入语音AI平台后,点击登陆语音AI平台

在这里插入图片描述

点击注册一个账号,然后登录

在这里插入图片描述

成功登录后,点击“开发资料”

在这里插入图片描述

点击“CI130X离线SDK”,选择最新Offline版本的SDK文件,点击“下载文件”

在这里插入图片描述

将“CI130X_SDK_ASR_Offline_V2.2.0.zip”SDK压缩包保存到开头创建的“CiProject”文件夹中

在这里插入图片描述

点击保存

在这里插入图片描述

将“CI130X_SDK_ASR_Offline_V2.2.0.zip”SDK压缩包解压到当前文件夹

在这里插入图片描述

在这里插入图片描述

3.安装ci-tool插件

点击进入“CI130X_SDK_ASR_Offline_V2.2.0”SDK文件开发包,确定.vscode文件夹在该目录中

在这里插入图片描述

在空白处右键“通过Code打开”

在这里插入图片描述

打开后点击“是,我信任此作者”

在这里插入图片描述

点击左侧软件商店图标,再点右上角三个省略号图标

在这里插入图片描述

选择“从VSIX中安装” 或 “Installed from VSIX”

在这里插入图片描述

找到CI130X_SDK_ASR_Offline_V2.2.0/tools/ci-tool-1.1.2.vsix 点击安装,等待安装完成即可

在这里插入图片描述

安装完成后,会在左侧工具栏中出现表示CI TOOL的AI图标

在这里插入图片描述

安装gcc编译工具链, gcc编译工具链也需要到 ☞启英泰伦语音AI平台 开发资料中下载 。

在这里插入图片描述

可以将riscv-nuclei-elf-gcc-9.2.0.rar压缩包保存到开头创建的“CiProject”文件夹中

在这里插入图片描述

用“解压到riscv-nuclei-elf-gcc-9.2.0”将gcc编译工具链解压出来

在这里插入图片描述

解压后的gcc编译工具链文件夹如下:

在这里插入图片描述

打开刚刚的vscode界面,点击“设置编译器路径”

在这里插入图片描述

选择编译器路径

在这里插入图片描述

至此,CI13XX系列芯片的开发环境就搭建完毕了!

四、编译链接

1.编译链接当前SDK中的工程

点击AI图标

在这里插入图片描述

左上角选项框中可以看到工程名,常用功能“清理”和“生成”有快捷按钮。

在这里插入图片描述

备注:更多功能右击需要编译的工程名,选项功能介绍如下:

1: “生成”:编译compile

2:“清理”:清除clean

3: “设为活动工程”:快捷键编译方式默认编译活动工程

4: “设置烧录串口号”:输入串口号,如com3,不区分大小写,请确保输入正确且不被占用。

5: “合成分区bin文件”:调用合成分区bin文件.bat,在vscode软件输出窗口命令行运行合成

6: “启动打包升级工具”:启动串口升级工具.exe

7: “烧录user code”:烧录user_code.bin

五、开发体验“智能管家”

该SDK包中的示例工程可以直接编译运行在CI13XX的开发板上,让我们来感受一下离线AI语音识别的奇妙。

1.开发板选择

进入“启英泰伦官方网站”点击“样品购买”

在这里插入图片描述

我选了GPIO数量最多的CI1306开发板“CI-D06GT01D”用来开发。(后续可根据实际项目裁剪下来再用引脚更少、性价比更高的其他CI13XX型号芯片开发板或模块)

在这里插入图片描述

注册登录后就可以购买了,我发现微信登录更方便购买和联系客服咨询。

在这里插入图片描述

到货!到货!开箱组装!

麦克风和喇叭插入对应插槽(开箱清单:CI-D06GT01D开发板x1 ,驻极体麦克风x1 ,喇叭x1, 包装盒 X1)。

在这里插入图片描述

取来一根type-c数据线,如图type-c一端连接到模块,另一端连接到电脑的USB接口;

在这里插入图片描述

开发板上用跳帽导通UART0

在这里插入图片描述

拨动电源开关,接通电源指示灯点亮(发现开发板批次不同,有的是红色电源指示灯,有的是绿色电源指示灯)

在这里插入图片描述

电脑打开“设备管理器”会看到电脑给开发板分配的端口号(win7及以下Windows操作系统需要安装CH340串口驱动)

在这里插入图片描述

开发板硬件开发环境就搭建完毕了!

2.编译SDK开发包

回到vscode软件开发环境,点击“资源管理器”

在这里插入图片描述

检查板极配置,点击打开system文件夹,再点击sdk_default_config.h头文件,检查板极支持配置宏“BOARD_PORT_FILE”是否和开发板型号一致(我买的是CI-D06GT01D开发板,这里宏定义就必须是"CI-D06GT01D.c")

在这里插入图片描述

!!!备注:可根据手上开发板型号,修改为其他型号的板极支持配置,可在boards文件夹中进行开发板模块型号的查询

在这里插入图片描述

3.生成固件进行烧录

点击CI TOOL工具,首先点击清理图标
在这里插入图片描述

然后,点击生成图标进行工程的编译链接,编译完成后会在终端末尾显示“Finished building:…”等打印信息

在这里插入图片描述

编译成功后,project/offline_asr_pro_sample/firmware/user_code文件夹中会生成user_code.bin文件

在这里插入图片描述

点击CI TOOL工具,鼠标右键工程名,点击“合成分区bin文件”

在这里插入图片描述

终端最后输出“output name: mp3\mp3.bin”则表示各个分区的bin文件合成成功

在这里插入图片描述

鼠标右键工程名,点击“启动打包升级工具”

在这里插入图片描述

有弹窗则选择“是”

在这里插入图片描述

“打包升级工具”运行成功,选择芯片系列和具体型号,我这里开发板是CI-D06GT01D,所以芯片系列选“CI130X系列”,具体芯片型号选CI1306,点击“确定”

在这里插入图片描述

点击“固件打包”

在这里插入图片描述

点击“自动分配”

在这里插入图片描述

点击“打包固件”,会弹窗显示“固件已生成”,点击“确定”即可(所生成固件的“软件名称”和“软件版本”我这里默认没变,大家可自行取名)

在这里插入图片描述

此时,工具会按“软件名称”和“软件版本”中所填信息在SDK开发包中生成一个可烧录的固件"Firmware_V2.0.0.bin",如下图路径:

在这里插入图片描述

点击“固件升级”

在这里插入图片描述

确认固件存放的路径正确与否

在这里插入图片描述

在电脑为开发板分配的端口号(我这里是COM8,大家根据自己电脑实际情况选择)后面方框中打勾

在这里插入图片描述

按下开发板上的复位按钮

在这里插入图片描述

“打包升级工具”就会开始将固件烧录到开发板中,有进度显示

在这里插入图片描述

当进度显示为100%,打印信息显示“device:update success(-)”时,就会听到开发板播放的欢迎语“欢迎使用智能管家,您可以使用智能管家唤醒我”

在这里插入图片描述

这时就可以感受到“智能管家”带来的初体验了。照着下面的指令开始念起来吧!

在这里插入图片描述

彩蛋:说“关闭语音”后,说任何词都会“哔”的一声叫哦!

六、总结

在 VS Code 中即可一站式完成代码开发、编译、烧录与调试全流程,这种丝滑的开发体验令人倍感畅快。对于嵌入式开发而言,如此高效集成的环境堪称刚需,由衷感谢前辈们在适配工作中倾注的心血!

接下来,我将正式开启 CI13XX 系列芯片的开发征程。深知前路漫长且挑战重重,但正如 “路漫漫其修远兮,吾将上下而求索” 所言,定当以探索之心全力以赴,深耕技术突破。期待在实践中沉淀更多成果!

### 关于 GD32F407VGT6 微控制器 GD32F407VGT6 属于 GigaDevice 的 GD32 系列高性能微控制器家族,具体来说是基于 ARM Cortex-M4 内核的产品线之一。此型号具备强大的计算能力和丰富的外设资源,广泛应用于工业自动化、消费类电子产品以及物联网领域。 #### 1. **数据手册** GD32F407VGT6 的数据手册提供了详细的硬件规格和技术参数,包括但不限于以下内容: - 工作电压范围:通常支持宽泛的工作电压区间(如 2.0V 至 3.6V),适合多种供电场景[^1]。 - 引脚配置:LQFP100 封装形式,拥有高达 100 个引脚,能够满足复杂系统的连接需求。 - 外设集成度:内置 USB OTG、CAN 总线接口、ADC/DAC 转换器等多种功能模块,极大简化设计流程并提升灵活性。 - 存储容量:闪存最高可达 1MB,RAM 则有 192KB 或更多选项,足以应对大多数嵌入式项目的需求。 #### 2. **示例代码** 为了帮助开发者快速上手 GD32F407VGT6,官方及相关社区提供了大量实用的示例程序,涵盖了多个方面: - 初始化序列:展示如何正确配置时钟树结构以及其他基础设置项。 - 中断管理:演示各种类型的中断服务函数实现方法及其优先级安排策略。 - 外设驱动:针对定时器、串口通讯(SPI/I²C/UART)等功能编写的具体操作指南。 - 文件系统访问:如果目标平台支持 SD 卡存储,则会有相应的 FATFS 集成实例供参考。 以下是简单的 LED 控制例子: ```c #include "gd32f4xx.h" void led_init(void){ rcu_periph_clock_enable(RCU_GPIOA); //使能GPIOA端口时钟 gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_5); } int main(){ led_init(); while(1){ gpio_bit_reset(GPIOA, GPIO_PIN_5); //点亮LED delay_1ms(500); //延时500毫秒 gpio_bit_set(GPIOA, GPIO_PIN_5); //熄灭LED delay_1ms(500); //再次延时500毫秒 } } ``` 上述代码片段展示了基本 IO 口的操作方式——通过设定特定寄存器值来改变指定针脚的状态从而达到控制外部器件的目的。 #### 3. **开发环境搭建** 对于 GD32F407VGT6 的软件开发而言,推荐采用如下工具链组合完成整个工程构建过程: - IDE 平台选择 Keil MDK 或 IAR Embedded Workbench 这样的成熟商用解决方案亦或是免费开源性质较强的 PlatformIO 插件配合 VSCode 使用均可获得良好体验效果; - 编译链接环节依赖 GNU Arm Embedded Toolchain 提供的标准 C/C++ 支持库完成最终可执行映像文件生成任务; - 下载调试则借助 JTAG/SWD 类型物理探头联合 OpenOCD 应用程序共同协作达成在线仿真测试目的。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值