MyGit

v1.9.4

micropython/micropython

版本发布时间: 2018-05-11 14:57:37

micropython/micropython最新发布版本:v1.23.0(2024-05-31 13:03:47)

This release brings some significant size reductions to the parser, as well as removal of unused code and additional tests to improve coverage of the core. A new optional, internal Python stack is introduced for scoped allocation and can be used instead of alloca to provide more efficient and flexible temporary memory; see MICROPY_ENABLE_PYSTACK. There have been many improvements and internal code refactors of the stm32 port, and the port to the Espressif ESP32 SoC has been merged from its development repository.

Compared to the last release the change in code size is (in bytes, using gcc 7.3):

bare-arm: -1832 minimal x86: -2608 unix x64: -5129 unix nanbox: +1024 stm32: +2120 cc3200: -928 esp8266: +336

The decrease is mainly due to the reduced size of the parser, where the table of rule pointers was compressed to a table of offsets. The increase in the stm32 and esp8266 ports is due to additional features, such as more colour formats in the framebuf module and the addition of ujson.dump().

Code coverage (measured by gcov) has improved since the last version (v1.9.3 on the left, v1.9.4 on the right):

py: 15202/15447 = 98.4% -> 15391/15513 = 99.2% extmod: 2227/ 2363 = 94.2% -> 2291/ 2430 = 94.3%

Changes and additions seen by the Python user include: improvement of dir() and tab-completion to list all available attributes of an object; addition of efficient ucollections.deque type with fixed size; better handling and polling support of sockets that get into an error state; implementation of key and cert keyword arguments in ussl.wrap_socket (for axtls); uos.ilistdir now return 4-tuples with the file size in the fourth position.

Changes at the C level include: removal of "make_qstr_if_not_already" argument from mp_obj_new_str; rename of mp_exc_recursion_depth to mp_raise_recursion_depth; removal of mp_const_MemoryError_obj; switching of stream close operation from method to ioctl; refactoring of how native emitter code is compiled with a file per architecture.

The stm32 port has seen a lot of improvements and additions, as well as some significant internal refactoring to better support configuring custom boards. STM32F7 support is improved, USB HS is supported for F723 and F733, the CAN class has improvements to handle bus errors, ctrl-C can now interrupt running code when the REPL is over UART, and the ADC class added the read_timed_multi static method. Board configuration has seen some internal changes, in particular with setting LD_FILES, TEXT0_ADDR, and TEXT1_ADDR in mpconfigboard.mk (previously LD_FILE, FLASH_ADDR, TEXT_ADDR). The pin_X and pyb_pin_X identifiers have been changed to be pointers to objects rather than objects, and main is renamed to stm32_main.

A detailed list of changes follows. py core:

extmod:

lib:

drivers:

tools:

tests:

minimal port:

unix port:

windows port:

qemu-arm port:

stm32 port:

teensy port:

esp8266 port:

esp32:

zephyr port:

docs:

travis:

相关地址:原始地址 下载(tar) 下载(zip)

1、 micropython-1.9.4.tar.gz 18.08MB

2、 micropython-1.9.4.zip 21.62MB

查看:2018-05-11发行的版本