meta-kendryte 的编译和使用¶
本章介绍如何编译和运行堪智K510的例子。 具体内容如下:
1.构建镜像¶
2.烧录镜像¶
2.1 烧录引导程序¶
板卡可以正常启动无需下载
2.2 烧卡¶
将 Micro SD卡插入计算机:
输入以下命令查看连接中的 Micro SD卡地址:
lsblk如下图2-2-1所示,示例中的 Micro SD卡地址为/dev/sdb
输入以下命令,进入分区配置:
sudo fdisk /dev/sdb示例2-2-2输出:
分别输入以下命令删除原来的分区并创建新的分区:
d(多次执行删除所有分区)--->o,n--->p(根据创建分区数,重复执行),w说明:为保持某些默认设置,请按Enter回车键,本次创建两个分区。 使用t选项,选择第一个分区,然后选择c,把分区system id类型设置为fat。然后使用a,选择第一个分区为boot类型。
示例2-2-3输出:
创建完分区之后,还需要对分区进行格式化。把sdb1的fstype格式化为fat,sdb2的fstype格式化为ext2分区。mke2fs可以用-t选项指定为ext2:
sudo mkfs.vfat -F 32 -n "boot" /dev/sdb1 sudo mke2fs -t ext2 -F -L "rootfs" /dev/sdb2从计算机中移除 Micro SD卡,并重新插入以挂载系统镜像。
输入以下命令查看是否挂载成功:
df -h
系统输出如下。请记录下图高亮处的挂载路径。 图2-2-4示例输出如下:
进入到rootfs系统软件包、Kernel和dtb、环境配置等这些文件所在路径,输入以下命令复制镜像文件到Micro SD卡:
sudo cp bootm-bbl.img <Mount_Location-sdb1> sudo cp k510.dtb <Mount_Location-sdb1> sudo cp u-boot_burn.bin <Mount_Location-sdb1> sudo cp uboot-sd.env <Mount_Location-sdb1> tar -xvf core-image-kendryte-xxx.rootfs.tar -C <Mount_Location-sdb2> chmod 755 -R <Mount_Location-sdb2>/* sync说明: <Mount_Location>指之前分区的挂载路径,文件系统core-image-kendryte-xxx.rootfs.tar解压放在第二分区,其余镜像文件放在第一分区。
从计算机中移除 Micro SD 卡,并将该卡插入堪智K510板卡,然后启动堪智K510板卡。
K510通过BOOT0和BOOT1两个硬件管脚的状态决定芯片启动方式,目前我们使用SD卡启动(BOOT0=1/BOOT1=0)。开启开关,k510根据配置加载内核以及根文件系统,最后进入到登录界面。
输入用户名,如: kendryte login: root
运行实例
运行实例helloworld
/# cd /usr/bin/ /# ./helloworld Hello World!!! /#
运行tensorflow实例
root@kendryte:/usr/share/tensorflow/lite/examples/label_image# ./label_image \ > --tflite_model ./mobilenet_v1_1.0_224.tflite \ > --labels ./labels.txt \ > --image ./grace_hopper.bmp INFO: Loaded model ./mobilenet_v1_1.0_224.tflite INFO: resolved reporter INFO: Created TensorFlow Lite XNNPACK delegate for CPU. INFO: invoked INFO: average time: 3439.94 ms INFO: 0.860175: 653 653:military uniform INFO: 0.0481016: 907 907:Windsor tie INFO: 0.00786705: 466 466:bulletproof vest INFO: 0.00644932: 514 514:cornet, horn, trumpet, trump INFO: 0.0060802: 543 543:drumstick root@kendryte:/usr/share/tensorflow/lite/examples/label_image#