01studio CanMV K230 无法启动 Linux

Viewed 544

重现步骤

我从 01studio 购买了 CanMV K230 的开发板,01studio 官方只提供了在大核运行的 micropython 程序的镜像。但我有在支持 RVV 1.0 的大核上运行 Linux 并编写支持 SIMD 指令的 C/C++ 程序的需求。于是我在嘉楠官网 https://developer.canaan-creative.com/resource?selected=0-0-1 下载并解压了 CanMV-K230_ubuntu_sdcard_1.3.img.gz 和 CanMV-K230_debian_sdcard_sdk_1.3.img.gz,并分别尝试烧录在 SD 卡中。

期待结果和实际结果

预期的结果是在我宿主机(Ubuntu 24.04.1 LTS x86_64)看到设备 /dev/ttyACM0,使用 minicom 连接可以进入 开发板中 ubuntu/debian 的 shell。

实际的结果是开发板红灯亮但蓝灯没有亮(预期结果),但找不到 /dev/ttyACM0

软硬件版本信息

开发板名称为 01studio CanMV K230,规格可见 01studio 官网 https://wiki.01studio.cc/docs/canmv_k230/intro/canmv_k230/

错误日志

尝试解决过程

我尝试使用了 k230_linux_sdk 的 github 仓库 (https://github.com/kendryte/k230_linux_sdk) 并参考了嘉楠的编译文档 https://developer.canaan-creative.com/k230_linux/dev/zh/01_software/K230_linux_sdk%E6%95%99%E7%A8%8B.html#sdk ,并成功生成了 sysimage-sdcard.img.gz,但烧录进 SD 卡并启动开发板后,仍然无法看到 /dev/ttyACM0

补充材料

编译指令为:

make CONF=k230_canmv_01studio_defconfig

k230_canmv_01studio_defconfig 内容:

BR2_riscv=y
BR2_RISCV_ISA_RVC=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/toolchain/Xuantie-900-gcc-linux-6.6.0-glibc-x86_64-V2.10.1"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="riscv64-unknown-linux-gnu"
BR2_TOOLCHAIN_EXTERNAL_GCC_10=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_6_6=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TOOLCHAIN_EXTERNAL_FORTRAN=y
BR2_TOOLCHAIN_EXTERNAL_OPENMP=y
BR2_DL_DIR="$(TOPDIR)/../../dl"
BR2_SYSTEM_DHCP="eth0"
BR2_ROOTFS_OVERLAY="board/canaan/k230-soc/rootfs_overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/canaan/k230-soc/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/canaan/k230-soc/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="k230-canmv-01studio $(LINUX_DIR)"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/ruyisdk/linux-xuantie-kernel.git"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="3c3f4061b727e6d0e2293357a7475b578d688d92"
BR2_LINUX_KERNEL_DEFCONFIG="k230"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="canaan/k230-canmv-01studio"
BR2_LINUX_KERNEL_INSTALL_TARGET=y
BR2_PACKAGE_LINUX_TOOLS_GPIO=y
BR2_PACKAGE_ALSA_UTILS=y
BR2_PACKAGE_VVCAM=y
BR2_PACKAGE_COREMARK=y
BR2_PACKAGE_COREMARK_PRO=y
BR2_PACKAGE_VG_LITE_DEMOS=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_BZIP2=y
BR2_PACKAGE_PYTHON3_DECIMAL=y
BR2_PACKAGE_PYTHON3_READLINE=y
BR2_PACKAGE_PYTHON3_SSL=y
BR2_PACKAGE_PYTHON3_SQLITE=y
BR2_PACKAGE_PYTHON3_PYEXPAT=y
BR2_PACKAGE_PYTHON3_XZ=y
BR2_PACKAGE_PYTHON3_ZLIB=y
BR2_PACKAGE_OPENCV4=y
BR2_PACKAGE_OPENCV4_LIB_PYTHON=y
BR2_PACKAGE_OPENCV4_LIB_VIDEOIO=y
BR2_PACKAGE_OPENCV4_LIB_VIDEO=y
BR2_PACKAGE_OPENCV4_WITH_FFMPEG=y
BR2_PACKAGE_OPENCV4_WITH_JPEG=y
BR2_PACKAGE_OPENCV4_WITH_PNG=y
BR2_PACKAGE_OPENCV4_WITH_V4L=y
BR2_PACKAGE_OPENCV4_WITH_WEBP=y
BR2_PACKAGE_OPENCV4_CONTRIB=y
BR2_PACKAGE_LIBGPIOD=y
BR2_PACKAGE_LIBGPIOD_TOOLS=y
BR2_PACKAGE_LRZSZ=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
BR2_TARGET_OPENSBI=y
BR2_TARGET_OPENSBI_CUSTOM_VERSION=y
BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.4"
BR2_TARGET_OPENSBI_PLAT="generic"
# BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG is not set
BR2_TARGET_OPENSBI_LINUX_PAYLOAD=y
BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES="FW_TEXT_START=0"
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="k230_canmv_01studio"
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2022.10"
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
2 Answers

01studio 的串口是ttl插针,需要单独接ttl串口板才能看到串口输出。
image.png

是类似于这样的工具吗?
https://s21.ax1x.com/2024/10/30/pAB6Ak8.jpg

目前我将sd卡刷回了micropython的版本,并使用了PWLINK2 (lite) powerwriter 用于 ttl 转 usb, 但无论是使用GND,RX,TX接上面三个串口还是下面这三个串口。usb中的指示灯会随着键盘的敲击而闪烁,但minicom中都没有任何输出。

tx和rx需要对接,板子的tx需要接ttl板的rx。

楼主我跟你差不多,也是准备用k230跑RVV向量的,方便加个联系方式交流一下吗

微信号:qw3rty6174