539|0

10

帖子

1

TA的资源

一粒金砂(中级)

楼主
 

【Sipeed MAix BiT AIoT 开发套件】1,固件烧录,开发环境准备 [复制链接]

感谢EEWorld提供的评测机会,经历千辛万苦终于收到了这块开发板。包装非常不错,所有配件都被收纳在一个小盒子中。

 

 

打开后,里面一共有以下这些东西:

 

Sipeed官方有非常详细的资料,在官方的wiki页面上。这块板子使用的开发环境是MaixPy,注意这个MaixPy有多个版本,互相不兼容。适配我们手上K210开发板的是v1,因此我们看这个网页:

https://wiki.sipeed.com/soft/maixpy/zh/index.html

 

在开发之前,我们先把摄像头和屏幕接上,给开发板上电,可以看到一个红色的页面:

 

红色屏幕上很清楚的写着当前固件的版本。这些信息我们也可以通过串口来得到。板载的串口芯片使用的是CH552,最新版的Win11可以免驱动直接用。串口波特率是115200,随便用一个串口工具连接,连接好后按板上的RESET重置,启动后使用Ctrl + C 终止程序,便可以看到固件信息:

 

如果需要更新固件,我们可以去到https://dl.sipeed.com/shareURL/MAIX/MaixPy/release/master下载最新固件,目前最新是v0.6.3_2. 下载来的固件是bin文件。

 

接着还需要去下载一下刷固件的工具:kflash_gui:https://github.com/sipeed/kflash_gui/releases

 

下载好后,加载固件,其他设置保持默认,可以和我下面的图确认一下各项设置,没有问题后点击下载就可以完成固件更新。

 

 

接下来我们可以准备一下开发环境。开发环境移植自OpenMV,有相应开发经验的小伙伴应该非常熟悉。可以去这个链接下载,如果想用免安装版,直接下载7z压缩包的版本即可:http://dl.sipeed.com/MAIX/MaixPy/ide/

 

下载后打开,选择好开发板,按左下角按钮连上开发板,运行默认打开的helloworld,就可以看到熟悉的界面:

 

从上图可以看到,我们的摄像头和屏幕已经正常开始工作。当然,不使用MaixPy IDE的话,我们也可以简单的测试一下硬件。只需要在开发板上电后快速按住BOOT按钮,再短在看到显示当前在测试模式后,我们就可以看到摄像头上的画面被显示在屏幕上。这就说明硬件都可以正常工作。

 

 

如果小伙伴们好奇这些功能都是怎么做到的,其实非常简单。MaixPy的固件是移植自Micropython,这个默认的红色背景,以及测试模式,其实都是板子出厂自带的main.py程序。通过使用uPyLoader-win我们可以把程序下载下来。具体程序如下:


try:
    import gc, lcd, image, sys, os
    from Maix import GPIO
    from fpioa_manager import fm
    test_pin=16
    fm.fpioa.set_function(test_pin,fm.fpioa.GPIO7)
    test_gpio=GPIO(GPIO.GPIO7,GPIO.IN,GPIO.PULL_UP)
    fm.fpioa.set_function(17,fm.fpioa.GPIO0)
    lcd_en = GPIO(GPIO.GPIO0,GPIO.OUT)
    lcd_en.value(0)
    lcd.init()
    lcd.clear(color=(255,0,0))
    lcd.draw_string(lcd.width()//2-68,lcd.height()//2-4, "Welcome to ", lcd.WHITE, lcd.RED)
    if test_gpio.value() == 0:
        print('PIN 16 pulled down, enter test mode')
        lcd.clear(lcd.PINK)
        lcd.draw_string(lcd.width()//2-68,lcd.height()//2-4, "Test Mode, wait ...", lcd.WHITE, lcd.PINK)
        import sensor
        import image
        sensor.reset()
        sensor.set_pixformat(sensor.RGB565)
        sensor.set_framesize(sensor.QVGA)
        sensor.run(1)
        lcd.freq(16000000)
        while True:
            img=sensor.snapshot()
            lcd.display(img)

    loading = image.Image(size=(lcd.width(), lcd.height()))
    loading.draw_rectangle((0, 0, lcd.width(), lcd.height()), fill=True, color=(255, 0, 0))
    info = "Welcome to MaixPy"
    loading.draw_string(int(lcd.width()//2 - len(info) * 5), (lcd.height())//4, info, color=(255, 255, 255), scale=2, mono_space=0)
    v = sys.implementation.version
    vers = 'V{}.{}.{} : maixpy.sipeed.com'.format(v[0],v[1],v[2])
    loading.draw_string(int(lcd.width()//2 - len(info) * 6), (lcd.height())//3 + 20, vers, color=(255, 255, 255), scale=1, mono_space=1)
    lcd.display(loading)
    tf = None
    try:
            os.listdir("/sd/.")
    except Exception as e:
        tf ="SDcard not mount,use flash!"
        loading.draw_string(int(lcd.width()//2 - len(info) * 7), (lcd.height())//2 + 10, tf, color=(255, 255, 255), scale=1, mono_space=1)
    if not tf:
        tf ="SDcard is mount,use SD!"
        loading.draw_string(int(lcd.width()//2 - len(info) * 6), (lcd.height())//2 + 10, tf, color=(255, 255, 255), scale=1, mono_space=1)
    lcd.display(loading)
    del loading, v, info, vers
    gc.collect()
finally:
    gc.collect()

 

阅读上面的代码,就可以看到程序含义:如果启动时检测BOOT被按下,那么就进入测试模式,抓取摄像头画面并在LCD上显示;如果没有检测到BOOT,则显示红色屏幕。

 

至此,开发环境搭建,硬件测试,一切准备工作都已经完成。下一期我们正式开始项目开发。

此帖出自编程基础论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
路由器内存技术深度解密

 在今天发达的网络世界里,每个路由器就好像一个邮局,对网络上的信息进行分类与整合,将它们按照地址传输到目的地。路由器已经 ...

基站市场多核DSP能否取代ASIC/FPGA?

看到07年的一个新闻,不知道目前基站中DSP占的市场如何啊?  多核DSP宣称替代ASIC和FPGA   目前市场上多核DSP已开始冲击传 ...

[LPC54100] 外部中断使用

本帖最后由 lyzhangxiang 于 2015-5-23 21:54 编辑 这是很优秀的设计,以前没见过设计外设这么认真的,文档写的也不错,看起 ...

【小梅哥FPGA进阶教程】第十六章 IIC协议详解+UART串口读写EEPROM

十六、IIC协议详解+Uart串口读写EEPROM 本文由杭电网友曾凯峰根据小梅哥FPGA IIC协议基本概念公开课内容整理并最终编写Verilo ...

自己DIY的一块DC转DC的负压模块

此模块为集成块LTC3863制作 规格尺寸很小,只有一块《RMB一元大小》 一,这是芯片部分资料介绍: 390241 二,芯片推荐电路: ...

FPGA设计流程.zip

FPGA设计流程.zip

SPWM逆变器输出电流有三次基波谐波,怎么去除

698782698783 载波频率20K左右,基波频率75HZ,测得输出电流总是有三次基波谐波在,请问下各位大神有无办法解决

有基于树莓派的ROS教程资料吗?

有基于树莓派的ROS教程资料吗?急需快速掌握树莓派相关的ROS资料

在全志XR806上移植st7789屏幕驱动

### 前言 去年就对全志的mcu芯片感兴趣了,一直没有机会接触,看到本次极术社区提供的全志wifi + BLE开发板试用,就马上参加了 ...

【K230嵌入式AI开发板测评】+RTC计时与文件读写应用篇

RTC计时与文件读写功能,在后续的AI识别应用中有着重要的用途,因此将二者放在一起来研究和测试。 在介绍这方面的内容前 ...

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表