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 模型平台

    image-20220603231025027

  • 3.烧录固件

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

    具体步骤如下:

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

    注意如下几点:

  • 固件地址0x00000;

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

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

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

  • 刷固件设置

    4.获取机器码

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

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

    保存下来的机器码

    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编辑器。

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

  • 物联沃分享整理
    物联沃-IOTWORD物联网 » K210-Maixpy初试指南

    发表评论