刘俊凯 发表于 2025-1-7 16:56:41

使用kendryte官方的C SDK 和toolchain 对k210举行开发

使用kendryte官方的C SDK 和toolchain 开发k210
开发配景:
1、软件环境:Ubuntu 23.04
2、硬件环境:Sipped 的 Maix Ⅰ系列开发板 Maix bit(k210)
一、获取C SDK
https://github.com/kendryte/kendryte-standalone-sdk.git
二、获取toolchain
https://github.com/kendryte/kendryte-gnu-toolchain/releases/tag/v8.2.0-20190409
1、获取的工具链放在/opt 路径下(也可以是其它路径,看本身的习惯)
https://i-blog.csdnimg.cn/direct/82457ca02c8547b9ae8e8c5533fa0d7d.png#pic_center
2、将工具链路径添加到PATH
export PATH=/opt/kendryte-toolchain/bin:$PATH
或者,等会调用cmake编译代码时,直接指定编译器位置
cmake .. -DPROJ=<ProjectName> -DTOOLCHAIN=/opt/kendryte-toolchain/bin&& make
三、获取C Demo (本身根据 c sdk写一个demo也行)
https://github.com/kendryte/kendryte-standalone-demo
那么现在就得到三个文件:kendryte-toolchain、kendryte-standalone-sdk、kendryte-standalone-demo。
/opt/kendryte-toolchain/
├── bin
├── include
├── lib
├── libexec
├── riscv64-unknown-elf
└── share
/disk3/k210/kendryte_C_SDK/
├── kendryte-standalone-demo-develop
└── kendryte-standalone-sdk-develop
https://i-blog.csdnimg.cn/direct/94fb35b727ef46bf99cfc4cd19342a50.png#pic_center
官方提供的编译步骤:
https://github.com/kendryte/kendryte-standalone-sdk/blob/develop/README.md
跟着官方给的步骤举行操纵:
cd到sdk路径,创建并进入文件夹build,编译
cd ./kendryte-standalone-sdk-develop/
mkdir build && cd build
cmake ..   -DPROJ=hello_world-DTOOLCHAIN=/opt/kendryte-toolchain/bin&& make
https://i-blog.csdnimg.cn/direct/97e45f688c15473fba8895ecaf9ed888.png#pic_center
编译通过
https://i-blog.csdnimg.cn/direct/630d814eaf6440f38a341a70f3a53dac.png#pic_center
尝试编译demo文件内里的face_detect示例
清空当前build、将demo文件内里的face_detect复制到sdk的src文件夹中、编译face_detect
rm -rf *
cp -r ../../kendryte-standalone-demo-develop/face_detect ../src/
cmake ..   -DPROJ=face_detect-DTOOLCHAIN=/opt/kendryte-toolchain/bin&& make
https://i-blog.csdnimg.cn/direct/515309053c484194b44e8bf3811b89a4.png#pic_center
同样也是顺利通过
https://i-blog.csdnimg.cn/direct/7cf8a894bc284e119f1741dcb66ad2cf.png#pic_center
将得到的.bin文件使用kflash烧录
1、下载 kflash
pip install kflash
2、烧录.bin文件
kflash -p /dev/ttyUSB0 -t hello_world.bin
https://i-blog.csdnimg.cn/direct/d0c17a8a834f45e1a1209832e7320c8a.png#pic_center
关于怎样创建虚拟环境myenv后下载依赖(开发中用到的软件/库)指路:MaixBit k210学习记录
关于怎样在ubuntu使用主机串口(也就是在Ubuntu中访问到/dev/ttyUSB0)指路:VirtualBox下ubuntu23.04使用主机串口以及使用 minicom 举行串口调试
注意!!!
   face_detect.bin文件,它可能是为特定的硬件环境(如Kendryte自家的开发板)编译生成的二进制文件。这个文件包罗了用于实行人脸识别算法的代码,同时也可能包罗了对特定硬件资源(例如LCD显示屏、摄像头模块等)的操纵。由于不同的开发板可能有不同的外设配置,直接将此二进制文件放到另一块开发板(如Sipeed Maix系列)上运行,可能会因为缺少须要的驱动支持或不兼容的硬件初始化而导致无法正常工作。
因此,假如盼望在Sipeed的K210开发板上实现类似的face_detect功能,通常的做法是:
获取适用于Sipeed K210开发板的SDK或示例代码。
根据Sipeed提供的文档和API来编写或修改应用步伐代码,以确保它可以精确地初始化并操纵该开发板上的硬件资源。
假如您想要移植现有的功能(如面部检测),可以参考Kendryte的face_detect示例代码中的算法实现部门,但须要更换或调整与硬件交互的部门,以匹配Sipeed开发板的详细情况。
编译时使用适合Sipeed开发板的配置选项,确保生成的二进制文件能够与目标硬件兼容。
简而言之,固然底层的处理器指令集相同,但由于外设的不同,须要做肯定的适配工作才能让代码在一个新的硬件平台上顺利运行。
经过实验,kendryte sdk编译出来hello_world.bin可以成功烧录进Maix bit(k210),并成功运行
https://i-blog.csdnimg.cn/direct/789e7941936a4d448262d8135f139f4b.png#pic_center
face_detect.bin也可以烧录+运行,但是实现LCD白屏,并不能实现人脸检测功能
https://i-blog.csdnimg.cn/direct/8141cb022e274bacbc633c4eabca52f5.png#pic_center

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 使用kendryte官方的C SDK 和toolchain 对k210举行开发