2948|0

1万

帖子

24

TA的资源

版主

楼主
 

MicroPython升级到1.8.6 [复制链接]

 昨天(11月10日),micropython升级到1.8.6版本。

主要更新:



  1. v1.8.6          ESP8266 port uses SDK 2.0, has more heap, has support for 512k devices
  2.    
  3.     This release brings some code size reductions to the core as well as
  4.     more tests and improved coverage which is now at 94.3%.
  5.    
  6.     The time.ticks_diff(a, b) function has changed: the order of the arguments
  7.     has been swapped so that it behaves like "a - b", and it can now return a
  8.     negative number if "a" came before "b" (modulo the period of the ticks
  9.     functions).
  10.    
  11.     For the ESP8266 port the Espressif SDK has been updated to 2.0.0, the
  12.     heap has been increased from 28k to 36k, and there is support for 512k
  13.     devices via "make 512k".  upip is included by default as frozen bytecode.
  14.     The network module now allows access-point reconnection without WiFi
  15.     credentials, and exposes configuration for the station DHCP hostname.  The
  16.     DS18B20 driver now handles negative temperatures, and NeoPixel and APA102
  17.     drivers handle 4 bytes-per-pixel LEDs.
  18.    
  19.     For the CC3200 port there is now support for loading of precompiled .mpy
  20.     files and threading now works properly with interrupts.
  21.    
  22.     A detailed list of changes follows.
  23.    
  24.     py core:
  25.     - py.mk: automatically add frozen.c to source list if FROZEN_DIR is defined
  26.     - be more specific with MP_DECLARE_CONST_FUN_OBJ macros
  27.     - specialise builtin funcs to use separate type for fixed arg count
  28.     - {modbuiltins,obj}: use MP_PYTHON_PRINTER where possible
  29.     - modbuiltins: add builtin "slice", pointing to existing slice type
  30.     - add "delattr" builtin, conditional on MICROPY_CPYTHON_COMPAT
  31.     - sequence: fix reverse slicing of lists
  32.     - fix null pointer dereference in mpz.c, fix missing va_end in warning.c
  33.     - remove asserts that are always true in emitbc.c
  34.     - fix wrong assumption that m_renew will not move if shrinking
  35.     - change config default so m_malloc0 uses memset if GC not enabled
  36.     - add MICROPY_FLOAT_CONST macro for defining float constants
  37.     - move frozen bytecode Makefile rules from ports to common mk files
  38.     - strip leading dirs from frozen mpy files, so any path can be used
  39.    
  40.     extmod:
  41.     - vfs_fat_file: check fatfs f_sync() and f_close() returns for errors
  42.     - vfs_fat_file: make file.close() a no-op if file already closed
  43.     - utime_mphal: ticks_diff(): switch arg order, return signed value
  44.     - utime_mphal: add MP_THREAD_GIL_EXIT/ENTER warppers for sleep functions
  45.     - utime_mphal: implement ticks_add(), add to all maintained ports
  46.     - utime_mphal: allow ticks functions period be configurable by a port
  47.    
  48.     lib:
  49.     - utils/pyhelp.c: use mp_printf() instead of printf()
  50.     - utils/pyexec: add mp_hal_set_interrupt_char() prototype
  51.     - libm: move Thumb-specific sqrtf function to separate file
  52.    
  53.     drivers:
  54.     - add "from micropython import const" when const is used
  55.    
  56.     tools:
  57.     - upgrade upip to 1.1.4: fix error on unix when installing to non-existing
  58.       absolute path
  59.     - pip-micropython: remove deprecated wrapper tool
  60.     - check_code_size.sh: code size validation script for CI
  61.     - replace upip tarball with just source file, to make its inclusion as
  62.       frozen modules in multiple ports less magic
  63.    
  64.     tests:
  65.     - extmod/vfs_fat: improve VFS test coverage
  66.     - basics/builtin_slice: add test for "slice" builtin name
  67.     - basics: add test for builtin "delattr"
  68.     - extmod/vfs_fat_fsusermount: improve fsusermount test coverage
  69.     - extmod/vfs_fat_oldproto: test old block device protocol
  70.     - basics/gc1: garbage collector threshold() coverage
  71.     - extmod/uhashlib_sha1: coverage for SHA1 algorithm
  72.     - extmod/uhashlib_sha256: rename sha256.py test
  73.     - btree1: fix out of memory error running on esp8266
  74.     - extmod/ticks_diff: test for new semantics of ticks_diff()
  75.     - extmod/framebuf1: test framebuffer pixel clear, and text function
  76.    
  77.     minimal port:
  78.     - Makefile: split rule for firmware.bin generation
  79.    
  80.     unix port:
  81.     - Makefile: remove references to deprecated pip-micropython
  82.     - modtime: use ticks_diff() implementation from extmod/utime_mphal.c
  83.     - mphalport.h: add warning of mp_hal_delay_ms() implementation
  84.     - modtime: switch ticks/sleep_ms/us() to utime_mphal
  85.     - fix symbol references for x86 Mac
  86.     - replace upip tarball with just source file
  87.    
  88.     windows port:
  89.     - enable utime_mphal following unix, define mp_hal_ticks_*
  90.     - fix utime_mphal compilation for msvc
  91.     - implement mp_hal_ticks_cpu in terms of QueryPerformanceCounter
  92.    
  93.     qemu-arm port:
  94.     - exclude ticks_diff test for qemu-arm port
  95.     - exclude extmod/vfs_fat_fileio.py test
  96.     - exclude new vfs_fat tests
  97.     - enable software floating point support, and float tests
  98.    
  99.     stmhal port:
  100.     - modutime: refactor to use extmod's version of ticks_cpu
  101.     - refactor pin usage to use mp_hal_pin API
  102.     - led: refactor LED to use mp_hal_pin_output() init function
  103.     - Makefile: use standard rules for frozen module generation
  104.     - modutime: consistently convert to MP_ROM_QSTR/MP_ROM_PTR
  105.     - enable SD power save (disable CLK on idle)
  106.    
  107.     cc3200 port:
  108.     - use mp_raise_XXX helper functions to reduce code size
  109.     - mods/pybspi: allow "write" arg of read/readinto to be positional
  110.     - enable loading of precompiled .mpy files
  111.     - fix thread mutex's so threading works with interrupts
  112.    
  113.     teensy port:
  114.     - update to provide new mp_hal_pin_XXX functions following stmhal
  115.    
  116.     esp8266 port:
  117.     - Makefile: use latest esptool.py flash size auto-detection
  118.     - esp_init_data: auto-initialize system params with vendor SDK 2.0.0
  119.     - esp8266.ld: move help.o to iROM
  120.     - esp8266.ld: move modmachine.o to iROM
  121.     - esp8266.ld: move main.o to iROM
  122.     - add MP_FASTCODE modifier to put a function to iRAM
  123.     - main: mark nlr_jump_fail() as MP_FASTCODE
  124.     - modules/webrepl: enforce only one concurrent WebREPL connection
  125.     - etshal.h: add few more ESP8266 vendor lib prototypes
  126.     - modesp: add flash_user_start() function
  127.     - add support for building firmware version for 512K modules
  128.     - scripts: make neopixel/apa102 handle 4bpp LEDs with common code
  129.     - modutime: consistently convert to MP_ROM_QSTR/MP_ROM_PTR
  130.     - modnetwork: config(): fix copy-paste error in setting "mac"
  131.     - scripts/port_diag: add descriptions for esf_buf types
  132.     - modnetwork.c: allows AP reconnection without WiFi credentials
  133.     - main: bump heap size to 36K
  134.     - etshal.h: add prototypes for SPIRead/SPIWrite/SPIEraseSector
  135.     - etshal.h: adjust size of MD5_CTX structure
  136.     - modules: fix negative temperature in ds18x20 driver
  137.     - rename "machine" module implementation to use contemporary naming
  138.     - rework webrepl_setup to run over wired REPL
  139.     - espneopixel.c: solve glitching LED issues with cpu at 80MHz
  140.     - include upip as a standard frozen bytecode module
  141.     - update docs for esptool 1.2.1/SDK 2.0 (--flash_size=detect)
  142.     - modnetwork.c: expose configuration for station DHCP hostname
  143.    
  144.     zephyr port:
  145.     - implement utime module
  146.     - use board/SoC values for startup banner based on Zephyr config
  147.     - initial implementation of machine.Pin
  148.     - zephyr_getchar: update for recent Zephyr refactor of console hooks
  149.     - support time -> utime module "weaklink"
  150.     - README: update for the current featureset, add more info
  151.     - mpconfigport.h: move less important params to the bottom
  152.     - Makefile: allow to adjust heap size from make command line
  153.     - Makefile: update comments to the current state of affairs
  154.     - Makefile: allow to override Zephyr config from make command line
  155.     - Makefile: add minimal port
  156.     - Makefile: add -fomit-frame-pointer to reduce code size
  157.     - mphalport.h: update for new "unified" kernal API (sleep functions)
  158.    
  159.     docs:
  160.     - machine.SPI: bring up to date with Hardware API, make vendor-neutral
  161.     - machine.SPI: improve descriptions of xfer methods
  162.     - library/builtins: add docs for delattr and slice
  163.     - library/network: reword intro paragraph
  164.     - library/network: typo fixes, consistent acronym capitalization
  165.     - library/index: update TOCs so builtins sorted before modules
  166.     - utime: document ticks_cpu() in more detail
  167.     - utime: describe new semantics of ticks_diff() (signed ring arithmetics)
  168.     - utime: add docs for ticks_add(), improvements for other ticks_*()
  169.     - esp8266: update for new WebREPL setup procedure
  170.     - */quickref.rst: use new semantics of ticks_diff()
  171.     - library/machine.Pin: update Pin docs to align with new HW API
  172.    
  173.     travis:
  174.     - integrate tools/check_code_size.sh
  175.     - minimal: Use CROSS=1, for binary size check
  176.    
  177.     examples:
  178.     - http_server_simplistic: add "not suitable for real use" note
  179.     - hwapi: example showing best practices for HW API usage in apps
  180.     - hwapi: add hwconfig for DragonBoard 410c
复制代码


点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表