AI嵌入式K210项目(2)-开发环境搭建

文章目录

  • 前言
  • windows开发环境(vscode)
    • VSCode下载安装
    • CMake下载安装
    • 交叉编译器Toolchain下载安装
    • SDK下载安装
    • Kflash下载安装
    • 镜像烧录
  • 总结

前言

该教程先介绍使用C语言进行裸机开发,完成这一部分的学习之后在介绍如何使用MicroPython进行开发,这样安排主要是考虑到学习的循序渐进,让大家对这颗芯片最底层有所了解后,在进行应用的开发。
使用C语言开发,搭建开发环境有两种,一种是在win的开发环境,另一种是linux的开发环境;主要看个人开发习惯选择吧;


windows开发环境(vscode)

接下来我会分别介绍这些工具的下载和安装;先来了大致解下需要哪些工具吧;我这里放一个工具集的下载链接
(链接: https://pan.baidu.com/s/1r4Jx3F7pr-IEmuptCxW5GA 提取码: vmht 复制这段内容后打开百度网盘手机App,操作更方便哦)里面的工具可能比较旧,但不会影响使用,如需最新版,可以到官网下载最新版本

所需工具:

  • CMake:CMake是众多Make工具的一种,具有跨平台,跨编译器等特性,是一种非常实用的工具。

  • Toolchain:交叉编译器Toolchain是用于调试开发板的工具和相关库组合起来的集合,也称为工具链。一般内附有程式编译器(compiler),如GCC,可以进行程式编译、或跨平台编译工作。

  • VSCode:VSCode是Microsoft出品的一款开源代码编辑器,支持多种插件,可扩展性强,具有代码高亮,自动补全等功能。

  • K210-SDK:K210官方出的SDK,是开发K210的基础,里面自带有芯片的各种驱动。

  • K-flash:K210芯片烧录程序的工具。

VSCode下载安装

VSCode官方下载地址:https://code.visualstudio.com/Download
请根据自己系统版本选择,我的是64位windows,这里选择Syste Installer 64bit,这样下载的就是exe文件,可以直接安装。
在这里插入图片描述
安装的话,我就不多说了,按照向导狂点“下一步”就好了,不赘述了,来个安装成功的截图吧;
在这里插入图片描述

CMake下载安装

CMake官方下载网址:https://cmake.org/download/
我的机器是windows 10, 64位
在这里插入图片描述

安装过程没有什么好多说的,唯一注意的就是路径加入到系统全局变量中,如果没有注意勾选,后续手动添加比较麻烦,注意下;
在这里插入图片描述
大胆的下一步,下一步,就成功了
在这里插入图片描述
安装之后验证下是否安装成功(win+r,输入cmd进入命令行,输入cmake -version 查看版本信息,可以看到自己安装的CMake版本号则表示安装成功)
在这里插入图片描述

交叉编译器Toolchain下载安装

下载勘智版本的toolchain
如果搜不到,可以使用我提供的网盘中的,尽管版本不是最新的,但完全不影响使用 (链接: https://pan.baidu.com/s/1r4Jx3F7pr-IEmuptCxW5GA 提取码: vmht 复制这段内容后打开百度网盘手机App,操作更方便哦)
在这里插入图片描述
把解压得到kendryte-toolchain文件夹移动到刚才新建的K210目录下。(当然其他的路径也是可以,只是为了方便管理都放到一起。但是如果移到其他路径,必须记住该路径,因为要添加到环境变量里。),添加环境变量(添加环境变量是为了让该程序对其他程序可见)
右击桌面‘此电脑’图标,依次点击属性->高级系统设置->环境变量,双击系统变量下的Path,再把自己的kendryte-toolchainbin路径添加到环境变量中即可。例如我添加的是:D:\K210\kendryte-toolchain\bin
在这里插入图片描述
进入kendryte-toolchain\bin路径,找到mingw32-make.exe程序,并且复制粘贴,此时会得到一个叫做mingw32-make 副本.exe的文件,然后把mingw32-make 副本.exe重命名为make.exe。

注意:如果系统没有开启显示文件后缀名,则看到的是mingw32-make,这个没关系,也是同样的复制粘贴并重命名副本为make。
在这里插入图片描述
安装之后验证下是否安装成功(win+r,输入cmd进入命令行,输入make -v 查看版本信息,可以看到自己安装的CMake版本号则表示安装成功)
在这里插入图片描述

SDK下载安装

官网下载地址:https://github.com/kendryte/kendryte-standalone-sdk
如果被墙了,可以使用我提供的网盘中的,尽管版本不是最新的,但完全不影响使用 (链接: https://pan.baidu.com/s/1r4Jx3F7pr-IEmuptCxW5GA 提取码: vmht 复制这段内容后打开百度网盘手机App,操作更方便哦)

K210官方提供两个SDK,一个是裸机版SDK,另一个是freertos系统SDK,我们以裸机版SDK为例。

1.下载K210裸机版SDK

K210裸机版SDK下载地址:

https://github.com/kendryte/kendryte-standalone-sdk

点击右边的Clone or download,Download ZIP下载SDK。
在这里插入图片描述
下载后解压如下:
在这里插入图片描述
使用VSCode打开SDK源码如下图:
在这里插入图片描述
查看src路径的hello_world工程的程序入口main.c文件
在这里插入图片描述
注意:如果点击了PROBLEMS这一栏,有可能因为安装了某个插件(比如C/C++),插件检测头文件路径而发生的错误,实际并没有错误,不用理会这里的提示。以TERMINAL终端里输出的信息为准就好。

打开VSCode的终端,点击菜单栏上的Terminal->New Terminal。
在这里插入图片描述
在VSCode终端输入以下命令创建build文件夹,并且进入build,build文件夹用于保存cmake编译产生的文件,也是我们最后要得到的烧录固件的保存路径。
在这里插入图片描述
分别执行

mkdir build
cd build
cmake .. -DPROJ=hello_world -G "MinGW Makefiles"
make

cmake的结果
在这里插入图片描述
make的结果
在这里插入图片描述
编译成功,可以看到在build下生成了hello_world.bin,至此,windows环境变量搞定了
在这里插入图片描述

Kflash下载安装

K210的烧录工具为kflash,官方下载地址:

https://github.com/kendryte/kendryte-flash-windows/releases

如果被墙了,可以使用我提供的网盘中的,尽管版本不是最新的,但完全不影响使用 (链接: https://pan.baidu.com/s/1r4Jx3F7pr-IEmuptCxW5GA 提取码: vmht 复制这段内容后打开百度网盘手机App,操作更方便哦)

镜像烧录

下载成功后,双击打开K-Flash.exe,通过type-C数据线连接电脑与K210开发板。Device选择K210开发板的串口号。

Baud rate选择波特率2000000。

Chip选择烧录到芯片还是烧录到SRAM,如果选择in-Chip则烧录到芯片,开机自动启动,断电保存;选择in-Memory则烧录到SRAM,断电后不会保存。

Firmware选择程序固件(.bin文件),这里我们选择之前编译生成的hello_world.bin文件。

勾选Open terminal after flash表示烧录完成后自动打开终端。

点击Flash开始烧录固件。

烧录完成后会自动打开CMD,并且打印以下信息
串口工具大家可以使用putty(https://putty.org/)之类的,自行选择
在这里插入图片描述


总结

本章介绍了K210的windows开发环境搭建过程,大家可以使用我分享的工具进行搭建,这样可能会省事些。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Django 框架添加管理员,完成对普通用户信息管理

前情回顾:Django框架 完成用户登录注册 文章目录 1.创建管理员2.完善管理员功能2.1增加管理员登录功能2.2完善展示用户信息功能2.3完善修改用户信息功能2.4完善删除用户信息功能 1.创建管理员 一般管理员都是直接指定,不开放页面注册,可以直…

工程机械比例阀电流采集方案——IPEhub2与IPEmotion APP

自从国家实施一带一路和新基建计划以来,工程机械的需求量呈现出快速增长的趋势。而关于工程机械,其比例阀的控制问题不容忽视。比例阀是一种新型的液压控制装置——在普通压力阀、流量阀和方向阀上,用比例电磁铁替代原有的控制部分&#xff0…

大创项目推荐 深度学习机器视觉车道线识别与检测 -自动驾驶

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 🔥 优质竞赛项目系列,今天要分…

C++ λ表达式

λ表达式提供了函数对象的另一种编程机制。 在 C 11 和更高版本中,Lambda 表达式(通常称为 Lambda)是一种在被调用的位置或作为参数传递给函数的位置定义匿名函数对象(闭包)的简便方法。 Lambda 通常用于封装传递给算法…

LLVM的安装步骤实战

目录 1. 准备环境 1.1 安装必备软件包 1.2 配置Git 2. 用CMake构建 2.1 克隆代码库 2.2 创建构建目录 2.3 生成构建系统文件 3. 自定义构建 3.1 CMake定义的变量 3.2 LLVM定义的变量 4. 总结 1. 准备环境 首先操作系统可以是Linux、FreeBSD、macOS或Windows。 同…

Python基础(二十四、JSON和pyecharts)

文章目录 一、JSON1.JSON介绍2.JSON格式数据转化3.示例 二、pyecharts1.安装pyecharts包2.查看官方示例 三、开发示例 一、JSON 1.JSON介绍 JSON是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数据(就是字符串)…

邻接矩阵、可达性矩阵、完全关联矩阵、可达性矩阵的计算

邻接矩阵:很简单,就是两个点有关系就是1,没有关系就是0 可达性矩阵:非常简单,两点之间有路为1,没有路为0 可发行矩阵的计算:有n个元素,初始可达性矩阵为A,那么最终的矩阵…

实战环境搭建-linux下安装tomcat

安装tomcat Index of /dist/tomcat/tomcat-9/v9.0.8/bin 下载apache-tomcat-9.0.8.tar.gz,可以使用wget; 2、将压缩包tar -zxvf apache-tomcat-9.0.8.tar.gz解压到/home/tomcat 3、修改环境变量 vi /etc/profile export JAVA_HOME/home/java/jdk1.8.0_221 expo…

C++ 深度优先搜索DFS || 模版题:排列数字

给定一个整数 n ,将数字 1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数 n 。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 1…

力扣热题 100

文章目录 哈希双指针滑动窗口子串普通数组矩阵链表二叉树图论回溯二分查找栈堆贪心算法动态规划多维动态规划技巧 哈希 双指针 移动零 class Solution {public void moveZeroes(int[] nums) {int k 0;for(int i 0;i < nums.length; i){if(nums[i] ! 0) {nums[k] nums[…

行为型设计模式——策略模式

策略模式 策略模式非常简单&#xff0c;只需要将策略或者某个算法定义成一个类&#xff0c;然后传给需要使用的对象即可。**定义&#xff1a;**该模式定义了一系列算法&#xff0c;并将每个算法封装起来&#xff0c;使它们可以相互替换&#xff0c;且算法的变化不会影响使用算…

【ITK库学习】使用itk库进行图像分割(四):水平集分割

目录 1、水平集2、itkFastMarchingImageFilter 快速步进分割3、itkShapeDetectionLevelSetImageFilter 快速步进分割 1、水平集 水平集是跟踪轮廓和表面运动的一种数字化方法。基于图像的亮度均值、梯度、边缘特征的微分计算&#xff0c;进行水平集分割。在itk中&#xff0c;所…

1.10 Unity中的数据存储 JSON

一、介绍 Json是最常用也是目前用的比较多的一种&#xff0c;超轻量级&#xff0c;可便捷性使用&#xff0c;平时用到比较多的都是解析Json和往Json中添加数据、修改数据等等JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式&#xff0c;它基于ECMAScr…

git 使用 submodule 如何指定分支

写在前面, 作为一个前端我是不喜欢使用 submodule的, 我更喜欢 npm 包的管理方式。 首次添加子模块 git submodule add -b <branch> <remote> <path> 不指定分支就不传 -b <branch> <branch> 分支名<remote> 仓库地址<path> 子模块…

Unity中URP下抓屏的 开启 和 使用

文章目录 前言一、抓屏开启1、Unity下开启抓屏2、Shader中开启抓屏 二、抓屏使用1、设置为半透明渲染队列&#xff0c;关闭深度写入2、申明纹理和采样器3、在片元着色器使用请添加图片描述 三、测试代码 前言 我们在这篇文章中看一下&#xff0c;URP下怎么开启抓屏。 一、抓屏…

兴业证券分布式数据库云应用实践

数据库技术作为信息技术应用创新过程中的一项重要技术&#xff0c;其面临的难题也是亟需解决的关键问题。兴业证券在《集团五年金融科技规划》中提出&#xff0c;要以信息技术应用创新架构评审为抓手&#xff0c;制定信息技术应用创新规划和建设方案&#xff0c;以高可用性、开…

LeetCode+ 56 - 60

合并区间 双指针算法、位运算、离散化、区间合并_小雪菜本菜的博客-CSDN博客 class Solution { public:vector<vector<int>> merge(vector<vector<int>>& a) {vector<vector<int>> res;if(a.empty()) return res;sort(a.begin(),a.en…

10款强大的iPhone微信恢复软件:轻松恢复丢失的微信数据

微信已成为近年来最受欢迎的消息和社交媒体平台之一。它在全球拥有数百万用户&#xff0c;让人们能够联系、分享时刻并进行各种交易。随着微信的普及&#xff0c;对全面恢复解决方案的需求从未如此之大。本文探讨了专为 iPhone 用户设计的十款顶级微信恢复软件选项。每个软件都…

别不信,搭建企业知识库后真的效率翻倍了

在当今信息时代&#xff0c;知识是最宝贵的财富。一个企业要想越办越大&#xff0c;就需要保证信息的透明度和流通率。而搭建一套企业知识库&#xff0c;就能实现这个目标。今天我们就来聊聊为什么建立企业知识库后&#xff0c;你的工作效率会大大提高。同时&#xff0c;我们会…

智慧医院之定位导航解决方案

移动端LBS应用 通过绘制院方各楼栋各层平面图,利用无线/蓝牙技术可对终端进行实时定位,方便病人、家属等就医,提高就医体验,减少工作人员工作量,减少医患冲突,打造智慧医院。 移动端的LBS位置应用,可分为医院的室内地图展现、室内地图搜索、室内导航、室内定位、室内位…