话说感谢极术社区与聆思科技赠送了一套CSK6视觉开发套件给我,因为一直忙于其他事情所以没怎么深入研究。最近因为春节后有一个AI视觉的项目研究课题,所以突然想起就拿出来把玩一下,获取一下灵感和思路。
拿出来第一时间就是跑跑最新的例程,在跑例程的时候爬过了一堆坑,所以在这里就给大家分享一下,于是就有了这篇文章。好了,我们还是正式开始吧。
1、例程获得。
我们这次用的是人脸识别,例程的地址在:https://cloud.listenai.com/zephyr/applications/app\\_algo\\_fd\\_sample\\_for\\_csk6.git
当然也可以通过lisa zep create --from-git 获取。
2、模块拉取。
例程获得了需要进行模块的本地拉取,这个也是入门关键点;因为我用的是WIN10 专业版,在拉取时老报错一直找原因,后来发现是因为git目前安全问题导致拉取不成功,后来需要通过人手进行目录安全的设置。
`
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/avf
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/licak
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/hal/listenai
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/webusb
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/canopennode
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/chre
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/civetweb
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/tools/edtt
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/fs/fatfs
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/liblc3codec
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/fs/littlefs
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/lz4
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/crypto/mbedtls
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/debug/mipi-sys-t
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/nanopb
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/tools/net-tools
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/open-amp
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/openthread
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/debug/segger
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/tflite-micro
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/tinycbor
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/crypto/tinycrypt
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/debug/TraceRecorder
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/tee/tf-m/trusted-firmware-m
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/tee/tf-m/tf-m-tests
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/tee/tf-m/psa-arch-tests
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/zcbor
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/zscilib
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/hal/libmetal
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/hal/cmsis
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/audio/sof
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/protobuf-c
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/esp-hosted
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/bootloader/mcuboot
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/listenai/lisa\_player
git config --global --add safe.directory D:/AI\_CSK6/app\_algo\_fd\_sample\_for\_csk6/.sdk/modules/lib/listenai/zport\_sal
`
执行上面的代码然后再执行:lisa zep init-app 进行模块拉取就可以了,然后记得进行模块的更新 lisa zep update
3、代码构建。
本以为这样就可以,原来自己太天真了,在进行代码构建,lisa zep build -b csk6011a_nano 老不行,老提示错误,后来发现在后面加个-p即可。 lisa zep build -b csk6011a_nano -p原来这个P是重新编译所有链接,反正搞掂就可以了。
4、程序烧录。
这个以为执行lisa zep flash就完事了,但原来不是的。还要执行进行资源的烧录,这个真是漫长的等待2条命令:
`
lisa zep exec pyocd flash -e sector -a 0x18000000 -t csk6001 --base-address=0x18400000 resource/cp.bin --frequency=30000000
lisa zep exec pyocd flash -e sector -a 0x18000000 -t csk6001 --base-address=0x18500000 resource/res.bin --frequency=30000000
`
好了,等待完毕就可以直接到网页上看到效果了。
https://tool.listenai.com/csk...
以上就是本来亲自对聆思CSK6的例程烧录过程经验分享,当然也是回顾一下聆思的开发操作,最后再送点干货吧。聆思的三个总要命令:
建立工程:lisa zep create
编译工程: lisa zep build -b csk6011a_nano -p
烧录工程:lisa zep flash