01. k210-命令行环境搭建(ubuntu环境)

本文主要讲解k210在ubuntu23.04操作系统中的环境搭建

1.获取工具链

github下载工具链
截止到目前最新版本是:Kendryte GNU Toolchain v8.2.0-20190409[Pre-release]。
编译好的镜像有ubuntu版本和windows版本,本章我们主要讲解的是ubuntu系统的开发环境。

Version

  • Binutils 2.31.51
  • GDB 8.2
  • GCC 8.2.0
  • Compiled with --enable-threads=posix --enable-libatomic

Build
如果想自己从源代码编译适合自己的平台的工具链,参考下列链接说明:

https://github.com/kendryte/kendryte-gnu-toolchain

2.安装工具链

2.1 安装 build-essential 以获取 make 工具
$ sudo apt install build-essential
2.2 安装cmake
$ sudo apt install cmake
2.3 解压工具链
$ sudo mv kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.bz2 /opt
$ cd /opt
$ sudo tar -jxvf kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.bz2
2.4 将工具链添加到环境变量

打开 ~/.bashrc ,在末尾添加如下语句,将 /opt/kendryte-toolchain/bin 添加到环境变量 PATH

export PATH=$PATH:/opt/kendryte-toolchain/bin

然后使该修改生效

$ source ~/.bashrc

3.下载 kendryte-stabdalone-sdk

$ cd ~/
$ git clone https://github.com/kendryte/kendryte-standalone-sdk.git

4.编译

  1. 将源文件目录,例如 hello_world ,放在 kendryte-standalone-sdk/src 下
  2. 进入 kendryte-standalone-sdk 目录,新建 build 目录并进入
  3. 运行cmake
# 创建build文件夹并进入
~/kendryte-standalone-sdk$ mkdir buid && cd build
# 设置 cmake 编译环境
~/kendryte-standalone-sdk/build$ cmake .. -DPROJ=hello_world -DTOOLCHAIN=/opt/kendryte-toolchain/bin
# make 编译
~/kendryte-standalone-sdk/build$ make

编译成功后在build目录下得到2个文件 hello_world 和 hello_world.bin

  • 如果使用jlink运行或调试程序,使用 hello_world(elf文件)
  • 如果想烧录到FLASH,使用hello_world.bin文件

5.程序下载

ubuntu下使用:kflash

  1. 安装python虚拟环境
# 在sdk文件夹中创建python虚拟环境文件夹 .env
~/kendryte-standalone-sdk$ python3 -m venv .env# 激活虚拟环境 .env
~/kendryte-standalone-sdk$ source .env/bin/activate# 在虚拟环境 .env 环境下安装 kflash
(.env) user@pc:~/kendryte-standalone-sdk$ pip3 install kflash# 自动安装 kflash,以及依赖 pyserial,pyelftools

2.在ubuntu下下载hello_world.bin

# 进入 k210 sdk目录
cd ~/kendryte-standalone-sdk/
# 激活环境
~/kendryte-standalone-sdk$ source .env/bin/activate# 下载 hello_world.bin文件,-p 指定串口端口,我虚拟机串口映射过来是ttyUSB0
(.env) user@pc:~/kendryte-standalone-sdk$ kflash /build/hello_world.bin -p /dev/ttyUSB0# -b 115200 可以指定波特率,目前我测试只有 115200能成功,默认波特率也是 115200bps
(.env) user@pc:~/kendryte-standalone-sdk$ kflash /build/hello_world.bin -p /dev/ttyUSB0 -b 115200

3.在windows下使用:kflash

直接使用 kflash_gui_v1.8.1_windows 上位机(带界面程序)下载hello_world.bin

步骤省略…

相关参考如下:

https://github.com/kendryte/kflash.py

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

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

相关文章

重写Sylar基于协程的服务器(6、HOOK模块的设计)

重写Sylar基于协程的服务器(6、HOOK模块的设计) 重写Sylar基于协程的服务器系列: 重写Sylar基于协程的服务器(0、搭建开发环境以及项目框架 || 下载编译简化版Sylar) 重写Sylar基于协程的服务器(1、日志模…

大数据Zookeeper--案例

文章目录 服务器动态上下线监听案例需求需求分析具体实现测试 Zookeeper分布式锁案例原生Zookeeper实现分布式锁Curator框架实现分布式锁 Zookeeper面试重点选举机制生产集群安装多少zk合适zk常用命令 服务器动态上下线监听案例 需求 某分布式系统中,主节点可以有…

CentOS 8 安装配置 Hadoop3.3.6 伪分布式安装方式(适用于开发和调试)

1.配置服务器ssh免密登录,否则后面启动会报错:尝试通过SSH连接到主机出现认证错误的提示 配置服务器ssh免密登录: 1.生成SSH密钥对(如果尚未生成): 执行下面的命令生成密钥对,一直回车即可 ssh…

为后端做准备

这里写目录标题 flask 文件上传与接收flask应答(接收请求(文件、数据)flask请求(上传文件)传递参数和文件 argparse 不从命令行调用参数1、设置default值2、"从命令行传入的参数".split()3、[--input,内容] …

2024年华为OD机试真题-数组去重和排序-Python-OD统一考试(C卷)

题目描述: 给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次 数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。 输入描述: 一个数组 输出描述: 去重排序后的数组 补充说明: 数组大小不超过100 数组元素值大小不超过10…

代码随想录day18--二叉树的应用6

LeetCode530.二叉搜索树的最小绝对差值 题目描述: 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] …

CSDN2024年我的创作纪念日1024天|不忘初心|努力上进|积极向前

CSDN2024年我的创作纪念日1024天| 学习成长机遇:学习成长收获:2023年度总结数据:2024新领域的探索:日常和自己的感慨:2024憧憬和规划:创作纪念日总结: 学习成长机遇: 大家好&#x…

SpringBoot-基础篇03

之前搭建了整个开发环境实现了登录注册,springBoot整合mybatis完成增删改查,今天完成分页查询,使用阿里云oss存储照片等资源,后期会尝试自己搭建分布式文件系统来实现。 一,SpringBootMybatis完成分页查询 1&#xff…

天线阵列车载应用——第1章 介绍 1.1节 汽车工业中的天线阵列:应用和频率范围

1.1 汽车工业中的天线阵列:应用和频率范围 无线通信系统的发展需要新的技术来支持更高质量的通信、新的服务和应用。近年来,汽车无线通信市场得到了极大的扩展。现代汽车使用不同的服务:AM/FM收音机、卫星广播(SDARS)、移动电话通信、数字音频广播(DAB)、远程无钥匙…

零基础学编程从入门到精通,系统化的编程视频教程上线,中文编程开发语言工具构件之缩放控制面板构件用法

一、前言 零基础学编程从入门到精通,系统化的编程视频教程上线,中文编程开发语言工具构件之缩放控制面板构件用法 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载—…

监控室脱岗检测系统-人员脱岗监测报警方案---豌豆云

人员脱岗检测算法自动识别比如保安值班室,监控室中的人员离岗行为,并自动告警给管理人员,约束了工作人员擅自离岗行为。 人员脱岗检测,对违规动作/危险行为/行为规范做精确识别,打造人员脱岗检测,将视频图像智能识别系统应用在企业日常运营管理中,降低生产成本。 应用场景&am…

mysql事务锁

Lock - 事务锁 与 latch 的区别 lock对象是事务,用来锁定的是数据库中的对象,如表、行、页。并且一般lock的对象仅在事务commit或rollback后进行释放(不同事务隔离级别释放的时间可能不同)。此外,lock,正…

3.0 Zookeeper linux 服务端集群搭建步骤

本章节将示范三台 zookeeper 服务端集群搭建步骤。 所需准备工作,创建三台虚拟机环境并安装好 java 开发工具包 JDK,可以使用 VM 或者 vagrantvirtualbox 搭建 centos/ubuntu 环境,本案例基于宿主机 windows10 系统同时使用 vagrantvirtualb…

发送get请求并且发送请求头(header),java实现

发送get请求时,发送请求头(Header)中的内容 方便第二次调用其他url时传递参数,例如userCode或者租户编码 调用方式 Autowired private HttpServletRequest request;先注入HttpServletRequestpublic xxx xxx(){String url &quo…

docker程序镜像的制作

目录 一、每种资源的预安装(基础) 安装 nginx安装 redis 二、dockerfile文件制作(基础) 打包 redis 镜像 创建镜像制作空间制作dockerfile 打包 nginx 镜像 三、创建组合镜像(方式一) 生成centos容器并…

vue3+echarts:Vue中使用echarts从后端获取数据并赋值显示

//由于前后端交互,所以使用axios发送请求 const Count ref(null); //设备种类数值 const Name ref(null); //设备种类名称 //设备种类 饼图 const pieChart () > {const getpieChart echarts.init(document.getElementById("deviceKind"));// 创建图标getpieC…

位置内插 PI:基于Positional Interpolation扩大模型的上下文窗口

位置内插 PI:基于Positional Interpolation扩大模型的上下文窗口 如何在不牺牲性能或从头训练的情况下,扩展大型语言模型的上下文窗口以处理长文档或长对话? 论文:https://arxiv.org/pdf/2306.15595.pdf 这篇论文介绍了一种名为位…

详解Python3的垃圾回收机制

Python的垃圾回收机制主要包括两个部分:引用计数和循环引用检测。 引用计数法 内部采用 引用计数法,为每个对象维护引用次数,并据此回收不在需要的垃圾对象。 由于引用计数法存在重大缺陷,循环引用时由内存泄露风险&#xff0c…

自动驾驶TPM技术杂谈 ———— Unix常用命令行

文章目录 介绍常用命令 —— A常用命令 —— C常用命令 —— D常用命令 —— E常用命令 —— F常用命令 —— G常用命令 —— H常用命令 —— I常用命令 —— J常用命令 —— K常用命令 —— L常用命令 —— M常用命令 —— N常用命令 —— P常用命令 —— Q常用命令 —— R常用…

Vue3——创建一个应用

文章目录 创建应用实例挂载应用没有模板的组件的挂载 应用配置多个应用实例 其实使用脚手架创建的vue项目的main.js文件中已经为我们配置好 vue应用的创建。 import { createApp } from vue import App from ./App.vue const app createApp(App) app.mount(#app)创建应用实例…