summaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAge
* esp8266: Switch webrepl_setup to use frozen bytecode.Paul Sokolovsky2016-07-02
|
* esp8266: Explicitly collect garbage in bootstrap scripts.Paul Sokolovsky2016-07-02
| | | | Leads to less fragmentation at teh time user code starts.
* extmod/modbtree: Fixes for nanbox build.Paul Sokolovsky2016-07-02
|
* unix: Enable btree module.Paul Sokolovsky2016-07-02
| | | | | But disable it for coverage build, as its extra warninsg aren't compatible with K&R C BerkeleyDB uses.
* extmod/modbtree: Fix unused argument warning.Paul Sokolovsky2016-07-02
|
* py/mpconfig.h: Mention MICROPY_PY_BTREE config option.Paul Sokolovsky2016-07-02
| | | | | However, as it requires linking with external libraries, it actually should be ste on Makefile level.
* py/builtinimport: Disable "imported as namespace package" warning.Paul Sokolovsky2016-07-02
| | | | | Namespace packages are natural part of Python3, CPython3 doesn't have such warning, it made sense only from point of view of Python2 legacy.
* extmod/modwebrepl: Add readinto() method.Paul Sokolovsky2016-07-02
|
* extmod/modwebsocket: Add readinto() method.Paul Sokolovsky2016-07-02
|
* tests/meminfo: Update for addition of "max free sz" output.Paul Sokolovsky2016-07-01
|
* py/gc: Calculate (and report) maximum contiguous free block size.Paul Sokolovsky2016-07-01
| | | | | Just as maximum allocated block size, it's reported in allocation units (not bytes).
* esp8266/modpybuart: allow setting baudrate and other paramsRadomir Dopieralski2016-06-30
|
* esp8266/websocket_helper.py: Fix typo in debug output.Paul Sokolovsky2016-06-30
|
* py/gc: Be sure to count last allocated block at heap end in stats.Paul Sokolovsky2016-06-30
| | | | | | Previously, if there was chain of allocated blocks ending with the last block of heap, it wasn't included in number of 1/2-block or max block size stats.
* esp8266/websocket_helper.py: Avoid extra string allocations.Paul Sokolovsky2016-06-30
|
* stmhal: Enable SD card on L4 MCUs.dpslwk2016-06-29
|
* stmhal: Correct DMA to allow SD card on L4 MCUs.dpslwk2016-06-29
|
* stmhal: Update HALCOMMITS due to change to haldpslwk2016-06-29
|
* stmhal: Port of f4 hal commit 1d7fb82 to l4 haldpslwk2016-06-29
|
* esp8266/README: Describe how to build mpy-cross.Damien George2016-06-29
|
* esp8266: Enable frozen bytecode, with scripts in modules/ subdir.Damien George2016-06-29
| | | | | | | To start with, the critical scripts _boot.py and flashbdev.py are frozen to improve performance and reduce RAM consumption. Saves about 1000 bytes of heap RAM for a bare boot with filesystem.
* qemu-arm: Disable gcc LTO option for nlrthumb.c.Damien George2016-06-28
| | | | | If LTO is enabled for nlrthumb.c then gcc optimises away the nlr_push_tail function when in fact it is needed. So disable this option for this file.
* cc3200: Remove obsolete singleton heart-beat object.Damien George2016-06-28
|
* cc3200: Allow to compile bootloader with threading enabled.Damien George2016-06-28
| | | | | Threading is not used in the bootloader but the config optios are still enabled so we must exclude including FreeRTOS.h.
* cc3200: Shrink the FreeRTOS heap and place TCB+stack in freed location.Damien George2016-06-28
| | | | | | | | | | | | | | | The 16k FreeRTOS heap originally had all TCBs and stacks dynamically allocated within it (plus semaphores and some other things). Now that xTaskCreateStatic is used instead of xTaskCreate, the TCBs and stacks are allocated statically and no longer use any of the FreeRTOS heap. Therefore, the FreeRTOS stack can be shrunk by the amount that has been made static. Furthermore, the TCBs and stack that are now static should be placed in the .rtos_heaps section of RAM because this RAM is treated specially by the bootloader (the bootloader executes from the first 16k of RAM and loads the firmware into the section starting after the 16k). After this patch the FreeRTOS heap (ucHeap) is 7200 bytes. The memory available for the MicroPython heap is 54936 bytes (including GC overhead).
* cc3200: Start the simplelink spawn task using the static task creator.Damien George2016-06-28
| | | | | | | | | In VStartSimpleLinkSpawnTask we change xTaskCreate to xTaskCreateStatic so that the task is created using statically allocated memory for the TCB and stack. This means that xTaskCreate function is no longer needed (the static version is now used exclusively).
* cc3200: Remove .boot section attribute from osi_TaskCreate function.Damien George2016-06-28
| | | | | | This function is no longer used. Having the .boot section attribute meant that it was included in the firmware regargless of use. Without this attribute the linker can remove the function.
* cc3200: In FreeRTOSConfig.h, comment on configSUPPORT_STATIC_ALLOCATION.Damien George2016-06-28
| | | | | This config variable is now needed regardless of whether threading is enabled or not.
* tests/thread: Allow some tests to run on ports with not much heap.Damien George2016-06-28
|
* tests/thread: Allow thread_sleep1 to run without floating point.Damien George2016-06-28
|
* cc3200: Enable the GIL.Damien George2016-06-28
|
* cc3200/mpthreadport: Move mem alloc outside the thread_mutex lock.Damien George2016-06-28
| | | | | Otherwise there could be a deadlock, with the GC's mutex and thread_mutex.
* cc3200/mpthreadport: Scan more root pointers from thread data.Damien George2016-06-28
|
* cc3200/gccollect: Use MP_STATE_THREAD(stack_top) to get top of stack.Damien George2016-06-28
|
* cc3200/mpthreadport: Properly initialise the main thread's data.Damien George2016-06-28
|
* cc3200/mpthreadport: Make mutex statically allocated.Damien George2016-06-28
| | | | Reduced the need for the FreeRTOS heap to allocate the mutex.
* cc3200: Use xTaskCreateStatic instead of osi_TaskCreate.Damien George2016-06-28
| | | | | | This allows to statically allocate the TCB (thread control block) and thread stack in the BSS segment, reducing the need for dynamic memory allocation.
* py/mpthread: Include mpstate.h when defining GIL macros.Damien George2016-06-28
|
* tests/thread: Make sure that thread tests don't rely on floating point.Damien George2016-06-28
|
* tests/thread: Make stack-size test run correctly and reliable on uPy.Damien George2016-06-28
|
* py/nlrsetjmp: Update to take into account new location of nlr_top.Damien George2016-06-28
| | | | It's now accessed via the MP_STATE_THREAD macro.
* py/nlrthumb: Convert NLR thumb funcs from asm to C with inline-asm.Damien George2016-06-28
| | | | | | | Now only the bits that really need to be written in assembler are written in it, otherwise C is used. This means that the assembler code no longer needs to know about the global state structure which makes it much easier to maintain.
* cc3200: Fix call to new exception to be _msg instead of _arg1.Damien George2016-06-28
|
* py/modthread: Allow to properly set the stack limit of a thread.Damien George2016-06-28
| | | | | We rely on the port setting and adjusting the stack size so there is enough room to recover from hitting the stack limit.
* cc3200: Add basic threading capabilities.Damien George2016-06-28
| | | | Can create a new thread and run it. Does not use the GIL at this point.
* cc3200: Define our own FreeRTOS heap so it can go in a special segment.Damien George2016-06-28
|
* cc3200: Update FreeRTOS to v9.0.0.Damien George2016-06-28
| | | | | | | | | | | | | | | | | | | | | | | This is a pristine copy (actually a subset of files) of upstream FreeRTOS v9.0.0. Modifications to the previous version of FreeRTOS (v8.1.2) included addition of __attribute__ ((section (".boot"))) to the following functions: pxPortInitialiseStack prvTaskExitError prvPortStartFirstTask xPortStartScheduler vPortSetupTimerInterrupt xTaskGenericCreate vTaskStartScheduler prvInitialiseTCBVariables prvInitialiseTaskLists prvAllocateTCBAndStack This attribute will need to be reinstated on a case-by-case basis because some of the above functions are now removed/changed.
* py/mpthread.h: Move GIL macros outside MICROPY_PY_THREAD block.Damien George2016-06-28
| | | | The GIL macros are needed even if threading is not enabled.
* unix/modtime: Release the GIL when sleeping.Damien George2016-06-28
|
* py/modthread: Make Lock objects work when GIL is enabled.Damien George2016-06-28
|