tag 标签: micropython

相关帖子
相关博文
  • 热度 35
    2020-3-30 13:33
    9723 次阅读|
    0 个评论
    【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境
    喜欢今日头条,偶然看到广告,半个多月前交了8.9元,报名参加了头条上Python的四天培训课,呵呵,总算是有了零的开始(还是有点收获的,见 https://www.sohu.com/a/381128744_120248280 )。三天前搜到这个电子工程世界论坛,马上注册了ID,发现这里可能是学习交流MicroPython的最大平台....... 春节新冠疫情过后,我入手了一块支持MicroPython的开发板(性价比还行,百多元),国产自主知识产权的K210芯片,从零开始学习,尝试动手做实验。 自2018年9月6日,嘉楠科技推出自主设计研发的全球首款基于RISC-V的量产商用边缘智能计算芯片勘智K210,至今使用K210芯片的开发板已经很多了,比如号称第一款采用RISC-V芯片设计的香蕉Pi板BPI-K210,还有KD233、Sipeed M1(荔枝丹),MAIX Bit,M5Stick-V,MAIX GO,pyAI- K210,MAIX Dock,PaddlePi-K210和Maixduino等。 图为香蕉Pi板BPI-K210 最后选择Maixduino的理由挺简单的,就是这款开发板的版型能够兼容Arduino UNO的许多资源,相对来说其生态环境要好一些。作为测试的简单实验,半个月左右,先后尝试了在Maixduino上,配置Arduino IDE与PlatformIO IDE开发环境(win10)。 https://cn.bbs.sipeed.com/d/102-maixduino2-arduinowin10 https://cn.bbs.sipeed.com/d/154-maixduino8-platformio-idewin10 1、安装开发板串口驱动 正常情况下,win10 ,linux3.0+ ,mac os都可以自动识别并安装串口驱动。如果遇到驱动失败,可以去 FTDI 官网下载对应的 VCP 驱动程序。 https://www.ftdichip.com/Drivers/VCP.htm win驱动下载地址: http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip 如果到驱动安装不正确,请彻底卸载原驱动,下载官方驱动,切断网络并安装驱动即可解决问题。 2、下载K210开发板固件,更新MaixPy固件相当于给开发板烧录系统,使用Type C 线连接开发板和电脑,下载开发板固件,方式有两种: (1)GitHub发布的固件(下载最新版本) https://codeload.github.com/sipeed/MaixPy/zip/master 2)官方最新提交的固件版本 https://dl.sipeed.com/MAIX/MaixPy/release/master/ 这里选择了v0.5.0_31版本 打开后应该是选择最后这个(固件完整版) 通常一个固件文件中至少有四个文件,以“maixpy_v0.5.0_31_gd3e71c0”固件为例,具体说明如下: eif_maixpy_v0.5.0_31_gd3e71c0.7z: 普通用户不用关心,用于死机调试; maixpy_v0.5.0_31_gd3e71c0_m5stickv:M5STACK环境; maixpy_v0.5.0_31_gd3e71c0_minimum: MaixPy固件最小集合,不支持 MaixPy IDE, 不包含OpenMV的相关算法; maixpy_v0.5.0_31_gd3e71c0.bin:完整版的MaixPy固件。 这里我们需要使用maixpy_v0.5.0_31_gd3e71c0.bin:完整版的MaixPy固件。 3、下载烧录软件kflash_gui 应用,直接下载GitHub项目工程,下载完成点击“kflash_gui.exe”文件安装。 资料页 https://github.com/sipeed/kflash_gui 下载页面 https://github.com/sipeed/kflash_gui/releases 只下载了V1.5版本,其他还在下载之中....... 出错了,无法安装kflash_gui.exe 后来只好把所有版本都下载,逐一试试....... 经测试,1.24、1.25和1.32都能打开(这里使用v1.32版本来烧录固件) 红点标注处的几个选项要选好 附:kflash_gui 特性 支持 *.bin 和 *.kfpgk 文件, 支持文件选择器选择 支持开发板选择 可选择程序烧录到 Flash 或者 SRAM 自动检测电脑上的串口 波特率可编辑 黑白两种皮肤可供选择 界面支持中英文切换 支持烧录进度显示和烧录速度显示 支持取消下载进程 支持合并多个 bin 文件为一个 bin 文件 支持把 kfpkg 文件转换为一个 bin 文件 支持使能 bin 文件 自动识别文件是不是固件 kflash_gui 使用方法 下载文件(kflash_gui_v*.*) 下载地址:release页面 解压, 并双击 kflash_gui.exe 或 kflash_gui 可以自行建快捷方式或者固定到开始页面或者固定要任务栏方便使用; 如果是 Linux, 可以修改 kflash_gui.desktop 里面的路径, 然后用管理员身份复制到/usr/share/application 目录, 然后就可以在系统菜单里面找到kflash_gui的图标了,点击即可打开 选择 bin 文件或者 kfpkg 文件, 如果是bin文件需要指定地址,如果是固件需要指定0x0000地址 选择开发板 选择烧录到开发板的哪个位置 Flash(速度慢但是重新上电还可运行) 或者 SRAM(RAM中运行,下载快断电丢失程序) 选择串口 选择波特率,推荐1.5M 点击 下载 按钮来开始下载 如果需要取消,点击 取消 按钮 4、下载MaixPy IDE,MaixPy 使用Micropython 脚本语法,所以不像 C语言 一样需要编译,要使用MaixPy IDE , 开发板固件必须是V0.3.1 版本以上(这里使用V0.5.0), 否则MaixPy IDE上会连接不上, 使用前尽量检查固件版本和IDE 版本,都更新到最新版以保障能正常使用。 https://cn.dl.sipeed.com/MAIX/MaixPy/ide https://dl.sipeed.com/MAIX/MaixPy/ide/_/v0.2.4/maixpy-ide-windows-0.2.4.exe 5、下载结束,进行安装 6、测试运行MaixPy IDE (1)确定开发板:工具——选择开发板——Maixduino (2)安装驱动,选择端口 工具——打开终端——串行端口——COM6——115200 (3)开始连接 图标绿色变红色表示已连接,见底栏,显示固件版本 V0.5.0 7、使用串口工具 (1)连接硬件 连接 Type C 线, 一端电脑一端开发板 查看设备是否已经正确识别: 在 Windows 下可以打开设备管理器来查看 如果没有发现设备, 需要确认有没有装驱动以及接触是否良好 (2)下载串口工具 (a) putty https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html (b)xshell https://xshell.en.softonic.com/download (3)然后选择串口模式, 然后设置串口和波特率,打开串口。 4)检查固件版本 使用串口终端PuTTY打开串口,然后复位(或按ctrl+D),看输出的版本信息,与github 或者 master 分支 的固件版本对比,根据当前版本情况考虑升级到最新版本。这里烧录的固件版本是“ v0.5.0-31-gd3e71c0” 。 (5)串口终端PuTTY的控制命令: CTRL-A-在空白行上,进入原始REPL模式 CTRL-B-在空白行上,进入常规REPL模式 CTRL-C-中断正在运行的程序 CTRL-D-在空白行上,对电路板进行软复位 CTRL-E-在空白行上进入粘贴模式 (6)有关可用模块的列表,请键入help('modules') KPU gc random uio Maix hashlib re ujson __main__ heapq sensor ulab _boot image socket uos _thread json struct urandom _webrepl lcd sys ure array machine time usocket audio math touchscreen ustruct binascii math ubinascii utime board micropython ucollections utimeq builtins modules ucryptolib uzlib cmath nes uctypes video collections network uerrno zlib errno os uhashlib fpioa_manager pye_mp uheapq Plus any modules on the filesystem 8、Hello world! #尝试搭建K210的Micropython开发环境(Win10) #实验程序之一:串口打印‘hello maixpy’,固件版本号
  • 热度 11
    2020-3-29 12:34
    5637 次阅读|
    1 个评论
    【雕爷学编程】MicroPython动手做(01)——春节后入手了K210开发板
    Python的开放、简洁、黏合正符合了现发展阶段对人工智能、大数据分析、可视化、各种平台程序协作产生了快速的促进作用。自Python3的发布到现在已有五六年的时间,从刚发布的反对声音到慢慢被接受与喜欢经过了太漫长的时间,然而可能也与国情与发展需求有着相当的关系。总之,越来越多人开始使用Python。 MicroPython是在单片机上跑的Python。官方的开发板是PYBoard,但是这个板子比较少见,价格也比较贵。幸好MicroPython支持多种开发板,我们可以在其他开发板上很好的运行MicroPython,效果是一样的。基于32-bit的ARM处理器,比如说STM32F4和F7系列等,也支持cc3200、esp32和esp8266(常用wifi模块-以后玩可做互联网用途),树莓派,香蕉派还有BBC Micro:bit开发板等。 春节新冠病毒疫情过后,我入手了一块支持MicroPython的开发板,国产自主知识产权的K210芯片,从零开始学习,尝试动手做实验。 2018年9月6日,嘉楠科技推出自主设计研发的全球首款基于RISC-V的量产商用边缘智能计算芯片勘智K210。该芯片依托于完全自主研发的AI神经网络加速器KPU,具备自主IP、视听兼具与可编程能力三大特点,能够充分适配多个业务场景的需求。作为嘉楠科技自主研发的边缘侧AI芯片,勘智K210兼具高能耗比和灵活性。在算力方面,勘智K210可在0.3W的条件下提供1TOP的算力支持,充分适配在多数业务场景中低功耗约束下的算力需求。 在芯片集成度方面,勘智K210采用视听一体化设计。在机器视觉上,芯片基于自主研发的神经网络加速器KPU,可完成基于神经网络的图像分类任务,进行人脸识别与检测,以及实时获被检测目标的分类。在听觉能力上,芯片自带APU语音处理单元,最高可支持8路音频数据及16个方向,无需占用CPU即可实现声源定向、声场成像、波束形成、语音识别与唤醒等功能。 在算法定制化方面,勘智K210在可编程能力上呈现出更高的灵活性。首先,相比ARM等架构,勘智K210采用RISC-V架构,拥有更强的可定制化能力,便于开发者根据具体应用场景定制算法。其次,芯片搭载FPIOA现场可编程IO阵列,支持TensorFlow、Keras、Darknet、PaddlePaddle和Caffe等主流AI编程框架,以及全面的开发文档,对开发者十分友好。此外,芯片内置64位双核处理器架构,分为计算核与应用核,能够为开发者提供足以应对复杂业务场景的计算资源。 K210系统架构 K210 包含 RISC-V 64 位双核 CPU,每个核心内置独立 FPU. K210 的核心功能是机器视觉与听觉,其包含用于计算卷积人工神经网络的 KPU 与用于处理麦克风阵列输入的 APU. 同时 K210 具备快速傅里叶变换加速器,可以进行高性能复数 FFT 计算。因此对于大多数机器学习算法,K210 具备高性能处理能力。K210 内嵌 AES 与 SHA256 算法加速器,为用户提供基本安全功能。K210 拥有高性能、低功耗的 SRAM,以及功能强大的 DMA,在数据吞吐能力方面性能优异。K210 具备丰富的外设单元,分别是:DVP、JTAG、OTP、FPIOA、GPIO、UART、SPI、RTC、I²S、I²C、WDT、Timer 与 PWM,可满足海量应用场景。 基于RISC-V开源指令集 RISC-V(读作“RISC-FIVE”)是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),V表示为第五代RISC(精简指令集计算机),表示此前已经四代RISC处理器原型芯片。每一代RISC处理器都是在同一人带领下完成,那就是加州大学伯克利分校的David A. Patterson教授。与大多数ISA相反,RISC-V ISA可以免费地用于所有希望的设备中,允许任何人设计、制造和销售RISC-V芯片和软件。图1展示了此前的四代RISC处理器原型芯片。它虽然不是第一个开源的的指令集(ISA),但它很重要,因为它第一个被设计成可以根据具体场景可以选择适合的指令集的指令集架构。基于RISC-V指令集架构可以设计服务器CPU,家用电器cpu,工控cpu和用在比指头小的传感器中的cpu。 与大多数指令集相比,RISC-V指令集可以自由地用于任何目的,允许任何人设计、制造和销售RISC-V芯片和软件。虽然这不是第一个开源指令集,但它具有重要意义,因为其设计使其适用于现代计算设备(如仓库规模云计算机、高端移动电话和微小嵌入式系统)。设计者考虑到了这些用途中的性能与功率效率。该指令集还具有众多支持的软件,这解决了新指令集通常的弱点。该项目2010年始于加州大学伯克利分校,但许多贡献者是该大学以外的志愿者和行业工作者。RISC-V指令集的设计考虑了小型、快速、低功耗的现实情况来实做,但并没有对特定的微架构做过度的设计。截至2017年5月,RISC-V已经确立了版本2.22的用户空间的指令集(userspace ISA),而特权指令集(privileged ISA)也处在草案版本1.10。 勘智K210成支持RISC-V NOMMU范本 如果谈及嵌入式领域,RISC-V或许是你绝对绕不过的一个知识点。虽然ARM依旧是移动端的霸主,但RISC-V被外界赋予了太多意义,架构本身适合于颇具前景的嵌入式开发,其免费开源的特性也在当前的国际环境中备受关注,俨然成为移动端领域的新晋网红。 RISC-V大势所趋,市场上也涌现了一些基于该架构的芯片与开发模组,例如很多开发者正在使用的勘智K210。去年底,名为Jean-Luc的资深工程师分享了将Linux5.1系统部署在K210处理器上的工作。同时,他也在文中引用了西部数据的分享,勘智K210被作为支持RISC-V NOMMU的示范列入其中。 在AI领域,神经网络属于计算密集型场景,人脸识别等算法往往会受到边缘侧应用场景的功耗限制。嘉楠表示ARM在实际计算的过程中往往会伴随大量的能耗,并不是非常经济的架构。公开资料显示,嘉楠是RISC-V联盟中前五家使用RISC-V架构的厂商之一。在勘智系列AI芯片的研发中,嘉楠使用了RISC-V RocketChip,减少了大量相关的工作量,也节省了大量的研发人力成本,以及IP授权的成本。 目前,勘智K210及其开发模组受到不少开发者的青睐,吸引了来自百度、阿里等国内顶尖AI团队的目光。例如嘉楠为百度AI开发平台PaddlePaddle定制开发模组PaddlePi-K210,打通了PaddlePaddle 模型设备端部署解决方案。开发人员不需要硬件更改,使用公版模具就可以一直做到样品阶段。在前沿项目的探索上,勘智K210兼容阿里最新TinyML算法模型,是可用于探索TinyML科研项目的RV平台。 Maixduino 基于MAIX模块,是用于AI + IoT应用的RISC-V 64开发板。与其他Sipeed MAIX dev不同。主板Maixduino采用Arduino Uno外形设计,板载ESP32模块和MAIX AI模块。MAIX是Sipeed专门设计的产品系列,专为在边缘运行AI而设计。将AI模型从云端移动到网络边缘的设备,在这些设备上运行速度更快,成本更低,隐私性更高。 CPU:带FPU的双核64位RISC-V;400MHz神经网络处理器 QVGA@60FPS/VGA@30FPS图像识别 板载ESP32模块支持2.4G 802.11.b/g/n和蓝牙4.2 Arduino Uno外形,Arduino兼容接口 板载全向I 2 S数字输出MEMS麦克风 用于DVP相机的24P 0.5mm FPC连接器 8位MCU LCD 24P 0.5mm FPC连接器 基于卷积神经网络的机器视觉 支持自弹式micro SD卡支架 重置和启动按钮;3W DAC+PA音频输出 连接USB Type-C电缆以完成下载 用于机器听觉的高性能麦克风阵列处理器 支持MaixPy IDE、Arduino IDE、OpenMV IDE和PlatformIO IDE 支持Tiny-Yolo、Mobilenet和TensorFlow Lite,用于深度学习 标配Sipeed_OV2640摄像头 OV2640主要参数 可以支持定制FPC长度,镜头角度(70-160度)可以支持定制FPC长度,镜头角度(70-160度) 感光阵列1632x1232 最大格式UXGA IO电压1.7V-3.3V 模拟电压2.5-3.0v(内部LDO给核供电1.2V) 功耗工作TBD 休眠<20μA 温度操作-30℃到70℃ 稳定工作0℃到50℃ 输出格式(8位)YUV/YCbCr4:2:2 RGB565/555/444 GRB4:2:2 Raw RGB Data 光学尺寸1/4" 视场角70度 最大贞率15fps SXGA 灵敏度1.3V/(Lux-sec) 信噪比40 dB 动态范围50 dB 浏览模式逐行 电子曝光1行到1247行 像素面积2.2μm x 2.2μm 暗电流15mV/s at 60℃ 工作电流40mA 标配ST7789驱动器芯片2.4寸LCD屏(24P 320X240) 1. 模块名称:液晶显示模块 2. 型号:KD024C-4 3. 同类型型号: 4. 兼容型号: 5. 显示模式:TFT 6. 显示色彩:65/262K 7. 分辨率: 240*320 8. 点距:0.153 (H) x 0.153 (V) 9. 视角:12:00 10. 控制IC:ST7789V 11. 显示类型:全透型,常白 12. 外形尺寸:42.72*60.26*2.6mm 13. 可视面积:38.32*50.56 mm 14. 点阵区面积:36.72*48.96mm 15. 亮度:300cd/m2 16. 对比度:500 17. 接口类型: 8/9/16/18位8080并口 16/18位RGB接口 3/4线SPI接口 18. 引脚数:24 19. 引脚距离:0.5mm 20. 连接类型: FPC插接型 21. 工作电压:3.3V 22. 背光灯颜色及类型: 白色LED背光 23. 背光电路:4 LED 并联, 共阳 If=80mA, Vf =3.2V 24. 使用寿命:100000h 25. 工作温度:-20----70°C 26. 储存温度:-30----80°C 27. 质量体系认证:ISO9001:2008 28. 产品认证:RoHS
  • 热度 10
    2019-6-3 20:23
    14364 次阅读|
    4 个评论
    NUCLEO_H743ZI移植MicroPython
    H743 的开发板拿到手有一段时间了,本来我是想先在 Ubuntu18.04 (因为我个人的笔记本目前只有这个系统)下搞个纯 Linux 的开发环境,然后再做点其他评测的,奈何 Linux 版本下的 stlink 驱动编译后居然没 H743 的支持,暂时搁置,后面抽点时间看看怎么把 H743 的支持加到 stlink 源码去,再编译下(对移植过程兴趣的可以到我另一篇博文看看 https://mbb.eet-china.com/blog/1779404-406940.html )。 评测时间快到了,我就换了我工作的电脑来完成评测吧。开发环境的搭建可能没从零开始那么详细,各位见谅。评测环境是 Win7+Ubuntu12.04-server 版。 去年开始受到了 AI 的蛊惑,体验了一下 Python 编程的简单易用,今年顺手考过了二级 Python 。但那都是 PC 平台上的,一直想体验下 Python 的嵌入式编程。所以这次的评测,我打算围绕 MicroPython 进行。第一步先给 H743 移植 MicroPython 支持;第二步引入 MicroPython 网络编程;最后还想在 MicroPython 的基础上体验下 OpenMV (这个要加个子板)。这些评测内容较多,当然不太可能在最近一下子完成,我会持续的在这里发博文,有兴趣的继续关注即可。 好,以上是闲话。下面开始评测的第一部分内容,移植 MicroPython 支持。 开始前,有必要了解下 MicroPython 是什么,看下官方描述即可: 图 0-MicroPython 官方描述 1. 下载 / 安装交叉编译链 由于 H743 用的其实是 arm 的 thumb 指令,在 PC 平台上需要使用交叉编译链来编译。当然裸机编程最好用的是官方的编译链或 sdk 啦,此处为了后续用 MicroPython 开发,就安装 arm 的交叉编译链。这里我图省事,直接下载编译链安装了。如有需要,也可以从我的网盘下载(链接 : https://pan.baidu.com/s/1YvkWy-pYcWgYr5dZ8J7f7A 提取码 : hfi8 )。 注意安装编译链时,需要把解压的路径整个加入到 $PATH 变量,否则后面用交叉编译链编译时可能导致编译失败。 例如,把交叉编译链下载到 Ubuntu ,并解压后,放在 ~/ toolchain/gcc-arm-none-eabi-5_4-2016q3 目录,则在 ~/.bashrc 里加一句 export PATH="$HOME/toolchain/gcc-arm-none-eabi-5_4-2016q3/bin:$PATH" 然后执行 source ~/.bashrc ,这样就安装完成了。 装完之后确认下版本号: 图 1-arm 交叉编译链 2. 下载安装 MicroPython 直接到 github 下载最新的 MicroPython $ git clone https://github.com/micropython/micropython.git MicroPython 支持的处理器在 ports 目录下。支持的版型在 micropython/ports/stm32/boards 里,可以看到,里面已经支持了 NUCLEO_H743ZI 了: 图 2 micropython stm32 版型支持 MicroPython 的 stm32 库支持是放在 micropython/lib/stm32lib 目录下,刚才的 git clone 后,该目录还是空的,需要继续下载 lib (继续在源码下载目录执行以下命令): $ git init $ git submodule update --init 下载成功后可以看到这些库的目录。 图 3 MicroPython stm32lib 在 ports/stm32 目录下执行 micropython/ports/stm32$ make BOARD=NUCLEO_H743ZI 编译最后看到下面结果,表示成功: 图 4-MicroPython 编译成功 编译结果在 micropython/ports/stm32/build-NUCLEO_H743ZI 目录下的 firmware.hex 。注意,此处我是在 Ubuntu 系统下编译,最后通过 samba 共享到 Win10 的,这些可以通过 Windows+ 虚拟机安装 Ubuntu 进行,此处操作步骤不详细描述,还不懂的网上搜一下其他教程。 我把编译出来的hex上传了一份到网盘,想直接验证的朋友可以直接下载使用: 链接:https://pan.baidu.com/s/1_lJkgBsOnuXhd-UuXInkYA 提取码:06wl 烧录试试,打开烧录软件 stsw (可到官网下载 https://www.stmcu.org.cn/document/detail/index/id-214265 ),加载 firmware.hex ,下载: 图 5- MicroPython 编译结果下载 烧录完成后,需要连接 usb slave 口连线到 PC 上( MicroPython 的虚拟盘),而 stlink 的那个 usb 口,可以断开和电脑的连接,但因为板子还需要供电,所以 stlink 的 usb 口我就直接拿移动电源给了 5V 过去。我看网上有些教程说两个 usb 口都连 PC ,不知道是不是软硬件环境不一样,我两个都连 PC 时, MicroPython 的虚拟盘一直都不能正常连接,时通时断的。所以我最后就只把 usb slave 口连到 PC 上, stlink 的 usb 口用 5V 供电(充电宝或其他可以提供 5V 的电源都可以),这样 MicroPython 的虚拟盘就正常了,连线如下图示: 图 6- 烧录成功后板子的连线 之后,就可以直接在 PC 上的 pybflash 目录下用 python 编程。 图 7-pybflash 虚拟盘 在 pybflash 虚拟盘里,有这几个文件: 图 8-pybflash 虚拟盘内容 直接编辑里面的 main.py 就可以进行 Python 编程了。如果要开机自动运行 main.py 里的脚本,可以直接修改 boot.py : 图 9- 开机自动执行 Python 脚本 当然,这个 micropython 也有虚拟串口的功能(我在用这个时发现驱动用自动联网装装不上,就直接本地安装驱动,驱动位置选择 pybflash ),然后就可以用 securecrt 或 putty 进行串口连接,直接在串口里敲代码了。 图 10-MicroPython 虚拟串口 图 11-putty 通过串口连接 H743ZI 下面我就用 MicroPython 的虚拟串口试下控制板上的资源。 3.MicroPython 使用体验 启动体验: 图 12- 上手体验 控制 LED 亮灭。看头文件定义: micropython/ports/stm32/boards/NUCLEO_H743ZI/mpconfigboard.h 图 13-led gpio 定义 从头文件可以看到,这些已经被定义了。那我就直接用就可以了,看着 MicroPython 的官方文件来操作。先点亮 LED 试试: 图 14- 点亮 LED 图 15- 板子效果 图 16- 按键亮灭灯 图 17- 按键全灭 至此, LED 控制正常。 图 18- 任意控制 GPIO 输出 万用表测着 PC10 ,观察其电压变化。 总结: 由以上简单实验看出,MicroPython的移植是成功的。 MicroPython 以无操作系统的方式跑在 H743 上,其易用性及可移植性可圈可点。 MicroPython 的底层也是 C ,上层语法和 python 3.4 一样。在熟悉 python 的情况下,使用一块硬件开发板是相当简单的,也可以很快的打造出一个产品原型。相同的 Python 脚本代码在不同的开发板移植,所需的工作量非常少,甚至只是复制过来( MicroPython 相当于对底层进行了封装)。 Python 是解析语言,不需编译,直接运行即可。 有空再详细解读下MicroPython的源码,接下来还会继续评测,将引入MicroPython的网络编程,最后还会上OpenMV。
  • 热度 11
    2016-6-19 18:36
    2818 次阅读|
    0 个评论
    大家知道,在python中,可以将py文件编译为pyc文件。编译后的pyc文件是二进制格式,一是可以加快加载速度,更重要的是可以保护原始代码。 在micropython中同样提供了这个功能,只是它将pyc改名为mpy,编译出的文件扩展名是.mpy。要使用这个功能,首先,我们需要产生mpy-cross工具。在micropython目录下,进入mpy-cross子目录,然后在命令行下输入make编译产生mpy-cross执行文件(需要先安装gcc编译器)。在windows会产生mpy-cross.exe,在linux下会产生mpy-cross。 然后用mpy-cross处理py文件,如:mpy-cross user.py,就会产生user.mpy,我们可以直接用user.mpy代替原有的user.py文件,使用起来和原来一样。前一段时间还有网友担心使用micropython时的安全问题,使用mpy-cross就没有问题了。
  • 热度 14
    2016-6-17 23:52
    1090 次阅读|
    0 个评论
    使用Micropython时,我们可以在REPL下输入代码。但是如果代码比较长,输入就比较麻烦。但是如果直接复制,就会出现下面的问题,换行的代码不能被正确识别,不能正常运行。   其实micropython的作者考虑到了这个问题,他特别设计一个粘贴模式。 先在命令行提示符状态下,按下Ctrl-E组合键,就会出现提示: paste mode; Ctrl-C to cancel, Ctrl-D to finish === 然后在粘贴代码,完成后按下Ctlr-D推出粘贴模式 我们在尝试粘贴刚才的代码,就是正确的了。
相关资源