diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-02-14 01:47:18 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-02-14 01:47:18 +0000 |
commit | b0dcacabaac30072bc3fc4076723cd42c5d8973d (patch) | |
tree | 3d6e37cf70f7f3b18557baccf884ca90c2da4580 /nuttx/arch/c5471/src/up_assert.c | |
parent | 5027365b990fb1ab4a6d5626acddcafba01977f5 (diff) | |
download | px4-nuttx-b0dcacabaac30072bc3fc4076723cd42c5d8973d.tar.gz px4-nuttx-b0dcacabaac30072bc3fc4076723cd42c5d8973d.tar.bz2 px4-nuttx-b0dcacabaac30072bc3fc4076723cd42c5d8973d.zip |
Removed old CVS directories
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3292 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/c5471/src/up_assert.c')
-rw-r--r-- | nuttx/arch/c5471/src/up_assert.c | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/nuttx/arch/c5471/src/up_assert.c b/nuttx/arch/c5471/src/up_assert.c deleted file mode 100644 index 0dad02f89..000000000 --- a/nuttx/arch/c5471/src/up_assert.c +++ /dev/null @@ -1,200 +0,0 @@ -/************************************************************ - * up_assert.c - * - * Copyright (C) 2007 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt <spudmonkey@racsa.co.cr> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * 3. Neither the name Gregory Nutt nor the names of its contributors may be - * used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS - * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS - * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED - * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - * - ************************************************************/ - -/************************************************************ - * Included Files - ************************************************************/ - -#include <nuttx/config.h> -#include <sys/types.h> -#include <stdlib.h> -#include <assert.h> -#include <debug.h> -#include <nuttx/irq.h> -#include "os_internal.h" -#include "up_internal.h" - -/************************************************************ - * Definitions - ************************************************************/ - -/************************************************************ - * Private Data - ************************************************************/ - -/************************************************************ - * Private Functions - ************************************************************/ - -/************************************************************ - * Name: up_getsp - ************************************************************/ - -/* I don't know if the builtin to get SP is enabled */ - -static inline uint32 up_getsp(void) -{ - uint32 sp; - __asm__ - ( - "\tmov %0, sp\n\t" - : "=r"(sp) - ); - return sp; -} - -/************************************************************ - * Name: up_stackdump - ************************************************************/ - -#ifdef CONFIG_ARCH_STACKDUMP -static void up_stackdump(void) -{ - _TCB *rtcb = (_TCB*)g_readytorun.head; - uint32 sp = up_getsp(); - uint32 stack_base; - uint32 stack_size; - - if (rtcb->pid == 0) - { - stack_base = g_heapbase - 4; - stack_size = CONFIG_PROC_STACK_SIZE; - } - else - { - stack_base = (uint32)rtcb->adj_stack_ptr; - stack_size = (uint32)rtcb->adj_stack_size; - } - - lldbg("stack_base: %08x\n", stack_base); - lldbg("stack_size: %08x\n", stack_size); - lldbg("sp: %08x\n", sp); - - if (sp >= stack_base || sp < stack_base - stack_size) - { - lldbg("ERROR: Stack pointer is not within allocated stack\n"); - return; - } - else - { - uint32 stack = sp & ~0x1f; - - for (stack = sp & ~0x1f; stack < stack_base; stack += 32) - { - uint32 *ptr = (uint32*)stack; - lldbg("%08x: %08x %08x %08x %08x %08x %08x %08x %08x\n", - stack, ptr[0], ptr[1], ptr[2], ptr[3], - ptr[4], ptr[5], ptr[6], ptr[7]); - } - } -} -#else -# define up_stackdump() -#endif - -/************************************************************ - * Name: _up_assert - ************************************************************/ - -static void _up_assert(int errorcode) /* __attribute__ ((noreturn)) */ -{ - /* Are we in an interrupt handler or the idle task? */ - - if (current_regs || ((_TCB*)g_readytorun.head)->pid == 0) - { - (void)irqsave(); - for(;;) - { -#ifdef CONFIG_ARCH_LEDS - up_ledon(LED_PANIC); - up_delay(250); - up_ledoff(LED_PANIC); - up_delay(250); -#endif - } - } - else - { - exit(errorcode); - } -} - -/************************************************************ - * Public Funtions - ************************************************************/ - -/************************************************************ - * Name: up_assert - ************************************************************/ - -void up_assert(const ubyte *filename, int lineno) -{ -#if CONFIG_TASK_NAME_SIZE > 0 - _TCB *rtcb = (_TCB*)g_readytorun.head; -#endif - - up_ledon(LED_ASSERTION); -#if CONFIG_TASK_NAME_SIZE > 0 - lldbg("Assertion failed at file:%s line: %d task: %s\n", - filename, lineno, rtcb->name); -#else - lldbg("Assertion failed at file:%s line: %d\n", - filename, lineno); -#endif - up_stackdump(); - _up_assert(EXIT_FAILURE); -} - -/************************************************************ - * Name: up_assert_code - ************************************************************/ - -void up_assert_code(const ubyte *filename, int lineno, int errorcode) -{ -#if CONFIG_TASK_NAME_SIZE > 0 - _TCB *rtcb = (_TCB*)g_readytorun.head; -#endif - - up_ledon(LED_ASSERTION); -#if CONFIG_TASK_NAME_SIZE > 0 - lldbg("Assertion failed at file:%s line: %d task: %s error code: %d\n", - filename, lineno, rtcb->name, errorcode); -#else - lldbg("Assertion failed at file:%s line: %d error code: %d\n", - filename, lineno, errorcode); -#endif - up_stackdump(); - _up_assert(errorcode); -} |