注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
icefire2012的个人空间 https://home.eeworld.com.cn/space-uid-404205.html [收藏] [复制] [分享] [RSS]
日志

【树莓派3B+测评】micropython与python

已有 1199 次阅读2018-9-16 20:46 |个人分类:python学习| micropython

    按照测试计划,要将micropython移植到树莓派上来控制硬件。我这两天下载micropython的源码,并翻看了一些micropython的资料。发现相比于micropython,直接用python在树莓派上控制硬件更方便一点。
    之前我简单理解为可以控制硬件的python为micropython,通过这两天的阅读,了解到micropython只是实现了一部分python3的功能,使得其能运行在主频和存储条件比较苛刻的microcontrollers上。根据官网的介绍,它可以运行在有256k代码空间和16k RAM的MCU上。很显然树莓派和这些运行micropython的MCU系统(目前官方支持的有STM32系列,PIC16, CC3200, ESP8266, ESP32等等)在性能上不是同一级别的系统。所以用python在树莓派上做开发更能充分利用树莓派的计算能力。
    另外我在micropython的源码中没有发现与linux相结合并应用到具体MCU开发板上的例子。这应该是由于上述MCU的FLASH和RAM的限制,以及linux的非实时性。我在/ports/cc3200/发现了FreeRTOS的文件夹,这个应该是micropython与RTOS相结合的一个示例。
    不过/ports目录下有个unix文件夹,我查看了官方的说明,是一个跑在unix系统上的micropython,这个我估计是为了验证micropython的核心代码用的。我按照说明在树莓派上编译了一下,还真编译通过了。
    以下是简单的说明:
    1.安装必要的软件包
  1. sudo apt-get install  build-essential
  2. sudo apt-get install  libffi-dev
  3. sudo apt-get install  pkg-config
复制代码


    2.下载micropython源码
  1. git clone https://github.com/micropython/micropython.git
复制代码


    3.编译过程
  1. git submodule update --init
  2. cd ports/unix
  3. make axtls
  4. make
复制代码

    如果第1步中的三个软件包有缺失,在执行make axtls时会报错

编译输出为  /ports/unix/micropython
micropython就是一个独立的简化版的python,可以尝试运行一下,以及做简单的测试:
  1. ./micropython

  2. list(5 * x + y for x in range(10) for y in [4, 2, 1])
复制代码


    跟硬件控制相关的模块,这个里面是不包含的,如下


    另一方面,python也有很多第三方的库,像控制GPIO,I2C的等等。
    所以后续的测评,将用python继续进行。



本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章