Changeset 87f8b01 in rtems for c/src/lib

Timestamp:
07/27/15 16:01:43 (9 years ago)
Author:
Andre Marques <andre.lousa.marques@…>
Branches:
5, master
Children:
61e7c69
Parents:
040ddd2
git-author:
Andre Marques <andre.lousa.marques@…> (07/27/15 16:01:43)
git-committer:
Gedare Bloom <gedare@…> (08/06/15 14:53:37)
Message:

RTEMS GPIO API definition and implementation.

Changes relative to the previous patch set:

  • Moved GPIO pin interrupts to rtems chains, instead of a local linked list;
  • Restructured the pin tracking structure, separating the interrupt information for each pin meaning that a pin without any interrupt enabled only requires 8 bytes, while keeping interrupt information (handling information, handler chain control, ...) requires 24 additional bytes (total of 32 bytes per pin with interrupts enabled);
  • Added support for 'parallel' pin function assignment, allowing the function assignment to be set for multiple pins in a single GPIO hardware call. If a BSP does not support this feature it becomes a sequence of individual calls per pin. Also added support for GPIO pin groupings, allowing to write and read byte data to a series of pins which behave as a single entity;
  • Added bank tracking structure to maintain the bank lock and bank level interrupt information (threaded/normal handling, interrupt counter);
  • Changed GPIO settings to BSP defined constants, reducing dynamic memory allocation;
  • Switched interrupt tasks for a rtems interrupt server, with the possibility of using normal interrupts (user handlers being called within ISR context).
(No files)

Note: See TracChangeset for help on using the changeset viewer.