From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29222 invoked by alias); 16 Nov 2011 20:44:17 -0000 Received: (qmail 29208 invoked by uid 22791); 16 Nov 2011 20:44:17 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 16 Nov 2011 20:44:02 +0000 Received: from localhost (hagrid.ecoscentric.com [127.0.0.1]) by mail.ecoscentric.com (Postfix) with ESMTP id 2C0AC2F78001 for ; Wed, 16 Nov 2011 20:44:01 +0000 (GMT) Received: from mail.ecoscentric.com ([127.0.0.1]) by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Uz0h9PMbEaXh; Wed, 16 Nov 2011 20:43:59 +0000 (GMT) From: bugzilla-daemon@bugs.ecos.sourceware.org To: ecos-bugs@ecos.sourceware.org Subject: [Bug 1001387] Kinetis Interrupt vector enumeration incorrect X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: HAL X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ilijak@siva.com.mk X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Wed, 16 Nov 2011 20:44:00 -0000 Message-Id: <20111116204359.3FD542F78008@mail.ecoscentric.com> Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-bugs-owner@sourceware.org X-SW-Source: 2011/txt/msg01317.txt.bz2 Please do not reply to this email. Use the web interface provided at: http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001387 --- Comment #1 from Ilija Kocho 2011-11-16 20:43:55 GMT --- (In reply to comment #0) > In the Kinetis port (using TWRK60N512), the enum KinetisExtInterrupt_e, and > consequently the vectors returned by CYGHWR_HAL_KINETIS_PIN_IRQ_VECTOR() seem > incorrect; for example, for PORTA returned value is 88, but should be 103. I > suspect this is because the platform does not define > CYGNUM_HAL_INTERRUPT_SYS_TICK and CYGNUM_HAL_INTERRUPT_EXTERNAL; the fallback > arm values for these are 0 and 1 respectively, while the Kinetis values should > be 15 and 16 respectively. Tomas It's a matter of different enumerations: In Freescale's headers, the interrupt (and exception) numbers simply begin from 0 (including Stack Pointer reset value). ARM CMSIS standard begins counting from -14 (NMI) that places SysTick at -1 and makes External Interrupts start at 0. eCos has separate enumerations for system exceptions and interrupt vectors (see hal/cortexm/arch//include/hal_intr.h). In the same file you will find definitions for CYGNUM_HAL_INTERRUPT_SYS_TICK (0) and CYGNUM_HAL_INTERRUPT_EXTERNAL (1), hence External Interrupt enumeration starts from 1. Speaking of Kinetis interrupt enumeration one additional clarification just FAOD. /Reserved/ interrupts remain with their original names i.e. .._Reserved108 follows .._PORTE in order to maintain correspondence with Freescale's names. Simply regard them as names not numbers. With the time, some of them, as new devices appear, may be assigned by Freescale to new peripherals. Even the present list is an union of two devices: K60 and K40. Ilija -- 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.