视觉语音大模型 AI 开发套件使用CSK6系芯片作为主控芯片,该芯片除了支持运行多种离线 AI 算法之外,本身也具备丰富的外设接口,并且均在开发套件上以引脚排针的形式引出,可供开发者进行使用。本文主要介绍 CSK6 芯片外设驱动的示例概况,后续教程文档也将逐一介绍讲解常见驱动外设驱动的示例及其接口的使用。
SDK 自带的示例位于{SDK}\.sdk\csk\samples
目录下,可直接在SDK根目录(duomotai_ap
)下执行lisa zep build
指令进行编译,使用板型:csk6_duomotai_devkit
。
以编译 driver\exmcu_gpio_led
(LED闪烁)示例为例,可执行以下指令:
lisa zep build -b csk6_duomotai_devkit .sdk\csk\samples\driver\exmcu_gpio_led -p
如果您已经参照 《获取开发环境与SDK》完成了大模型 AI 套件 SDK 的下载与初始化,可以在 SDK 的以下目录路径下查看到芯片外设驱动的示例:{SDK}\.sdk\csk\samples
。
使用前建议参照《本地SDK更新》 将 SDK 版本更新至最新。
外设 |
示例路径 | 示例内容 | 教程文档 |
---|---|---|---|
ADC | driver\adc |
演示使用 adc 读取模拟信号。通过采集 gpio-b8,gpio-b9 三个通道的模拟信号,然后将其转换为数字信号并通过串口打印出来。 | 访问 |
counter | driver\counter |
演示使用 RTC 定时器来实现定时,1s后获取定时器计数,设置闹钟为10s后触发回调。 | 访问 |
GPIO | driver\gpio |
控制 gpio-a1 引脚,每1s翻转一次,通过示波器可以看到翻转的波形。 | 访问 |
SPI | driver\spi_master |
使用芯片上的一组 SPI 引脚往外发送数据,可通过示波器或者逻辑分析仪去抓取 spi 数据。 | 访问 |
UART | driver\uart\uart_async |
简单的 async 示例,需将 UART1 的 TX 与 RX 进行连接。 | 访问 |
UART | driver\uart\uart_configure |
演示串口配置的动态切换。 | 访问 |
UART | driver\uart\uart_interrupt |
演示中断模式下串口1和串口2互相发送数据。 | 访问 |
UART | driver\uart\uart_polling |
演示如何使用 MCU 的 i2c 通信功能,通过 i2c 控制器向从设备的寄存器地址写数据和读数据。 | 访问 |
I2C | driver\i2c\i2c_master |
演示通过 i2c 控制器向从设备的寄存器读写数据。 | 访问 |
I2C | driver\i2c\i2c_slave_vdev |
使用 MCU 的虚拟 i2c 从机通信功能。 | 访问 |
WatchDog | driver\wdt |
演示使用看门狗中断进行喂狗。 | 访问 |
PWM | driver\pwm |
演示如何配置 PWM 功能并输出 PWM 波形。 | 访问 |
SDMMC | driver\sdmmc |
演示往 SD 卡读写数据。 | 访问 |
Flash | driver\nor_flash |
演示 norflash 的读写。 | 访问 |
DVP | driver\video\gc0328 |
使用视频设备驱动接口来配置和捕获摄像头数据流,基于 DVP 接口,使用 gc0328 摄像头。 | 访问 |
外部中断 | driver\key_interrupt |
演示通过按键 K3 触发外部中断控制输出串口信息。 | 访问 |
屏显与触摸 | driver\display_kscan |
演示在屏幕上显示图形,并通过日志输出响应触摸按键事件。 | 访问 |
屏幕触摸 | driver\kscan\ft5336 |
演示如何使用的按键扫描 (kscan) API 与触摸屏 (ft5336) 进行交互。 | 访问 |
硬件信息检测 | driver\hwinfo |
如何获取设备的唯一标识符和芯片类型。 | 访问 |
Dual&GPT 定时器 | driver\counter_timer |
演示使用 dual_timer 和 gpt 定时器来实现定时。 | 访问 |
功能 | 示例路径 | 示例内容 | 教程文档 |
---|---|---|---|
录音 | {SDK}\apps\uac_record |
演示使用芯片的 audioADC 进行录音并通过 USB 传输录音数据。 | 访问 |
播放器 | {SDK}\samples\player |
演示使用芯片进行 mp3 音频文件的播放。 | 访问 |
DMA | {SDK}\.sdk\csk\samples\driver\dma_memcpy |
演示如何使用 Zephyr RTOS 的 DMA 功能进行高效的内存拷贝。 | 访问 |
加密 | {SDK}\.sdk\csk\samples\driver\crypto\aes128_cbc |
演示使用 AES-128 CBC 模式进行加密和解密的示例操作。 | 访问 |
加密 | {SDK}\.sdk\csk\samples\driver\crypto\aes128_ecb |
演示使用 AES-128 CBC 模式进行加密和解密的示例操作。 | 访问 |
加密 | {SDK}\.sdk\csk\samples\driver\crypto\aes256_sha |
演示使用 SHA-256 算法对输入数据进行哈希处理,并验证计算结果是否正确。 | 访问 |
随机数生成 | {SDK}\.sdk\csk\samples\driver\entropy |
演示如何生成随机数。 | 访问 |
LVGL | {SDK}\.sdk\csk\samples\subsys\display\lvgl |
演示 LVGL 示例的实现。 | 访问 |
文件系统 | {SDK}\.sdk\csk\samples\subsys\fs\littlefs |
演示如何使用 Zephyr 的文件系统 API 与 littlefs 文件系统进行交互。 | 访问 |
NVS | {SDK}\.sdk\csk\samples\subsys\nvs |
演示如何在 Zephyr 操作系统中使用 NVS 进行数据存储、读取、删除和扇区管理。 | 访问 |
功能 | 示例路径 | 示例内容 | 教程文档 |
---|---|---|---|
http | {SDK}\samples\http |
演示连接上 wifi 后进行 http 请求的实现 | 访问 |
http_ota | {SDK}\samples\http_ota |
演示连接 wifi 后进行 http 请求 ota,实现 http ota 固件升级 | 访问 |
wifi_mgr | {SDK}\.sdk\csk\samples\network\wifi_mgr |
演示如何使用 wifi 管理器扫描相邻的 AP 设备并自动连接到 wifi AP 作为站设备,并将连接的 AP 信息保存到 wifi NVS 存储中。 | 访问 |
外设 | 示例路径 | 示例内容 | 教程文档 |
---|---|---|---|
(外部扩展) adc | driver\exmcu_adc |
演示如何调用 adc 接口来实现扩展 MCU 的 ADC 功能。运行该应用后,会间隔采集EXT_PA2引脚上的电压,并通过日志输出。 | 访问 |
(外部扩展) gpio | driver\exmcu_gpio_led |
使用扩展 MCU 的 io 来闪烁 LED。展示了如何将 GPIO 引脚配置为输出,然后打开和关闭它们,控制开发板上的的三色灯进行闪烁。 | 访问 |
(外部扩展) pwm | driver\exmcu_pwm |
演示如何使用扩展 MCU 的 PWM 功能。运行该代码后, 会在开发板的 EXT_PD2 引脚输出频率为1HZ,占空比为 50% 的波形。 | 访问 |