目录
视觉语音大模型 AI 开发套件简介
视觉语音大模型 AI 开发套件( CSK6-MIX )是聆思科技围绕 CSK6 AI 芯片 设计的具备丰富语音图像功能与硬件外设的开发板,默认配套开箱即玩的 AI 应用,方便用户快速基于搭建 AI 硬件原型并体验算法效果。此次是参加厂商的评测工作,记录一下开发环境的构建,以免日后忘记。
开发环境的构建
我们的开发环境是构建在阿里云的无影云电脑上的,之所以这么做主要是笔记本的能力和空间都不足,正好试试无影云电脑进行嵌入式开发是否顺利。
安装LISA命令行工具
要进行开发,包括编译、烧写工作,都需要使用LISA命令行工具。其安装方法见厂商提供的说明:环境搭建 | 聆思文档中心 (listenai.com)。这里有几点补充:
- 厂商提供的链接安装的是1.7版本,安装后会提示是否升级到2.0,选择升级。
- 升级后执行如下命令:
lisa zep use-env --clear
lisa zep use-env csk6
这个过程执行了较长时间,不知道和无影云电脑网络限速是否有关。最后得到的结果如下,注意这里的zephyr-sdk有0.14和0.16两个版本,如果没有升级,应该只有0.14版本。
然后在命令行执行如下命令检查一下设置情况。
lisa info zep
我的设置如下:
Operating System - Windows Server 2022 Datacenter, version 10.0.20348 x64
@listenai/lisa - 2.6.1
Account - 未登录或登录已过期
Node.js environment
Node.js - v16.18.0
npm - 8.19.2
yarn - 1.22.19
Global environment
git - git version 2.38.0.windows.1
Plugin info
zep - 2.0.0 (latest: 2.0.0)
Plugin environment
env - csk6
west - West version: v0.14.0
venv - Python 3.9.7
cmake - cmake version 3.25.3
dtc - Version: DTC 1.6.0-dirty
gperf - GNU gperf 3.1
mklfs - v1.0.0 (3640bfb)
ninja - 1.11.1
protoc - libprotoc 3.19.1
xz - xz (XZ Utils) 5.2.5
cskburn - v1.22.0 (305)
zephyr-sdk-0.14.2 - arm-zephyr-eabi-gcc (Zephyr SDK 0.14.2) 10.3.0
zephyr-sdk-0.16.1 - arm-zephyr-eabi-gcc (Zephyr SDK 0.16.1) 12.2.0
gcc-arm-none-eabi-10.3 - arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10.3-2021.10) 10.3.1 20210824 (release)
jlink-venus - V7.58
CSK_BASE - C:\Users\haili\AppData\Roaming\LISTENAI\LISA\csk-sdk\zephyr (版本: v1.1.2, commit: ba98f7cb8c)
ZEPHYR_BASE - C:\Users\haili\AppData\Roaming\LISTENAI\LISA\csk-sdk\zephyr (版本: v1.1.2, commit: ba98f7cb8c)
PLUGIN_HOME - C:\Users\haili\AppData\Roaming\LISTENAI\LISA\lisa-zephyr
VIRTUAL_ENV - C:\Users\haili\AppData\Roaming\LISTENAI\LISA\lisa-zephyr\venv
ZEPHYR_TOOLCHAIN_VARIANT - zephyr
ZEPHYR_14_SDK_INSTALL_DIR - C:\Users\haili\AppData\Roaming\LISTENAI\LISA\lisa-zephyr\packages\node_modules\@binary\zephyr-sdk-0.14.2\binary
ZEPHYR_16_SDK_INSTALL_DIR - C:\Users\haili\AppData\Roaming\LISTENAI\LISA\lisa-zephyr\packages\node_modules\@binary\zephyr-sdk-0.16.1\binary
GNUARMEMB_TOOLCHAIN_PATH - C:\Users\haili\AppData\Roaming\LISTENAI\LISA\lisa-zephyr\packages\node_modules\@binary\gcc-arm-none-eabi-10.3\binary
获取SDK
大模型AI开发套件 SDK 由聆思进行维护与发布,代码仓开源,项目地址为:项目 · Duomotai / duomotai_ap · GitLab
SDK 中除了包含操作系统(Zephyr)的源码,还提供了基于本开发套件构建的离线AI算法
、大模型应用
、CSK6芯片外设Sample
等示例,你可以通过这些示例快速体验套件上的各种能力,并参考这些示例搭建自己的应用。厂商资料参见:获取开发环境与SDK | 聆思文档中心 (listenai.com)。在我测试的时候,1.5版本的SDK刚刚发布。有些文档还没有更新,遇到的问题不知道是否与此有关。
在电脑终端(如cmd、poweishell)你希望保存SDK的路径下执行以下指令,拉取示例工程 SDK 代码至本地 :
git clone --branch v1.5.0 https://cloud.listenai.com/CSKG962172/duomotai_ap.git
这个SDK不小,所以花了一些时间。
进入到 duomotai_ap目录下 (cd duomotai_ap
),分别执行以下命令,使用 lisa 对项目进行初始化:
lisa zep init-app
lisa zep update
这个过程会对 SDK 进行初始化并拉取编译应用所需的源码和库,需要较长时间,特别是init-app这一步。
应用程序编译
执行以下指令进行代码编译(以 Windows CMD 终端为例):
lisa zep build -b csk6_duomotai_devkit apps\LLM_control -p
编译时遇到如下错误:
-- Board: csk6_duomotai_devkit
CMake Error at D:/LSSDK/duomotai_ap/.sdk/zephyr/cmake/modules/FindZephyr-sdk.cmake:108 (find_package):
Could not find a package configuration file provided by "Zephyr-sdk"
(requested version 0.15) with any of the following names:
Zephyr-sdkConfig.cmake
zephyr-sdk-config.cmake
Add the installation prefix of "Zephyr-sdk" to CMAKE_PREFIX_PATH or set
"Zephyr-sdk_DIR" to a directory containing one of the above files. If
"Zephyr-sdk" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
D:/LSSDK/duomotai_ap/.sdk/zephyr/cmake/modules/FindHostTools.cmake:53 (find_package)
D:/LSSDK/duomotai_ap/.sdk/zephyr/cmake/modules/dts.cmake:9 (find_package)
D:/LSSDK/duomotai_ap/.sdk/zephyr/cmake/modules/zephyr_default.cmake:115 (include)
D:/LSSDK/duomotai_ap/.sdk/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:66 (include)
D:/LSSDK/duomotai_ap/.sdk/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
CMakeLists.txt:12 (find_package)
-- Configuring incomplete, errors occurred!
FATAL ERROR: command exited with status 1: 'C:\Users\haili\AppData\Roaming\LISTENAI\LISA\lisa\node_modules\@lisa-plugin\zephyr\node_modules\@binary\cmake\binary\bin\cmake.EXE' -DWEST_PYTHON=C:/Users/haili/AppData/Roaming/LISTENAI/LISA/lisa-zephyr/venv/Scripts/python.exe '-BD:\LSSDK\duomotai_ap\build' -GNinja -DBOARD=csk6_duomotai_devkit '-SD:\LSSDK\duomotai_ap\apps\LLM_control'
根据错误信息提示,设置了环境变量
set Zephyr-sdk_DIR=C:\Users\haili\AppData\Roaming\LISTENAI\LISA\lisa-zephyr\packages\node_modules\@binary\zephyr-sdk-0.16.1\binary\cmake\
注意这里的路径是0.16.1版本的,目前的例子需要的是0.15以后版本,如果是0.14.2则编译时仍然会报错。
最后编译成功得到如下结果。
程序烧写
我们尝试在无影云电脑中尝试接触禁用USB串口设备,如下图:
但是解除禁用后没有得到预期的效果。只好放弃在无影云电脑上直接烧写程序的想法。
我们将 .\build\zephyr\zephyr.bin文件拷贝到本地电脑,将C:\Users\haili\AppData\Roaming\LISTENAI\LISA\lisa-zephyr\packages\node_modules\@binary\cskburn\binary\cskburn.exe文件拷贝到本地。
然后执行如下命令即可完成烧写工作。
cskburn -s \\.\COM9 -C 6 -b 1500000 0x000000 .\zephyr.bin