Kendryte K210 固件烧录

本章将为读者介绍 Kendryte K210 的固件烧录,以及 Kendryte K210 外部 NOR Flash 的空间 分布。 本章分为如下几个小节: 6.1 外部 NOR Flash 的空间分布 6.2 Ubuntu 下的固件烧录 6.3 Windows 下的固件烧录

外部 NOR Flash 的空间分布

Kendryte K210 的内部没有用户 Flash,因此 Kendryte K210 需要外挂 NOR Flash,才能烧录 用户固件,Kendryte K210 上电后会将保存在外部 NOR Flash 中 0 偏移地址的固件加载到内部的 SRAM 中执行,因为 Kendryte K210 内部有 6MB 通用 SRAM,因此外部 NOR Flash 中 0~固件大 小(最大 6MB)地址范围的空间使用与存放应用固件的,剩余的外部 NOR Flash 空间则为用户 空间。 若假设外部 NOR Flash 的大小为 16MB,应用固件的大小为 6MB,则此时外部 NOR Flash 的 空间分布,如下表所示:

                                        表 6.1.1 外部 NOR Flash 空间分布表(存在假设条件)

在 CanMV 中,CanMV 将用户空间中的一部分 NOR Flash 空间作为文件系统使用,默认情 况下,CanMV 使用的文件系统占用的是 NOR Flash 中偏移地址为 0xD00000 且长度为 0x300000 的空间,因此,若假设外部 NOR Flash 的大小为 16MB,CanMV 应用固件的大小为 6MB,则此 时外部 NOR Flash 的空间分布,如下表所示:

                                        表 6.1.2 CanMV 下外部 NOR Flash 空间分布表(存在假设条件)

Ubuntu 下的烧录固件

Kendryte K210 固件的烧录需要借助 kflash 工具,kflash 是一个开源的项目,其项目仓库的 地址为:https://github.com/vowstar/kflash.py.git,建议读者在使用 kflash 前,先访问 kflash 的项目 仓库并仔细阅读其 README.md 文件,了解 kflash 的用法。 在使用 kflash 烧录 CanMV 固件前,需要让 Kendryte K210 与 Ubuntu 进行连接,首先需将 Kendryte K210 的UARTHS 通过USB 转 UART 芯片与USB 数据线连接至电脑主机的 USB 端口, 接着在虚拟机的 VMware Workstation Player 窗口中的 Player→可移动设备下找到 USB 转 UART 芯片对应的 USB 设备,将其设置为与虚拟机连接。 连接成功后,在 Ubuntu 下查找设备:

# Linux ls /dev/tty*

在列出的设备中找到对应的设备,例如:/dev/ttyACM6。 接着便可使用 kflash 烧录上一小节中编译出的 CanMV 固件至 Kendryte K210:

# Linux kflash -p /dev/ttyACM6 canmv.bin

Windows 下的烧录固件

在 Windows 下烧录 CanMV 固件的方法依然是借助 kflash 工具,因此需要先在 Windows 下 安装 kfalsh(该工具依赖 Python 和 pip,因此需要先安装 Python 和 pip):

# Windows pip install kflash

接着按照上一小节介绍的方式连接 Kendryte K210 与电脑主机,但注意不要让虚拟机连接到 对应的 USB 设备,否则 Windows 会找不到对应的 USB 设备。 连接成功后,在 Windows 下找到对应的端口号:

# Windows Get-WmiObject Win32_SerialPort | select-Object Name

在列出的端口中找到对应的端口号,例如:COM6。 接着便可使用 kflash 烧录上一小节中编译出的 CanMV 固件至 Kendryte K210:

# Windows kflash -p COM6 canmv.bin

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

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

相关文章

Python信息处理问题精选及参考答案

目录 使用MATLAB或Python实现一个简单的FIR滤波器,并测试其性能。 介绍一个常用的信号处理库(如SciPy, OpenCV等),并演示其在特定问题上的应用。 使用Simulink搭建一个数字通信系统的模型,并分析其性能指标。 实现…

mac 常用工具快捷键集合

一、vim 快捷键 1、移动光标 h j k l 左 下 上 右 箭头上 上移一行 箭头下 下移一行 0 跳至行首,不管有无缩进,就是跳到第0个字符 ^ 跳至行首的第一个字符 $ 跳至行尾 gg 跳至文首 G 调至文尾 5gg/5G 调至第5行w 跳到下一个字首,按标点或…

51单片机最火型号大比拼:性能、应用与选型指南

51单片机作为经典的微控制器架构,凭借其易于学习、价格低廉、应用广泛等优势,一直活跃在嵌入式开发领域。面对市场上琳琅满目的51单片机型号,初学者和开发者常常感到眼花缭乱。本文将对几款最火的51单片机型号进行深度剖析,从性能…

蓝牙透传芯片TD5322A,低功耗ble芯片,蓝牙电表通信方案介绍—拓达半导体

蓝牙透传芯片TD5322A芯片是一款支持蓝牙BLE的纯数传芯片, 蓝牙5.1版本。芯片的亮点在尺寸小( SOP-8封装)、主从切换、性能强、 性价比高。以及简单明了的透传和串口 AT 控制功能。大大降低了嵌入蓝牙在其它产品的开发难度和成本。 蓝牙透传芯…

中国 AGI 市场—4543 亿市场下的新机会

前言 我们正站在一个全新智能纪元的路口,围绕通用人工智能(AGI),在学术界、科技界、产业界的讨论中,一部分 AGI 的神秘面纱已被揭开,但这面纱之后还有更多的未知等待着我们。 InfoQ 研究中心在此背景下&a…

LabVIEW高精度电能质量监测系统

LabVIEW和研华采集卡的高精度电能质量监测系统利用虚拟仪器技术,实时监测电能质量的关键指标,如三相电压、频率和谐波。通过提高监测精度和效率,改善电网的电能质量。系 一、系统背景 电能作为现代社会的关键能源,其质量直接影响…

Casaos之qittorrent设置(没有账号密码)

点击安装只有没有账号密码,只能从运行日志中找密码: # 查看container docker ps -a # 查看container日志 docker logs ae15cb90afbd 进入系统 最下方,保存。

改网络ip地址有什么用

在数字化时代,网络IP地址是每个网络设备和终端在互联网上的唯一标识符。然而,有时出于安全、隐私或网络管理的需要,我们可能需要更改网络IP地址。例如很多小伙伴会选择使用虎观代理IP更改电脑或手机设备上的网络IP地址,那么&#…

芒果YOLOv10改进66:特征融合Neck篇之原创 HFAMPAN 结构:信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别

💡本篇内容:YOLOv10 改进原创 HFAMPAN 结构,信息高阶特征对齐融合和注入,全局融合多级特征,将全局信息注入更高级别 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv10 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,YOLOv10 专属 论文…

stm32单片机程序烧写方式ISP和IAP区别

在线编程目前有两种实现方法:在系统编程(ISP)和在应用编程(IAP)。 ISP一般是通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程,而IAP技术是从结构上将Flash存储器映射为两个存储体&#xf…

解锁Java中的多模块项目管理技巧

解锁Java中的多模块项目管理技巧 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 引言 随着项目规模的扩大和复杂性的增加,越来越多的Java项目…

python实现图书管理系统

一、系统概述 使用 Python 实现的图书馆借阅系统,此系统支持图书信息的录入、借阅、归 还、查询以及借阅记录的查询等功能。 二、功能要求 1. 图书信息录入: o 管理员可以录入图书的基本信息,包括书名、作者、ISBN 号、出 版社和入库时间等…

管理后台

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 定义好数据模型,就可以配置管理后台了,按照如下代码编辑app1下面的admin.py文件: from django.contrib import a…

AI入门系列:工具篇之ChatGPT的优秀的国内替代品

文章目录 一,智谱清言(ChatGLM)1,智谱清言简介2,[智谱清言地址,点我开始用吧](https://chatglm.cn/) 二,Kimi智能助手1,Kimi简介2,[Kimi地址,点我开始用吧](https://kimi.moonshot.c…

.s文件的解析(AC78406芯片)

文章目录 1.堆栈初始化(1)2.预留字节,设置指令集架构THUMB3.RESET区域存储中断向量表3.1 Reset_Handler中断函数3.2 NMI_Handler等中断函数 4.堆栈初始化(2)是否使用MICROLIB库 1.堆栈初始化(1)…

vite开启主动暴露在ip地址(开启ip地址访问项目)

0.0.0.0是开启监听所有端口,可以配置成监听暴露指定端口如:10.10.10.54

小山菌_代码随想录算法训练营第三十三天| 452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间

452. 用最少数量的箭引爆气球 文档讲解:代码随想录.用最少数量的箭引爆气球 视频讲解:贪心算法,判断重叠区间问题 | LeetCode:452.用最少数量的箭引爆气球 状态:已完成 代码实现 class Solution { public:static bool…

Java技术栈总结:数据库MySQL篇

一、慢查询 1、常见情形 聚合查询 多表查询 表数据量过大查询 深度分页查询 2、定位慢查询 方案一、开源工具 调试工具:Arthas运维工具:Prometheus、Skywalking 方案二、MySQL自带慢日志 在MySQL配置文件 /etc/my.conf 中配置: # …

C++01

本专栏记录重读《C primer》的一些随笔&#xff0c;随便写写..... /*标准库的头文件使用<> &#xff0c;非标准库的头文件使用""。申明写在.h文件&#xff0c;定义实现写在.cpp文件 */ #include<iostream> using namespace std; int main() {int v1;st…

Javascript高级程序设计(第四版)--学习记录之集合引用类型(上)

Object 显示的创建Object的实例方法&#xff1a; new操作符和Object构造函数 let person new Object(); person.name Jason; person.age 42 对象字面量 let person { name:Jason, age:42} 存取属性的方法一般有两种&#xff1a;点语法和中括号。 let person { name:Jason,…