XIVN1987 发表于 2018-8-31 23:20:00

基于MT7687F的MicroPython移植,初步运行起来了(*^_^*)


MT7687F:一个Cortex-M4内核的WIFI SOC芯片,最高主频192MHz,有2M SPI Flash、支持基于SPI Flash和Cache的XIP运行,352K SRAM

MicroPython:一个运行在单片机上的Python实现,官方实现运行在STM32、CC3200、ESP8266、ESP32等芯片上

我将MicroPython移植到了MT7687F芯片上,,当前还只实现了基本功能,,运行效果如下:


源代码我放在了github上:https://github.com/XIVN1987/micropython
MT7687F相关的代码都在ports/mt7687目录下

编译好的二进制文件:
可使用官方的MT76x7 Flash Tool软件将编译好的二进制文件下载到MT7687F芯片中实验运行效果

20061002838 发表于 2018-8-31 23:27:43

这个好,666666

nanfang2000 发表于 2018-8-31 23:35:53

感谢分享!这个要发挥大的用途,网络协议得做好,类似pycom

XIVN1987 发表于 2018-8-31 23:43:27

nanfang2000 发表于 2018-8-31 23:35
感谢分享!这个要发挥大的用途,网络协议得做好,类似pycom


是的,有WIFI联网才有意思,,

下一步打算实现联网,并添加ADC、SPI、I2C外设驱动

nanfang2000 发表于 2018-9-1 18:03:11

XIVN1987 发表于 2018-8-31 23:43
是的,有WIFI联网才有意思,,

下一步打算实现联网,并添加ADC、SPI、I2C外设驱动 ...

这个都打算开源还是

XIVN1987 发表于 2018-9-1 18:36:40

nanfang2000 发表于 2018-9-1 18:03
这个都打算开源还是


开源,,都在GitHub上

somwin 发表于 2018-9-12 20:48:13

好帖子,支持楼主!

wenming 发表于 2018-9-12 21:02:58

楼主才是大师

XIVN1987 发表于 2018-9-12 21:25:04

wenming 发表于 2018-9-12 21:02
楼主才是大师


连大师的门还没摸到呢{:lol:}

才实现了最基础的功能而已,,距离能用还差得远

Yuki. 发表于 2018-9-12 21:59:04

相当厉害了!

qq335702318 发表于 2018-9-12 22:35:39

micropython如何适应这么多不一样的硬件和寄存器配置的?

nanfang2000 发表于 2018-9-12 22:56:54

qq335702318 发表于 2018-9-12 22:35
micropython如何适应这么多不一样的硬件和寄存器配置的?

都用统一接口的c库封装

Excellence 发表于 2018-9-13 07:58:49

qq335702318 发表于 2018-9-12 22:35
micropython如何适应这么多不一样的硬件和寄存器配置的?

如果MICROPYTHON主页不支持的芯片,可能要自己移植编译了。

liujinhan 发表于 2018-9-13 08:47:20

XIVN1987 发表于 2018-9-12 21:25
连大师的门还没摸到呢

才实现了最基础的功能而已,,距离能用还差得远 ...

万事开头难,后面就等你无限发挥了!~

avr-arm 发表于 2018-9-13 08:51:29


一做智能锁客户告诉我7687有坑,描述如下:
我们遇到一个问题,就是系统会有crash的现象,但是crash后,调用系统的reboot,系统没办法重起。
cortex-m4的内核,要复位,需要调用wdt的复位功能。但MT697的WDT复位不了。
所以我们就在MT7697上加了一个时钟,带复位功能。

他们找了很久,无解,没办法,后来外加了看门狗监视。图上可以看到是粗粮的模组,不过后来粗粮也主推ESP32模组了。

XIVN1987 发表于 2018-9-13 09:40:09

qq335702318 发表于 2018-9-12 22:35
micropython如何适应这么多不一样的硬件和寄存器配置的?


肯定得有人移植才行,,

另外,STM32的移植里面也有在micropython中直接操作硬件寄存器的方法
mode = stm.mem32
mode &= ~((3 << 13*2) | (3 << 14*2))
mode |=((2 << 13*2) | (2 << 14*2))
stm.mem32 = mode
如果你要实现的需求比较特殊,移植里面没有实现,,可以使用这种方法实现

XIVN1987 发表于 2018-9-13 09:43:42

avr-arm 发表于 2018-9-13 08:51
一做智能锁客户告诉我7687有坑,描述如下:
我们遇到一个问题,就是系统会有crash的现象,但是crash后,调 ...


确实,MT7687的流行度跟ESP32相比差远了,,
页: [1]
查看完整版本: 基于MT7687F的MicroPython移植,初步运行起来了(*^_^*)