This is the mail archive of the
ecos-bugs@sourceware.org
mailing list for the eCos project.
[Bug 1001161] New: hal_interrupt_mask() interrupt lost
- From: bugzilla-daemon at bugs dot ecos dot sourceware dot org
- To: ecos-bugs at ecos dot sourceware dot org
- Date: Sun, 27 Feb 2011 22:29:13 +0000
- Subject: [Bug 1001161] New: hal_interrupt_mask() interrupt lost
- Auto-submitted: auto-generated
Please do not reply to this email. Use the web interface provided at:
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001161
Summary: hal_interrupt_mask() interrupt lost
Product: eCos
Version: CVS
Platform: All
OS/Version: Cortex-M
Status: UNCONFIRMED
Severity: enhancement
Priority: low
Component: HAL
AssignedTo: unassigned@bugs.ecos.sourceware.org
ReportedBy: uholeschak@bihl-wiedemann.de
CC: ecos-bugs@ecos.sourceware.org
Class: Advice Request
The function hal_interrupt_mask() masks the interrupt in the NVIC and also
disables the interrupt source by calling HAL_VAR_INTERRUPT_MASK.
If i understand the documentation of cyg_interrupt_mask() and
cyg_interrupt_unmask() correctly, the function pair is intended to be a
possibility to mask the interrupt in critical sections (and not to disable the
interrupt).
The problem is now, that the call of HAL_VAR_INTERRUPT_MASK() disables the
interrupt source, so every interrupt in the mask period is lost.
Perhaps it would be a solution not to call HAL_VAR_INTERRUPT_MASK() from
hal_interrupt_mask().
If the user wants to enable the interrupt source he could call this function
directly ...
--
Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.