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

micropython之十万个为什么

已有 2068 次阅读2016-4-7 12:28 |个人分类:micropython| 嵌入式软件, 编程语言, 服务器, 工程师, 物联网

关于本帖

有鉴于EEWorld坛主的热情,许诺发个PCBA给我评估。作为回报,我把我的学习体验贴在坛子了。

因为EE的背景,我最熟悉的是8051汇编和C。不过最近在Arduino/mbed上大量用了C++开发。使用Python是从辅助开发工具时开始的,Python可以从物联网各个环节切入,Python可以用于
FPGA/CPLD,嵌入式软件,桌面程序,服务器(Web/IoT Server+BigData)和手机APP开发中。此外,我还为FSL的KL25Z用Python做了自动测试,服务器,ISP下载等。

所以.......

如果你是工程师,你要学Python;
如果你是很懒的工程师,你更要学Python;
如果你是喜欢DIY的工程师,你更加要学Python。
如果你是喜欢炒股票的工程师,你不学Python就亏了。

适用范围广度可以与Python一拼的语言是Java和Javascript。(关于编程语言的争论我不回复。)

为什么要用Python

我记得一位高人对我说,要别人的钱,别人的脑子,办你的事情。Python可以帮你一把。Python自带很多很多......的库,所以在物联网背景下,可以做很多事情。

而 且作为胶水语言,Python有多个版本。基于C的CPython和Cython,基于JVM的Jython,基于Python子集和JIT的PyPy, 基于.net的IronPython,基于Javascript的Pyjs/Brython,还有被Ruby吸血的RubyPython。所以 Python和C/Java/.net-C#/JS/Ruby之间可以很好地互相勾搭。也就是因为这点,Python可以获取大量的Java企业应用 库......

此外,无论你把Python作为脚本,还是OOP试验田,还是AOP编程,都可以。作为程序员可以同一工具下完成编程思想的升级改造。

嵌入式版本

Python 适用面广,语法简单。用于嵌入式是迟早的事情。无论是ARM Cortex-M0/3/4,还是Cortex-A5/7/8/9,MIPS,x86,Quark都不在话下。micropython是目前最流行的嵌入 式Python VM和开发环境。官方分支有:STM32HAL/ESP8266/CC3000/UNIX版本,还有细小分支如Teensy(FSL KL),PIC16,而第三方分支有microbit和WiPy/LoPy。前者是micropython为BBC microbit开发,而后者是基于CC3000和ESP32(Wifi+BLE双模)和LoRa长距离WSN而开发的版本。

其他嵌入式 Python还有Pymite和Viper。以及大家交叉编译的CPython,OpenEmbedded版本,OpenWRT版本,以及 Debian/Ubuntu的ARM/MIPS版本,Lego ev3-dev版本.......Symbian版本,Telit GPRS MODEM版本......

所以.......
Python大法好,赶紧到碗里来。

为什么在嵌入式中使用Python
因 为二次开发是现在开发的核心价值。现在的“智能”硬件真的一点儿都不智能,只能够说是互联产品,它本身不智能,智能在云端了。但是用户应用应该具备二次开 发和环境,这以后会是一个标配。所以光有C/C++这种贴近硬件的语言是不够的,针对应用应该有自己的运行 时:Java,Python,Javascript。

micropython的野望

有没有注意到 micropython有个UNIX版本?而UNIX版本中还有组件管理工具:upip?这就是构建micropython生态的节奏。那么他要和 CPython竞争么?我觉得还不是。但是在ARM9等只有busybox的SBC里面,它的优势很明显。大家可以不用自己恶搞CPython了。因为 micropython天生就是交叉编译的。

micropython的限制

由于在裸机 上,micropython在设计中不仅需要了解C/Python间区别,还需要了解标准Python和microPython间区别。否 则,micropython有个天生的麻烦,不支持JTAG/SWD调试。你们懂得,在于实时有关的环境中,有时候没有调试让人抓狂。所以ISR方面需要 额外处理。

评论 (0 个评论)

facelist doodle 涂鸦板

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

热门文章