bcd · 2022年11月30日 · 上海市闵行区

【聆思CSK6视觉AI开发套件试用测评】固件资源WIFI下载实践

偶然间看到极术群里面发的聆思开发板试用活动,当时听了第一期的视频教程,觉得很有意思,就报名体验了,很荣幸成为了第一批的幸运用户。因为ai项目还未搞定,就先记录下自己的爬坑历史和传一个非ai的WiFi刷写项目。

连接

开发板收到之后,我就给自己爬了个坑,理论上,win10环境下,dap v2都是自动识别的,但是不知道为啥,我的就没有识别。电脑识别到LISTENAI的小U盘,也能识别正常COM3的串口,但是串口是无法使用lisa Zep flash命令的,虽然能通过把固件拖到小U盘里面实现固件下载,但是没法用VSCode调试。

尝试过网上的修WIN7的方法,驱动卸载安装好多次不见好,后来换台电脑,正确识别了。。。。后面比对了下两台电脑的串行总线控制器,发现串口连不了的电脑上有一个MEBDXXX的设备,这个时候回忆起来,当时用小U盘txt文件里的https://daplink.io安装了额外的驱动。
1669771706561.png
然后,把它卸载之后,例程就调通了。

试用AI

本来打算记录写一个记录时间和头肩坐标的数据包,通过wifi定时发给PC,然后PC对比坐标相对位置和相对时间,来做一个实时评分,但是WiFi移植到ai项目时,EPS始终无法初始化,看起来像是ESP无回复,本来以为是GPIOA10引脚复用导致的,后面换到GIPOB,情况也是一样的。
e62cbbe912c54cc289689bf4d5403bd.png
32464fcbb9bced3582304852693f4ee.png
在记录时间时,刚开始用的时RTC,但是RTC的计时器记到58次,就停了,后面用了系统定时器。
1669773395749.png

固件资源WIFI下载

ai的wifi还在尝试,由于最近正在了解ota刷写,后面就写了这个固件资源的wifi下载。

首先用的是官方文档的websocket传输数据,但是因为要配置刷写,用到flash map,所以要先在设备树里面把固件地址的分区配置出来。
eb267ae6cbbe89797fc8cbe3ee61ceb.png

配置的分区比官方提供的cp.bin和res.bin的存储区要大,如果配置分区小的话,程序能正常工作,但实际上应该无法写入fash。
之后再配置中,打开flash map
3d3a3f28dc85b5674f06ec781ff6707.png

然后,修改WiFi服务端的地址和端口,按服务端的需求设置电脑的ipv4地址
13af91e1d942a9b227ccaffd4536f5a.png
f6474e4259f5ec06c59f5a0d3d4d109.png
因为flash map用的是4k对齐,为了方便,直接把接收缓冲区扩展到5120
d86f9bd12de59d9daef0eeb532c9eb7.png

之后,写一段交互的,主要是协调服务端上位机数据发送和对接收到和写入的数据做一个crc16的校验
fcba80dbdece77c90ca4419a28bf062.png
1bb724e37d719a800a3d72341bd9c20.png

项目build,要选择csk6011a_c3_nano,检查这个项目跟csk6011a_nano项目,对比,这个设备树多了一个spi1,关闭了uart1,同时在系统定义里面定义了esp的一些配置。
最后,就是找一个支持websocket的上位机
5a7b9ff624d542a87b6f79043f1661a.png

在没有打开串口时,有时候,WiFi连不上,应该是我笔记本供电不足,换上插排的usb供电基本就不出问题。
0a34748d9b4f30f507dcbeec3bfaacd.png

cp.bin写入

data len是分次接收到的数据长度,cal crc是对接收到的4k数据计算的crc值,recv crc是上位机计算的放在4k数据尾部两个字节的crc数据,用来校验数据传输,目前只计算了,但是没有校验。read value crc是读取的flash中4k数据的计算的crc值,目前计算了,但是未校验.

文中用到的上位机和下位机文件地址:
https://gitee.com/wangduo1991/csk-file.git

推荐阅读
关注数
5165
内容数
98
聆思科技官方专栏,专注AIOT芯片,持续分享有趣的解决方案。商务合作微信:listenai-csk 技术交流QQ群:825206462
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息