K210-Maixpy初试

K210-Maixpy初试

因为我买的K210的板子不是Sipeed科技的板子,而是亚博智能的板子,商家提供的资料是建议使用VScode+K210的裸机IDE开发的,之前使用过一段时间,觉得还可以。但因为课业原因,时间不多,所以想试试micropython开发。/(ㄒoㄒ)/~~

所以,说了这么多,开始正题,把亚博智能的板子刷上Maixpy的固件。

(实际上和平常的Maixpy刷固件没什么区别,因为官方好像已经做好适配了)

刷固件步骤

1.下载Kflash_gui

github上的下载地址:直接下载安装就可以了。

Release v1.5.3 · sipeed/kflash_gui (github.com)

2.获取固件

一共需要两个固件:

一个是用于获取机器码的(机器码用于下载Maixpy上的模型文件);另一个就是官方运行micropython的固件了

  • 获取机器码需要使用官方的一个固件Key_gen_v1.2.bin,用于通过串口返回机器码

    下载地址:下载站 - Sipeed

  • 获取官方固件的话,建议用官方上最新的 github地址如下下载站 - Sipeed

    我用的是这个

    其实用哪个都可以 还可以去官网上定制自己想要的

    定制固件地址:Sipeed MaixHub – sipeed AI 模型平台

    K210-Maixpy初试_第1张图片

3.烧录固件

官网的教程在这儿 :更新MaixPy固件 · MaixPy 文档 (gongfang.fun)

具体步骤如下:

  • 打开Kflash_gui后,按如下配置:

    注意如下几点:

    • 固件地址0x00000;

    • 开发板选择一定要是Kendryte KD233,不能是其他选项(至少我选择auto,无法下载固件)

    • 至于下面的波特率建议是1500000、高速模式。

      (我下面的选择是因为之前选择auto下载失败,按官方提示,降低波特率试试看的原因)

K210-Maixpy初试_第2张图片

4.获取机器码

只需要将下载完上面固件的开发板,重新上电,

串口助手打开对应的串口(我这里是com3,115200波特率),按下复位键 串口返回的第二行就是机器码,建议保存下来,以后下载模型时会用到。

K210-Maixpy初试_第3张图片

5.刷入官方micropython固件

重复3的步骤,不过,注意此时的固件应选择你从github上下载或者时Maixhub上自己定制的。

6.下载Maixpy-ide

下载地址如下:下载站 - Sipeed

官网的安装教程:MaixPy IDE 安装与使用 - Sipeed Wiki

直接下载安装就好

7.运行代码

运行下面的代码修改存在Flash上的 config.json 的板子引脚信息。

fpioa映射时用到这些引脚信息,到时直接查原理图也行,也可以运行下面的代码,会将config.json自动保存在Flash中。

import json
config = {
  "type": "bit",
  "board_info": {
      'LED0':0,
      'LED1':1,
      'BOOT_KEY': 16,
      'LED_R': 6,
      'LED_G': 7,
      'LED_B': 8,
      'MIC0_WS': 33,
      'MIC0_DATA': 34,
      'MIC0_BCK': 32,
  }
}

cfg = json.dumps(config)
print(cfg)

try:
  with open('/flash/config.json', 'rb') as f:
    tmp = json.loads(f.read())
    print(tmp)
    if tmp["type"] != config["type"]:
      raise Exception('config.json no exist')
except Exception as e:
  with open('/flash/config.json', "w") as f:
    f.write(cfg)
  import machine
  machine.reset()

8.点个灯吧

在Maixpy-ide中复制入下列的代码:

import utime
from Maix import GPIO
from board import board_info
from fpioa_manager import fm

fm.register(board_info.LED_R,fm.fpioa.GPIO0)
led_r=GPIO(GPIO.GPIO0,GPIO.OUT)

while True:
    utime.sleep_ms(500)
    led_r.value(1)
    utime.sleep_ms(500)
    led_r.value(0)

此时就会看到板子上的RGBled灯以红灯的方式一闪一闪的了。

参考资料

  • 四个常用的官网链接:

    关于MaixPy · MaixPy 文档 (gongfang.fun)

    Sipeed MaixHub – sipeed AI 模型平台

    下载站 - Sipeed

    MaixPy 文档简介 - Sipeed Wiki

  • 在烧录固件期间参考了很多博客,如下:

    使用亚博智能K210实现人脸特征提取和识别_HydrogenHHYN的博客-CSDN博客_k210特征点识别

    神器!200元开发板运行神经网络模型,吊打OpenMV!(保姆级教程) - JeckXu666 - 博客园 (cnblogs.com)

最后,留个坑待填

  • 我发现,Miaxpy的 REPL 输入pye(“hello.py”) 没有进入micropython编辑器。

    (有会的大佬可以帮忙解答下,或者踢我,让我以后记得来填坑)

你可能感兴趣的:(K210简记,micropython,python,单片机)