mirror of
https://github.com/apache/nuttx.git
synced 2026-06-05 07:12:54 +08:00
arch/: Add 'BOARD_ASSERT_RESET_VALUE' in config/Kconfig and replace reboot status '0' to 'CONFIG_BOARD_ASSERT_RESET_VALUE'.
This commit is contained in:
@@ -298,7 +298,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (; ; )
|
for (; ; )
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -311,7 +311,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (; ; )
|
for (; ; )
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -365,7 +365,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -382,7 +382,7 @@ static void _up_assert(int errorcode)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
/* FLASH LEDs a 2Hz */
|
/* FLASH LEDs a 2Hz */
|
||||||
@@ -397,7 +397,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -381,7 +381,7 @@ static void _up_assert(int errorcode)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -394,7 +394,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -353,7 +353,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (; ; )
|
for (; ; )
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -366,7 +366,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (; ; )
|
for (; ; )
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -106,7 +106,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -294,7 +294,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (; ; )
|
for (; ; )
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -105,7 +105,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (; ; )
|
for (; ; )
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -106,7 +106,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -357,7 +357,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (; ; )
|
for (; ; )
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -370,7 +370,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -107,7 +107,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (; ; )
|
for (; ; )
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -106,7 +106,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ static void _up_assert(int errorcode)
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -255,7 +255,7 @@ static void _up_assert(int errorcode)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ static void xtensa_assert(int errorcode)
|
|||||||
for (; ; )
|
for (; ; )
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -149,7 +149,7 @@ static void xtensa_assert(int errorcode)
|
|||||||
/* Assertions in other contexts only cause the thread to exit */
|
/* Assertions in other contexts only cause the thread to exit */
|
||||||
|
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ static void _up_assert(int errorcode) /* noreturn_function */
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -106,7 +106,7 @@ static void _up_assert(int errorcode) /* noreturn_function */
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ static void _up_assert(int errorcode) /* noreturn_function */
|
|||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 1
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_ARCH_LEDS
|
#ifdef CONFIG_ARCH_LEDS
|
||||||
board_autoled_on(LED_PANIC);
|
board_autoled_on(LED_PANIC);
|
||||||
@@ -105,7 +105,7 @@ static void _up_assert(int errorcode) /* noreturn_function */
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
#if CONFIG_BOARD_RESET_ON_ASSERT >= 2
|
||||||
board_reset(0);
|
board_reset(CONFIG_BOARD_ASSERT_RESET_VALUE);
|
||||||
#endif
|
#endif
|
||||||
exit(errorcode);
|
exit(errorcode);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2430,6 +2430,16 @@ config BOARD_RESET_ON_ASSERT
|
|||||||
>= 2 up_assert from user or kernel thread will reset the machine.
|
>= 2 up_assert from user or kernel thread will reset the machine.
|
||||||
The default behavior is just to kill the asserting thread.
|
The default behavior is just to kill the asserting thread.
|
||||||
|
|
||||||
|
config BOARD_ASSERT_RESET_VALUE
|
||||||
|
int "Board reset argument"
|
||||||
|
default 0
|
||||||
|
depends on BOARDCTL_RESET
|
||||||
|
---help---
|
||||||
|
Parameter that will be passed to board_reset() by when an
|
||||||
|
assertion occurs. This may be used by board_reset()
|
||||||
|
implementations to handle the reset differently for the
|
||||||
|
case of a crash.
|
||||||
|
|
||||||
config BOARDCTL_UNIQUEID
|
config BOARDCTL_UNIQUEID
|
||||||
bool "Return board unique ID"
|
bool "Return board unique ID"
|
||||||
default n
|
default n
|
||||||
|
|||||||
Reference in New Issue
Block a user