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

news2025/1/12 1:43:35

一、前言

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

环境: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的镜像

 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 /b
in/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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/830851.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像 检测 - YOLOv3: An Incremental Improvement (arXiv 2018)

YOLOv3: An Incremental Improvement - 增量改进(arXiv 2018) 摘要1. 引言2. 处理2.1 边界框预测2.2 类别预测2.3 跨规模预测2.4 特征提取器2.5 训练 3. 我们的做法4. 我们尝试过但没有成功的事情5. 这一切意味着什么References 声明:此翻译仅…

数据库系列之(一)SQL基本用法总结

文章目录 前言一、数据库是什么?二、数据库的作用是什么?三、数据库的种类以及常用的数据库四、SQL常用方法总结1.基本sql语句2.对数据进行限定和排序3.处理单行函数4.多表查询5.分组函数6.非关联查询与关联查询7.高级查询8.更多用法 总结 前言 当今信息…

测试岗?从功能测试进阶自动化测试开发,测试之路不迷茫...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试新人在想什么…

visual studio 生成dll文件以及修改输出dll文件名称操作

目录 visual studio 生成dll文件以及修改dll文件名称一、准备测试代码二、设置导出dll属性三、生成dll文件 .lib .dll .pdb 的简单介绍dll文件使用方式lib文件使用方式1、动态链接 (原理)2、静态链接: visual studio 生成dll文件以及修改dll文…

【雕爷学编程】 MicroPython动手做(35)——体验小游戏

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

《Kali渗透基础》12. 无线渗透(二)

kali渗透 1:无线协议栈1.1:ifconfig1.2:iwconfig1.3:iw1.4:iwlist 2:无线网卡配置2.1:查看无线网卡2.2:查看信道频率2.3:扫描附近 AP2.4:侦听接口添加与删除 …

物联网|按键实验---学习I/O的输入及中断的编程|读取I/O的输入信号|中断的编程方法|轮询实现按键捕获实验-学习笔记(13)

文章目录 实验目的了解擒键的工作原理及电原理图 STM32F407中如何读取I/O的输入信号STM32F407对中断的编程方法通过轮询实现按键捕获实验如何利用已有内工程创建新工程通过轮询实现按键捕获代码实现及分析1 代码的流程分析2 代码的实现 Tips:下载错误的解决 实验目的 了解擒键…

Drools用户手册翻译——第四章 Drools规则引擎(十)复杂事件处理(CEP)

甩锅声明:本人英语一般,翻译只是为了做个笔记,所以有翻译错误的地方,错就错了,如果你想给我纠正,就给我留言,我会改过来,如果懒得理我,就直接划过即可。 目录 ​编辑 …

Java课题笔记~ Mybatis注解开发

使用注解开发,可以减少Mapper映射文件的编写。 一、mybatis常用注解 Insert:实现新增 Update:实现更新 Delete:实现删除 Select:实现查询 Result:实现结果集封装 Results:可以与Result 一…

23款奔驰GLB200升级23P智能驾驶辅助系统,提升您的行车安全性

为什么要升级23P驾驶辅助系统呢?23P驾驶辅助系统功能有什么作用呢? 首先23P驾驶辅助系统功能有9个,相互结合让行车更安全,长途开车更轻松。提升驾驶的安全性。 所以选择装这套23P驾驶辅助系统的用户也比较多,现在道路…

屏蔽箱的种类、优点及使用场景介绍

屏蔽箱的用途是非常广泛的,能够屏蔽辐射电磁也可以阻隔电磁进入某一区域,达到屏蔽干扰信号的作用。屏蔽箱的种类是多样的,有着各自的优点。 按照应用领域屏蔽箱可分为以下几种: 1.电磁屏蔽箱:主要应用于电磁波测试和电…

【Jmeter】压测mysql数据库中间件mycat

目录 背景 环境准备 1、下载Jmeter 2、下载mysql数据库的驱动包 3、要进行测试的数据库 Jmeter配置 1、启动Jmeter图形界面 2、加载mysql驱动包 3、新建一个线程组,然后如下图所示添加 JDBC Connection Configuration 4、配置JDBC Connection Configurati…

洛谷P1918 保龄球

思路:要打多少个就在哪里打 比如要打100个,就在a数组中找出一个100,在那里打 所以可以用STL-map。 map大法好!!! 用map存储每种 瓶子个数 最后出现的位置。 就是说,比如样例中:…

[C++项目] Boost文档 站内搜索引擎(2): 文档文本解析模块parser的实现、如何对文档文件去标签、如何获取文档标题...

项目开始的准备工作 在上一篇文章中, 已经从Boost官网获取了Boost库的源码. 相关文章: 🫦[C项目] Boost文档 站内搜索引擎(1): 项目背景介绍、相关技术栈、相关概念介绍… 接下来就要编写代码了. 不过还需要做一些准备工作. 创建项目目录 所有的项目文件肯定要在一…

DTCC2023第十四届中国数据库大会分享:MySQL性能诊断平台:利用eBPF技术实现高效的根因诊断

主题 8月16-18日 DTCC2023第十四届中国数据库大会在北京国际会议中心召开,17日下午在云原生数据库开发与实践分论坛,我将带来分享:《MySQL性能诊断平台:利用eBPF技术实现高效的根因诊断》敬请期待! 欢迎大家提前试用我…

深度学习Redis(5):集群

前言 在前面的文章中,已经介绍了Redis的几种高可用技术:持久化、主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载均衡。 Redis集群解决了上述问题,实…

【积累】安装PLSQL工具遇到的那些问题~

报错提示没有正确安装 解决方案:是需要安装oracle client oracle下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 报错提示确认安装了32位的Oracle Client吗? 百度找解决方案&#xff1a…

Execution failed for task ‘:app:uploadCrashlyticsMappingFileRelease

新版本的Firebase crash 库打混淆后的正式环境包会报错: Execution failed for task :app:uploadCrashlyticsMappingFileRelease Caused by: java.lang.IllegalArgumentException: Host name may not be empty 解决方案: 在build.gradle android{}中…

如何编写一个易于维护的考试系统源码

编写一个易于维护的考试系统源码对于开发人员来说非常重要。一个易于维护的系统可以使代码更易于理解、修改和扩展,从而提高开发效率和系统稳定性。 第一步:良好的项目结构 良好的项目结构是一个易于维护的源码的基础。可以按照模块、功能或层次等方式…

uniapp 中过滤获得数组中某个对象里id:1的数据

// 假设studentData是包含多个学生信息的数组 const studentData [{id: 1, name: 小明, age: 18},{id: 2, name: 小红, age: 20},{id: 3, name: 小刚, age: 19},{id: 4, name: 小李, age: 22}, ]; // 过滤获取id为1的学生信息 const result studentData.filter(item > ite…