summaryrefslogtreecommitdiff
path: root/nuttx/arch/c5471/src/up_assert.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-02-14 01:47:18 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-02-14 01:47:18 +0000
commitb0dcacabaac30072bc3fc4076723cd42c5d8973d (patch)
tree3d6e37cf70f7f3b18557baccf884ca90c2da4580 /nuttx/arch/c5471/src/up_assert.c
parent5027365b990fb1ab4a6d5626acddcafba01977f5 (diff)
downloadpx4-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.c200
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);
-}