【聆思CSK6 视觉AI开发套件试用】Ubuntu 环境下 AI 图像识别体验

本篇文章来自极术社区与聆思科技组织的CSK6 视觉AI开发套件活动,更多开发板试用活动请关注极术社区网站。作者:Papalimo

前言

非常感谢极术社区和聆思科技提供的机会,本人有幸本选中参加体验聆思 CSK6 视觉 AI 套件。话不多说,开始进入正题。

芯片介绍

开始之前先对本次体验的芯片做一个大体上的认知。

CSK6 是聆思科技新一代的 AI 芯片 SoC 产品系列,采用多核异构架构,集成了 ARM Star MCU,HiFi4 DSP,以及聆思全新设计的 AI 神经网络处理内核 NPU,算力达到 128 GOPS。多核异构的设计使芯片能以较低功耗满足音频及图像视频的 AI 应用需求。

环境搭建

本次体验使用的开发环境是 Ubuntu 20.04。

  1. 使用套件中提供的 Type-C 线插入开发板的 DAPLink 接口,然后另外一端插入电脑上。此时会在 ubuntu 系统中弹出 LISTENAI 的 可移动 U 盘图标。

  1. 打开终端,输入以下命令安装依赖
    sudo apt update sudo apt upgrade -y sudo apt install git wget minicom vim -y
  2. 搭建 CSK 开发环境。安装 lisa zep 工具,初始化 CSK6 SDK 所需要的开发环境
    curl -o-https://cdn.iflyos.cn/public/cskTools/lisa-zephyr-install.sh| bash
  3. 检查开发环境
    lisa info zep

Hello World

国际惯例,拿到板子先跑一下 hello,world

创建工程

  1. 在测试目录,使用下面的命令创建一个 hello,world 工程
    lisa zep create

  1. 出现上面的界面后,我们选择 hello_world,创建成功后的 hello_world 目录如下图

编译固件

使用下面的命令编译 hello_world 工程

lisa zep build -b csk6011a_nano

编译成功的界面:

下载固件

lisa zep flash

下载成功界面如下图所示:

连接串口

  1. 另外打开一个终端,输入命令配置串口:
    sudo minicom -s
  2. 选择 Serial port setup

  1. 按一下 A 键,修改 Serial Device。波特率默认为115200,不需要修改。我这里的串口设备名字为:/dev/ttyACM0。各位以自己本地的名字为主。

  1. 保存并退出 minicom

  1. 输入以下命令,启动 minicom
    sudo minicom
  2. 复位开发板,就可以看到串口的输出了

图像识别

上一小节,我们跑了一个简单的 hello world 工程。对聆思开发板的开发步骤有了一个大概的了解。作为一款 AI 开发板,怎么能不体验一下它的 AI 功能呢!这一章节,我们跑一个头肩&手饰识别来体验 CSK6 的 AI 功能。

功能介绍

详见管网:功能与场景 | 聆思文档中心 (listenai.com)

获取源码

执行下面的命令,拉取 Sample 代码并完成初始化

lisa zep create --from-git https://cloud.listenai.com/zephyr/applications/app_algo_hsd_sample_for_csk6.git

初始化成功界面如下:

开启PC端图像预览功能

修改 prj.conf 文件,将CONFIG_WEBUSB=n改为CONFIG_WEBUSB=y

cd app_algo_hsd_sample_for_csk6/
sudo vim prj.conf

保存并退出。

vim 常用命令

编译固件

使用下面的命令编译固件

lisa zep build -b csk6011a_nano

编译成功后,界面如下所示:

下载固件

下载应用程序

使用下面的命令下载固件到开发板

lisa zep flash

下载成功后,界面如下所示:

下载资源

如果此时 minicom 还连接着开发板的串口,需要使用命令CTRL+A X先断开连接。否则会下载失败!

下载完应用程序后,我们需要将算法运行所需要的资源进行烧录,执行下面的命令,下载资源文件:

lisa zep exec cskburn -s /dev/ttyACM0 -C 6 0x400000 ./resource/cp.bin -b 748800
lisa zep exec cskburn -s /dev/ttyACM0 -C 6 0x500000 ./resource/res.bin -b 748800
  • -s 后面需要修改为自己开发环境上的串口设备号

烧录界面如下所示:

重启开发板

下载完成之后,按下 REST 重启开发板。此时可以使用 minicom 连接开发板的串口,查看日志:

PC 查看工具

  1. 安装工具
    git clonehttps://cloud.listenai.com/zephyr/applications/csk_view_finder_spd.git
  2. 使用 Type-C数据线连接 CSK6 USB 接口至电脑
  3. 打开 index.html 文件(要使用 chrome 浏览器打开)

  1. 此时浏览器界面如下

  1. 点击选择设备按钮后,选择CSK View Finder选项,点击连接后,就可以看到预览图和识别结果啦:

  1. 识别结果

跑分

本章节使用 coremark 工具简单跑一下分,测试以下 ARM STAR 芯片的性能。

  1. 下载 coremark
    git clonehttps://github.com/eembc/coremark.git
  2. 将下面的几个文件复制到 helle world 工程的 src 目录下;并修改 cmake 文件

  1. 打开 prj.conf 文件,添加下面的内容
    # # nothing here CONFIG_PRINTK=y CONFIG_DEBUG=y CONFIG_LOG=y CONFIG_MAIN_STACK_SIZE=8192 CONFIG_GPIO=y CONFIG_FPU=y CONFIG_NEWLIB_LIBC=y
  2. 修改 core_portme.c 文件

  1. 修改 core_portme.h 文件

  1. 修改 coremark.h 文件

  1. 全局搜索 crc16 函数,替换为 core_urc16。否则编译会出警告(重复定义)。能忍受警告的也可以不用修改。

  1. 修改完毕后,保存修改,编译下载固件,打开 minicom 查看串口输出情况

最后

文章最后,再次感谢极术社区和聆思科技提供的开发套件。总体来说,整个体验流程是很顺利的,可以体验到聆思科技做了很多的准备,可以让开发者快速上手体验 AI 识别。后续有机会的话,我会适配一下 国产 RT-Thread 操作系统,看一下适配了 RT-Thread 操作系统的 CSK6 会不会有更好的表现。

问题总结

下载失败,提示以下错误

[Errno 13] Access denied (insufficient permissions) while trying to interrogate a USB device

解决方法

  1. 下载 pyocd
    git clonehttps://github.com/pyocd/pyOCD.git
  2. 复制 udev 目录下的文件到 /etc/udev/rules.d/ 目录下
    cd pyOCD sudo cp udev/*.rules /etc/udev/rules.d/
  3. 强制 udev 重新加载
    sudo udevadm control --reload sudo udevadm trigger
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值