概述
写在前面
人生苦短,我用Python!
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
Web 和 Internet开发用Python
科学计算和统计用Python
人工智能用Python
桌面界面开发用Python
软件开发用Python
后端开发用Python
网络爬虫用Python
MicroPython 是Python 3编程语言的一种精简而高效的实现,它包含Python标准库的一个小子集,并且经过优化,可以在微控制器和受限环境中运行。MicroPython包含了许多高级特性,比如交互式提示符、任意精确整数、闭包、列表理解、生成器、异常处理等等。但是它足够紧凑,可以在256k的代码空间和16k的RAM中运行。MicroPython的目标是尽可能与普通Python兼容,允许您轻松地将代码从桌面转移到微控制器或嵌入式系统。
本节将介绍micropython编译开发使用的工具,为后续移植micropython做准备,让python的优点进入到单片机,进入到嵌入式程序开发层次!
环境配置基础
首先笔者使用的实验环境为WIN10+Ubuntu16.04(双系统、或两台独立电脑,安装了python2.7 、python3.5)。所用到的工具有STM32 ST-LINK Utility v4.2.0,DfuSe_Demo_V3.0.5,PUTTY,TCP&UDP。
1.Ubuntu环境配置
系统镜像下载(清华源):https://mirrors.tuna.tsinghua.edu.cn/
将下载好的源解压到U盘,即可制作成U盘安装启动盘,进行系统安装。
这里不做详细介绍未安装过系统的朋友可参考以下博文
U盘启动盘制作
2.win10上准备工具
STM32 ST-LINK Utility v4.2.0工具下载:https://pan.baidu.com/s/16N5s3loSxiA7-G4AwJDAuQ
提取码:533z
Putty工具下载:https://www.putty.org/
DfuSe_Demo_V3.0.5工具下载:https://pan.baidu.com/s/1407zfN-ZDLfdJJItjYL3SQ
提取码:vytl
3.源码下载与编译
在Ubuntu系统下,确保电脑能连上网络
3.1 安装git
sudo apt-get install git
3.2 下载microPython源码(耐心等待,速度与网络速度有关)
git clone https://github.com/micropython/micropython
注:可以指定在文件目录下打开终端,将源码即下载到该文件目录下
下载完成后可以在指定的文件夹目录下看到多了一个micropython文件夹:
打开micropython文件夹(此路经为micropython根目录):
简要介绍一下三个重要的目录,其他的请自行查看
mpy-cross/
相当于一个交叉编译器,把.py文件编译成.mpy文件,是个官方的工具
,编译整个项目前请先编译mpy-cross
lib/
该目录下存放各种库文件,比如后面要用到的STM32HAL库
ports/
硬件接口,与平台相关,支持stm32,esp系列等,移植时重点关注该目录
在ports/stm32/boards下看到micropython支持的处理器或开发板:
先不要急着编译,还要把库文件下载下来:
进入micropython根目录
git init
git submodule update --init #跟网络速度有关,耐心等待完成
跟网络速度有关,耐心等待完成,笔者电脑之前已初始化过,很快便完成了
3.3 编译
首先编译之前需要安装gcc和gcc-arm-none-eabi交叉编译器
sudo apt-get install gcc
sudo apt-get install gcc-arm-none-eabi
编译 mpy-cross
进入mpy-cross目录,直接make
cd mpy-cross/
make
静静等待编译完成就好了
进入stm32目录下编译执行,这里以编译PYBV11为例,
生成我们所需要的固件DFU或者HEX形式的:
从micropython根目录输入以下命令进入
cd ports/stm32/
make BOARD=PYBV11
BOARD=PYBV11是用于指定要编译的开发板或处理器
make BOARD=PYBV11 PYTHON=python2
PYTHON=python2用于指定系统python的版本的,如果安装的是python3,该参数可以省略(见redme.md文件)。笔者系统是Python3,所以省略了该参数
#########################python版本设置,此步为另外扩展内容,正常操作不必执行
注:如果你也和笔者一样安装有python2.7 、python3.5两个版本,可以用以下命令设置系统环境python版本
python --version #查看系统默认python版本
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
update-alternatives --list python #列出系统可用的python代替版本
--install 选项使用了多个参数用于创建符号链接。最后一个参数指定了此选项的优先级,如果我们没有手动来设置替代选项,那么具有最高优先级的选项就会被选中。这个例子中,我们为 /usr/bin/python3.5 设置的优先级为2,所以update-alternatives 命令会自动将它设置为默认 Python 版本
可参考:https://blog.csdn.net/fang_chuan/article/details/60958329
###################################python版本设置
编译成功将生成firmware.dfu、firmware.hex这两个可用固件。
可以在stm32文件夹目录下新生成了一个build-PYBV11文件夹
感谢阅读,我是智科创玩,希望文章能够解决您的问题。
事为之,须极致!
最后
以上就是背后小甜瓜为你收集整理的micropython开发教程 1 - 开发工具基础配置写在前面环境配置基础的全部内容,希望文章能够帮你解决micropython开发教程 1 - 开发工具基础配置写在前面环境配置基础所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复