This is the mail archive of the
ecos-bugs@sourceware.org
mailing list for the eCos project.
[Bug 1001439] New: can_lpc2xxx.c:CYGOPT_DEVS_CAN_CAN_LPC2XXX_LUT_ERR_SUPP problems
- From: bugzilla-daemon at bugs dot ecos dot sourceware dot org
- To: ecos-bugs at ecos dot sourceware dot org
- Date: Tue, 3 Jan 2012 11:20:39 +0000
- Subject: [Bug 1001439] New: can_lpc2xxx.c:CYGOPT_DEVS_CAN_CAN_LPC2XXX_LUT_ERR_SUPP problems
- 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=1001439
Summary: can_lpc2xxx.c:
CYGOPT_DEVS_CAN_CAN_LPC2XXX_LUT_ERR_SUPP problems
Product: eCos
Version: CVS
Platform: Other (please specify)
OS/Version: Cortex-M
Status: UNCONFIRMED
Severity: minor
Priority: low
Component: CAN
AssignedTo: unassigned@bugs.ecos.sourceware.org
ReportedBy: bernard.fouche@kuantic.com
CC: ecos-bugs@ecos.sourceware.org
Class: Advice Request
In function lpc2xxx_can_DSR():
...
#if CYGINT_IO_CAN_CHANNELS > 1
cyg_uint8 i = 0;
while (lpc2xxx_global_can_info.active_channels[i])
#endif // CYGINT_IO_CAN_CHANNELS > 1
{
cyg_uint32 icr;
can_channel *chan = LPC2XXX_GET_CAN_CHANNEL(lpc2xxx_global_can_info,
i++);
CAN_DECLARE_INFO(chan);
HAL_READ_UINT32(CAN_CTRL_ICR(info), icr); // this read clears ICR
#ifdef CYGOPT_DEVS_CAN_LPC2XXX_LUT_ERR_SUPP
// Set ICR_LUT_ERR flag only for controller which cause LUT error
if ((luterr_chan0 == i) || (luterr_chan1 == i))
...
1) 'i' is declared only if more than one CAN channel. 'i' is referenced always
if CYGOPT_DEVS_CAN_LPC2XXX_LUT_ERR_SUPP is defined.
2) On MCU counting CAN channels from 0: 'i++' is performed at beginning of
while(...), and if CYGOPT_DEVS_CAN_LPC2XXX_LUT_ERR_SUPP is defined,
luterr_chan[0/1] are compared to 'i': the LUT fault won't be reported to the
correct CAN channel for such MCUs (luterr_chan[0/1] have values directly
provided by the hardware). can_accfilt_lpc2xxx.c has macro
LPC2XXX_CAN_FIRST_IN_LUT that could be moved to can_lpc2xxx.h to help solve
this.
--
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.