The transactional circular buffer algorithm allows interrupt handlers concurrently append and remove data to/from the same instance of the buffer. Composite data types can be used as the buffer data element without requirement to block interrupts during new data copying into the buffer.Use of LL/SC instructions on buffer control structure packed into a 32 bit word makes it possible to avoid interrupt blocking on all the buffer operations on 32 bit platforms like ARM Cortex-M3.
The source code from the Code section can be compiled with GCC 4.7 from GNU Tools for ARM Embedded Processors [https://launchpad.net/gcc-arm-embedded/] and requires ARM CMSIS library [http://www.arm.com/products/processors/cortex-m/cortex-microcontroller-software-interface-standard.php].
Downloads:
0 This Week