OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 462|回复: 0

《DNK210使用指南 -CanMV版 V1.0》第六章 Kendryte K210固件烧录

[复制链接]

1117

主题

1128

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4666
金钱
4666
注册时间
2019-5-8
在线时间
1224 小时
发表于 2024-6-27 17:04:27 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2024-6-26 16:06 编辑

第六章 Kendryte K210固件烧录
1)实验平台:正点原子DNK210开发板

2) 章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.0


4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html

5)正点原子官方B站:https://space.bilibili.com/394620890

6)正点原子K210技术交流企鹅群:605557868

155537c2odj87vz1z9vj6l.jpg

155537nfqovl2gg9faaol9.png

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

6.1 外部NOR Flash的空间分布
Kendryte K210的内部没有用户Flash,因此KendryteK210需要外挂NOR Flash,才能烧录用户固件,Kendryte K210上电后会将保存在外部NOR Flash中0偏移地址的固件加载到内部的SRAM中执行,因为KendryteK210内部有6MB通用SRAM,因此外部NOR Flash中0~固件大小(最大6MB)地址范围的空间使用与存放应用固件的,剩余的外部NOR Flash空间则为用户空间。
若假设外部NOR Flash的大小为16MB,应用固件的大小为6MB,则此时外部NOR Flash的空间分布,如下表所示:
QQ截图20240626160534.png
表6.1.1 外部NOR Flash空间分布表(存在假设条件)
在CanMV中,CanMV将用户空间中的一部分NOR Flash空间作为文件系统使用,默认情况下,CanMV使用的文件系统占用的是NOR Flash中偏移地址为0xD00000且长度为0x300000的空间,因此,若假设外部NOR Flash的大小为16MB,CanMV应用固件的大小为6MB,则此时外部NORFlash的空间分布,如下表所示:
QQ截图20240626160545.png
表6.1.2 CanMV下外部NOR Flash空间分布表(存在假设条件)

6.2 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下查找设备:
  1. # Linux
  2. ls /dev/tty*
复制代码
在列出的设备中找到对应的设备,例如:/dev/ttyACM6。
接着便可使用kflash烧录上一小节中编译出的CanMV固件至Kendryte K210:
  1. <div align="left"><font face="Tahoma"><font size="3"># Linux</font></font></div><div align="left"><font face="Tahoma"><font size="3">kflash -p <b>/</b>dev<b>/</b>ttyACM6 canmv.bin</font></font></div>
复制代码
6.3 Windows下的烧录固件
在Windows下烧录CanMV固件的方法依然是借助kflash工具,因此需要先在Windows下安装kfalsh(该工具依赖Python和pip,因此需要先安装Python和pip):
  1. <div align="left"><font face="Tahoma"><font size="3"># Windows</font></font></div><div align="left"><font face="Tahoma"><font size="3">pip install kflash</font></font></div>
复制代码
接着按照上一小节介绍的方式连接Kendryte K210与电脑主机,但注意不要让虚拟机连接到对应的USB设备,否则Windows会找不到对应的USB设备。
连接成功后,在Windows下找到对应的端口号:
  1. <div align="left"><font face="Tahoma"><font size="3"># Windows</font></font></div><div align="left"><font face="Tahoma"><font size="3">Get-WmiObject Win32_SerialPort <b>|</b> select-Object Name</font></font></div>
复制代码
在列出的端口中找到对应的端口号,例如:COM6。
接着便可使用kflash烧录上一小节中编译出的CanMV固件至Kendryte K210:
  1. <div align="left"><font face="Tahoma"><font size="3"># Windows</font></font></div><font face="Tahoma"><font size="3">kflash -p COM6 canmv.bin</font></font>
复制代码
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 12:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表