aboutsummaryrefslogtreecommitdiff
path: root/ports/minimal
AgeCommit message (Collapse)Author
2020-06-16ports: Disable MICROPY_PY_ASSIGN_EXPR in bare-arm and minimal ports.Damien George
To keep these ports as minimal as possible.
2020-06-02minimal: Make build more flexible and work as 64-bit build.Damien George
Changes are: - string0 is no longer built when building for host as the target, because it'll be provided by the system libc and may in some cases clash with the system one (eg on OSX). - mp_int_t/mp_uint_t are defined in terms of intptr_t/uintptr_t to support both 32-bit and 64-bit builds. - Configuration values which are the default in py/mpconfig.h are removed from mpconfigport.h to make the configuration a bit more minimal, eg as a better starting point for new ports.
2020-04-23all: Format code to add space after C++-style comment start.stijn
Note: the uncrustify configuration is explicitly set to 'add' instead of 'force' in order not to alter the comments which use extra spaces after // as a means of indenting text for clarity.
2020-04-18all: Enable extra conversion warnings where applicable.stijn
Add -Wdouble-promotion and -Wfloat-conversion for most ports to ban out implicit floating point conversions, and add extra Travis builds using MICROPY_FLOAT_IMPL_FLOAT to uncover warnings which weren't found previously. For the unix port -Wsign-comparison is added as well but only there since only clang supports this but gcc doesn't.
2020-04-05ports: Enable error text compression for various ports, but not all.Jim Mussared
Enabled on: bare-arm, minimal, unix coverage/dev/minimal, stm32, esp32, esp8266, cc3200, teensy, qemu-arm, nrf. Not enabled on others to be able to test the code when the feature is disabled (the default case). Code size change for this commit: bare-arm: -600 -0.906% minimal x86: -308 -0.208% unix x64: +0 +0.000% unix nanbox: +0 +0.000% stm32: -3368 -0.869% PYBV10 cc3200: -1024 -0.558% esp8266: -2512 -0.368% GENERIC esp32: -2876 -0.205% GENERIC[incl -3168(data)] nrf: -1708 -1.173% pca10040 samd: +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS
2020-03-28all: Remove spaces inside and around parenthesis.Damien George
Using new options enabled in the uncrustify configuration.
2020-03-26py/mpconfig.h: Enable MICROPY_MODULE_GETATTR by default.Damien George
To enable lazy loading of submodules (among other things), which is very useful for MicroPython libraries that want to have optional subcomponents. Disabled explicitly on minimal ports.
2020-03-25unix,windows: Use STDIN_FILENO, STDOUT_FILENO macros where appropriate.David Lechner
This replaces 0 and 1 with STDIN_FILENO and STDOUT_FILENO to make the intention of the code clearer.
2020-02-28all: Reformat C and Python source code with tools/codeformat.py.Damien George
This is run with uncrustify 0.70.1, and black 19.10b0.
2020-02-28all: Add *FORMAT-OFF* in various places.Damien George
This string is recognised by uncrustify, to disable formatting in the region marked by these comments. This is necessary in the qstrdef*.h files to prevent modification of the strings within the Q(...). In other places it is used to prevent excessive reformatting that would make the code less readable.
2019-12-27ports: Allow overriding CROSS_COMPILE in a custom makefile.David Lechner
Many ports already allow overriding CROSS_COMPILE. This modifies the remaining ports to allow it as well.
2019-10-15minimal/frozentest.mpy: Recompile now that mpy format changed.Damien George
2019-10-01minimal/frozentest.mpy: Update due to change in bytecode.Damien George
2019-09-26minimal/frozentest: Recompile now that mpy version has changed.Damien George
2019-09-17bare-arm, minimal: Set CSUPEROPT=-Os to get minimal firmware size.Damien George
This option affects py/vm.c and py/gc.c and using -Os gets them compiling a bit smaller, and small firmware is the aim of these two ports. Also, having these files compiled with -Os on these ports, and -O3 as the default on other ports, gives a better understanding of code-size changes when making changes to these files.
2019-08-28py: Add global default_emit_opt variable to make emit kind persistent.Damien George
mp_compile no longer takes an emit_opt argument, rather this setting is now provided by the global default_emit_opt variable. Now, when -X emit=native is passed as a command-line option, the emitter will be set for all compiled modules (included imports), not just the top-level script. In the future there could be a way to also set this variable from a script. Fixes issue #4267.
2019-07-01minimal: Use soft float for CROSS=1 Cortex-M4 target.Damien George
When compiled with hard float the system should enable FP access when it starts or else FP instructions lead to a fault. But this minimal port does not enable (or use) FP and so, to keep it minimal, switch to use soft floating point. (This became an issue due to the recent commit 34c04d2319cdfae01ed7bf7f9e341d69b86d751a which saves/restores FP registers in the NLR state.)
2019-03-08minimal/frozentest: Recompile now that mpy format and version changed.Damien George
2019-03-05minimal/frozentest: Recompile now that mpy format changed.Damien George
2018-12-13py/objdict: Make .fromkeys() method configurable.Paul Sokolovsky
On by default, turned off for minimal/bare-arm. Saves 144 bytes on x86.
2018-10-22py/objstr: Make str.count() method configurable.Paul Sokolovsky
Configurable via MICROPY_PY_BUILTINS_STR_COUNT. Default is enabled. Disabled for bare-arm, minimal, unix-minimal and zephyr ports. Disabling it saves 408 bytes on x86.
2018-09-20py/objstr: Make % (__mod__) formatting operator configurable.Paul Sokolovsky
Default is enabled, disabled for minimal builds. Saves 1296 bytes on x86, 976 bytes on ARM.
2018-05-21minimal/main: Allow to compile without GC enabled.Daniel Shaulov
2018-02-22minimal/Makefile: Explicitly include lib/utils/printf.c in build.Damien George
The bare-metal port needs it and it's no longer included by default since the Makefile now uses $(PY_CORE_O).
2018-02-22ports/{bare-arm,minimal}/Makefile: Only build with core source files.Damien George
These ports don't need anything from extmod so don't include those files at all in the build. This speeds up the build by about 10% when building with a single core.
2018-01-31minimal/README: Update text to better describe what "make run" does.Damien George
2017-10-05py/persistentcode: Bump .mpy version number to version 3.Damien George
The binary and unary ops have changed bytecode encoding.
2017-10-04all: Remove inclusion of internal py header files.Damien George
Header files that are considered internal to the py core and should not normally be included directly are: py/nlr.h - internal nlr configuration and declarations py/bc0.h - contains bytecode macro definitions py/runtime0.h - contains basic runtime enums Instead, the top-level header files to include are one of: py/obj.h - includes runtime0.h and defines everything to use the mp_obj_t type py/runtime.h - includes mpstate.h and hence nlr.h, obj.h, runtime0.h, and defines everything to use the general runtime support functions Additional, specific headers (eg py/objlist.h) can be included if needed.
2017-09-06all: Update Makefiles and others to build with new ports/ dir layout.Damien George
Also renames "stmhal" to "stm32" in documentation and everywhere else.
2017-09-06ports: Make new ports/ sub-directory and move all ports there.Damien George
This is to keep the top-level directory clean, to make it clear what is core and what is a port, and to allow the repository to grow with new ports in a sustainable way.