Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | esp8266: Switch webrepl_setup to use frozen bytecode. | Paul Sokolovsky | 2016-07-02 |
| | |||
* | esp8266: Explicitly collect garbage in bootstrap scripts. | Paul Sokolovsky | 2016-07-02 |
| | | | | Leads to less fragmentation at teh time user code starts. | ||
* | extmod/modbtree: Fixes for nanbox build. | Paul Sokolovsky | 2016-07-02 |
| | |||
* | unix: Enable btree module. | Paul Sokolovsky | 2016-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 Sokolovsky | 2016-07-02 |
| | |||
* | py/mpconfig.h: Mention MICROPY_PY_BTREE config option. | Paul Sokolovsky | 2016-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 Sokolovsky | 2016-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 Sokolovsky | 2016-07-02 |
| | |||
* | extmod/modwebsocket: Add readinto() method. | Paul Sokolovsky | 2016-07-02 |
| | |||
* | tests/meminfo: Update for addition of "max free sz" output. | Paul Sokolovsky | 2016-07-01 |
| | |||
* | py/gc: Calculate (and report) maximum contiguous free block size. | Paul Sokolovsky | 2016-07-01 |
| | | | | | Just as maximum allocated block size, it's reported in allocation units (not bytes). | ||
* | esp8266/modpybuart: allow setting baudrate and other params | Radomir Dopieralski | 2016-06-30 |
| | |||
* | esp8266/websocket_helper.py: Fix typo in debug output. | Paul Sokolovsky | 2016-06-30 |
| | |||
* | py/gc: Be sure to count last allocated block at heap end in stats. | Paul Sokolovsky | 2016-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 Sokolovsky | 2016-06-30 |
| | |||
* | stmhal: Enable SD card on L4 MCUs. | dpslwk | 2016-06-29 |
| | |||
* | stmhal: Correct DMA to allow SD card on L4 MCUs. | dpslwk | 2016-06-29 |
| | |||
* | stmhal: Update HALCOMMITS due to change to hal | dpslwk | 2016-06-29 |
| | |||
* | stmhal: Port of f4 hal commit 1d7fb82 to l4 hal | dpslwk | 2016-06-29 |
| | |||
* | esp8266/README: Describe how to build mpy-cross. | Damien George | 2016-06-29 |
| | |||
* | esp8266: Enable frozen bytecode, with scripts in modules/ subdir. | Damien George | 2016-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 George | 2016-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 George | 2016-06-28 |
| | |||
* | cc3200: Allow to compile bootloader with threading enabled. | Damien George | 2016-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 George | 2016-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 George | 2016-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 George | 2016-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 George | 2016-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 George | 2016-06-28 |
| | |||
* | tests/thread: Allow thread_sleep1 to run without floating point. | Damien George | 2016-06-28 |
| | |||
* | cc3200: Enable the GIL. | Damien George | 2016-06-28 |
| | |||
* | cc3200/mpthreadport: Move mem alloc outside the thread_mutex lock. | Damien George | 2016-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 George | 2016-06-28 |
| | |||
* | cc3200/gccollect: Use MP_STATE_THREAD(stack_top) to get top of stack. | Damien George | 2016-06-28 |
| | |||
* | cc3200/mpthreadport: Properly initialise the main thread's data. | Damien George | 2016-06-28 |
| | |||
* | cc3200/mpthreadport: Make mutex statically allocated. | Damien George | 2016-06-28 |
| | | | | Reduced the need for the FreeRTOS heap to allocate the mutex. | ||
* | cc3200: Use xTaskCreateStatic instead of osi_TaskCreate. | Damien George | 2016-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 George | 2016-06-28 |
| | |||
* | tests/thread: Make sure that thread tests don't rely on floating point. | Damien George | 2016-06-28 |
| | |||
* | tests/thread: Make stack-size test run correctly and reliable on uPy. | Damien George | 2016-06-28 |
| | |||
* | py/nlrsetjmp: Update to take into account new location of nlr_top. | Damien George | 2016-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 George | 2016-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 George | 2016-06-28 |
| | |||
* | py/modthread: Allow to properly set the stack limit of a thread. | Damien George | 2016-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 George | 2016-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 George | 2016-06-28 |
| | |||
* | cc3200: Update FreeRTOS to v9.0.0. | Damien George | 2016-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 George | 2016-06-28 |
| | | | | The GIL macros are needed even if threading is not enabled. | ||
* | unix/modtime: Release the GIL when sleeping. | Damien George | 2016-06-28 |
| | |||
* | py/modthread: Make Lock objects work when GIL is enabled. | Damien George | 2016-06-28 |
| |