From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5245 invoked by alias); 9 Sep 2007 20:18:50 -0000 Received: (qmail 5236 invoked by uid 22791); 9 Sep 2007 20:18:49 -0000 X-Spam-Check-By: sourceware.org Received: from stelecom.gomel.by (HELO stelecom.gomel.by) (82.209.213.61) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 09 Sep 2007 20:18:36 +0000 Received: by stelecom.gomel.by (Postfix, from userid 501) id 1B419B025050; Sun, 9 Sep 2007 23:18:33 +0300 (EEST) Received: from localhost (unknown [86.57.140.7]) by stelecom.gomel.by (Postfix) with ESMTP id 669D2B024FAF; Sun, 9 Sep 2007 23:18:21 +0300 (EEST) Date: Sun, 09 Sep 2007 20:18:00 -0000 From: Sergei Gavrikov To: Alok Singh , ecos-discuss@ecos.sourceware.org Message-ID: <20070909201701.GA5996@ubuntu> References: <20070909163655.GC3557@lunn.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070909163655.GC3557@lunn.ch> User-Agent: Mutt/1.5.13 (2006-08-11) X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] Stack Trace and running task when exception occurs - X-SW-Source: 2007-09/txt/msg00043.txt.bz2 On Sun, Sep 09, 2007 at 06:36:55PM +0200, Andrew Lunn wrote: > On Sun, Sep 09, 2007 at 04:32:10PM +0530, Alok Singh wrote: > > > > Hi, > > > > > Does eCos provides the details of the task that was running when > > exception occurred? I think I know that it doesn't, but just wanted > > to get your views?? Or is there a way to get this information > > without altering (enhancing) the current eCos code. > > It depends on what details you want. cyg_thread_self() will tell you > the current thread. However, be careful, it could of been an ISR/DSR > that caused the exception, not the thread. > > If you have a hardware exception, eg /0, sigfault etc, the info > parameter passed to the exception handler may be the saved > registers. This is architecture dependent. eg look at > packages/hal/arm/arch/current/src/hal_misc.c lines 136-158 and follow > the code patch though into your exception handler. > > Andrew If ARM arch. is yours, try to build and run the eCos exception test: kernel/tests/except1, without (default) and then with this option # Provide diagnostic dump for exceptions # Print messages about hardware exceptions, including # raw exception frame dump and register contents. # cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS { # Flavor: bool # No user value, uncomment the following line to provide one. user_value 1 # value_source default # Default value: 0 # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 1 } With the option is turned on, you will get info about the latest CPU state (PC, registers, stack frame). Sergei -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss