嘉楠勘智k230开发板上手记录(一)--烧录sdk

2024-01-03 19:59

本文主要是介绍嘉楠勘智k230开发板上手记录(一)--烧录sdk,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、前言

因为是小白,对于硬件接触不多,有什么错误欢迎指出。

环境:win11+wsl2的ubuntu22.04

官方github kendryte/k230_docs: Kendryte K230 SDK Docs (github.com)

参考的文档 :k230_docs/zh/01_software/board/K230_SDK_使用说明.md at main · kendryte/k230_docs (github.com)

二、开发环境搭建 

1. 安装docker

        

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
2. 搭建镜像

这里我们用sdk里的dockerfile搭建,花费时间1.2小时,直接docker pull实在太慢了。

下载sdk,建议直接下载安装包,git clone要很久,安装包大概350MB大,我上传到网盘上了,另外不要在win11上解压缩,会有问题。

链接:https://pan.baidu.com/s/1U6YTcEDV_CbaCMuEYSLVww 
提取码:nx8l 
--来自百度网盘超级会员V5的分享
mkdir my_docker
cd my_docker/
cp ../k230/k230_sdk-main/tools/docker/Dockerfile .
docker build -t k230:v0.8 -f ./Dockerfile ./

搭建完成后会重新一个名为k230的镜像

 我把我搭建好的镜像上传到网盘了

链接:https://pan.baidu.com/s/1x3h6mGssmjczlRnkXlqauA 
提取码:notq 
--来自百度网盘超级会员V5的分享
3. 编译sdk

进入sdk根目录

cd k230/k230_sdk-main

下载toolchain

source tools/get_download_url.sh && make prepare_sourcecode

进入镜像,这里注意,虽然没有输入任何东西或者有什么变化,但是我们已经在容器里了

docker run -u root -it -v $(pwd):$(pwd) -v $(pwd)/toolchain:/opt/toolchain -w $(pwd) k230:v0.8 /bin/bash

 Docker环境下执行下面命令进行编译SDK

make CONF=k230_evb_defconfig

编译时间会比较久,编译成功后在output/k230_evb_defconfig/images下会看到编译输出产物

三、烧录镜像文件

编译产物简介
k230_evb_defconfig/images
├── big-core
├── env.env
├── jffs2.env
├── little-core
├── sysimage-sdcard.img    # SD和emmc非安全启动镜像
├── sysimage-sdcard.img.gz # SD和emmc的非安全启动镜像压缩包
├── sysimage-spinor32m.img # norflash非安全启动镜像
├── sysimage-spinor32m.img.gz    # norflash非安全启动镜像压缩包
└── sysimage-spinor32m_jffs2.img # norflash jffs2非安全启动镜像
烧录

用balena Etcher选择sysimage-sdcard.img烧录

 另外我烧录sd卡,烧录成功,但是验证失败,不过插到k230上没有出现问题

 k230 启动!

在上电之前,把boot的开关拨到1 2,代表高电平,也就是sd卡启动,插入sd卡

 启动成功

遇到的错误

1. 运行make prepare_sourcecode时报错

source tools/get_download_url.sh
URL is not accessible
download toolchain
https://kendryte-download.canaan-creative.com/k230
test1
extract toolchain
./toolchain/riscv64-unknown-linux-musl-rv64imafdcv-lp64d-20230420.tar.bz2
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
make: *** [Makefile:91: extract_toolchain] Error 2

没有安装bzip2

apt install bzip2

参考

通过Dockerfile文件构建镜像_陈家宝的博客-CSDN博客

嘉楠勘智k230开发板开箱和搭建开发环境(一)_flamebox的博客-CSDN博客

这篇关于嘉楠勘智k230开发板上手记录(一)--烧录sdk的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_42001765/article/details/132067054
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/566880

相关文章

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de

使用nohup和--remove-source-files在后台运行rsync并记录日志方式

《使用nohup和--remove-source-files在后台运行rsync并记录日志方式》:本文主要介绍使用nohup和--remove-source-files在后台运行rsync并记录日... 目录一、什么是 --remove-source-files?二、示例命令三、命令详解1. nohup2.

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE