偶然间看到极术群里面发的聆思开发板试用活动,当时听了第一期的视频教程,觉得很有意思,就报名体验了,很荣幸成为了第一批的幸运用户。因为ai项目还未搞定,就先记录下自己的爬坑历史和传一个非ai的WiFi刷写项目。
连接
开发板收到之后,我就给自己爬了个坑,理论上,win10环境下,dap v2都是自动识别的,但是不知道为啥,我的就没有识别。电脑识别到LISTENAI的小U盘,也能识别正常COM3的串口,但是串口是无法使用lisa Zep flash命令的,虽然能通过把固件拖到小U盘里面实现固件下载,但是没法用VSCode调试。
尝试过网上的修WIN7的方法,驱动卸载安装好多次不见好,后来换台电脑,正确识别了。。。。后面比对了下两台电脑的串行总线控制器,发现串口连不了的电脑上有一个MEBDXXX的设备,这个时候回忆起来,当时用小U盘txt文件里的https://daplink.io安装了额外的驱动。
然后,把它卸载之后,例程就调通了。
试用AI
本来打算记录写一个记录时间和头肩坐标的数据包,通过wifi定时发给PC,然后PC对比坐标相对位置和相对时间,来做一个实时评分,但是WiFi移植到ai项目时,EPS始终无法初始化,看起来像是ESP无回复,本来以为是GPIOA10引脚复用导致的,后面换到GIPOB,情况也是一样的。
在记录时间时,刚开始用的时RTC,但是RTC的计时器记到58次,就停了,后面用了系统定时器。
固件资源WIFI下载
ai的wifi还在尝试,由于最近正在了解ota刷写,后面就写了这个固件资源的wifi下载。
首先用的是官方文档的websocket传输数据,但是因为要配置刷写,用到flash map,所以要先在设备树里面把固件地址的分区配置出来。
配置的分区比官方提供的cp.bin和res.bin的存储区要大,如果配置分区小的话,程序能正常工作,但实际上应该无法写入fash。
之后再配置中,打开flash map
然后,修改WiFi服务端的地址和端口,按服务端的需求设置电脑的ipv4地址
因为flash map用的是4k对齐,为了方便,直接把接收缓冲区扩展到5120
之后,写一段交互的,主要是协调服务端上位机数据发送和对接收到和写入的数据做一个crc16的校验
项目build,要选择csk6011a_c3_nano,检查这个项目跟csk6011a_nano项目,对比,这个设备树多了一个spi1,关闭了uart1,同时在系统定义里面定义了esp的一些配置。
最后,就是找一个支持websocket的上位机
在没有打开串口时,有时候,WiFi连不上,应该是我笔记本供电不足,换上插排的usb供电基本就不出问题。
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