<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openmano-mpy/cc3200/FreeRTOS, branch master</title>
<subtitle>MicroPython source and hardware configuration for OpenMano</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/'/>
<entry>
<title>ports: Make new ports/ sub-directory and move all ports there.</title>
<updated>2017-09-06T03:40:51+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2017-09-06T03:40:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=01dd7804b87d60b2deab16712eccb3b97351a9b7'/>
<id>01dd7804b87d60b2deab16712eccb3b97351a9b7</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>cc3200: Shrink the FreeRTOS heap and place TCB+stack in freed location.</title>
<updated>2016-06-28T10:28:53+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2016-06-05T12:01:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=469c623bb8e504ca78f1964508579ecefec76a98'/>
<id>469c623bb8e504ca78f1964508579ecefec76a98</id>
<content type='text'>
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).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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).
</pre>
</div>
</content>
</entry>
<entry>
<title>cc3200: In FreeRTOSConfig.h, comment on configSUPPORT_STATIC_ALLOCATION.</title>
<updated>2016-06-28T10:28:53+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2016-06-05T11:43:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=1d5aa9d245362d060843688a97f12a86b8fe1e46'/>
<id>1d5aa9d245362d060843688a97f12a86b8fe1e46</id>
<content type='text'>
This config variable is now needed regardless of whether threading is
enabled or not.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This config variable is now needed regardless of whether threading is
enabled or not.
</pre>
</div>
</content>
</entry>
<entry>
<title>cc3200: Add basic threading capabilities.</title>
<updated>2016-06-28T10:28:51+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2016-05-27T16:35:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=eef4f13a3390dc88902563acb047f0439eff0caf'/>
<id>eef4f13a3390dc88902563acb047f0439eff0caf</id>
<content type='text'>
Can create a new thread and run it.  Does not use the GIL at this point.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Can create a new thread and run it.  Does not use the GIL at this point.
</pre>
</div>
</content>
</entry>
<entry>
<title>cc3200: Define our own FreeRTOS heap so it can go in a special segment.</title>
<updated>2016-06-28T10:28:50+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2016-05-27T13:28:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=9b1c1262dc70cfb6b5cf5d27e3e3d8e41b5a4901'/>
<id>9b1c1262dc70cfb6b5cf5d27e3e3d8e41b5a4901</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cc3200: Update FreeRTOS to v9.0.0.</title>
<updated>2016-06-28T10:28:50+00:00</updated>
<author>
<name>Damien George</name>
</author>
<published>2016-05-27T13:23:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=5c0fc73f33dde64d7e56f3f1ed85eb44957c804e'/>
<id>5c0fc73f33dde64d7e56f3f1ed85eb44957c804e</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>cc3200: Increase stack sizes a bit.</title>
<updated>2015-10-19T19:17:15+00:00</updated>
<author>
<name>danicampora</name>
</author>
<published>2015-10-19T09:41:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=65f6324573db77a35152d09642b1f3e26eed3908'/>
<id>65f6324573db77a35152d09642b1f3e26eed3908</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cc3200: Enable long filename support in FatFS.</title>
<updated>2015-04-11T11:35:05+00:00</updated>
<author>
<name>Daniel Campora</name>
</author>
<published>2015-04-10T19:02:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=6e25d955f489ee3446c5af10ea28b1f9038a733b'/>
<id>6e25d955f489ee3446c5af10ea28b1f9038a733b</id>
<content type='text'>
This has implications all over the place. I have to admit that
you can instantly see that usability improves, but it costs 3K.
At the same time I took the oportunity to rename the '/SFLASH'
drive to '/flash' which improves compatibility with the pyboard.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This has implications all over the place. I have to admit that
you can instantly see that usability improves, but it costs 3K.
At the same time I took the oportunity to rename the '/SFLASH'
drive to '/flash' which improves compatibility with the pyboard.
</pre>
</div>
</content>
</entry>
<entry>
<title>cc3200: Add power management framework. Add mpcallback class.</title>
<updated>2015-03-11T16:00:33+00:00</updated>
<author>
<name>danicampora</name>
</author>
<published>2015-03-04T12:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=9e44383e3f4092940a1e1b49a278978df99f7b08'/>
<id>9e44383e3f4092940a1e1b49a278978df99f7b08</id>
<content type='text'>
Supports suspend and hibernate modes. Waking is possible throug GPIO
and WLAN.
The mpcallback class is generic and can be reused by other classes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Supports suspend and hibernate modes. Waking is possible throug GPIO
and WLAN.
The mpcallback class is generic and can be reused by other classes.
</pre>
</div>
</content>
</entry>
<entry>
<title>cc3200: Place functions only used while booting in a special section.</title>
<updated>2015-03-11T15:59:29+00:00</updated>
<author>
<name>danicampora</name>
</author>
<published>2015-03-02T13:11:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/openmano-mpy/commit/?id=26cbc91373cdfff43317da01e102617ed5885655'/>
<id>26cbc91373cdfff43317da01e102617ed5885655</id>
<content type='text'>
Such functions are never used after MicroPython has started, and they
remain in RAM wasting space. Now they are placed in a special section
named "boot" which sits just before the heap, allowing us to extend
the effective heap area up to the new boot section. Right now, this
gives us back ~1K, but in the future, more functions might end up in
there as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Such functions are never used after MicroPython has started, and they
remain in RAM wasting space. Now they are placed in a special section
named "boot" which sits just before the heap, allowing us to extend
the effective heap area up to the new boot section. Right now, this
gives us back ~1K, but in the future, more functions might end up in
there as well.
</pre>
</div>
</content>
</entry>
</feed>
