- fix bug when unplugged unmounted-already device (mostly plugged when power on)

- add hal_debugger_is_attached & hal_debugger_breakpoint
- assert will suspend (place breakpoint) if the condition is failed and debugger is attached. Otherwise, a message to uart is printed
- fix get control qhd function when dev_addr is not zero (shifted 1)
- fix wrong logic for unsupported class
This commit is contained in:
hathach
2013-03-22 17:08:51 +07:00
parent cd2915e78c
commit dbaf6c0d30
13 changed files with 663 additions and 1168 deletions

View File

@@ -57,6 +57,7 @@ extern "C"
#endif
#include "tusb_option.h"
#include "hal/hal.h"
//--------------------------------------------------------------------+
// Compile-time Assert
@@ -92,7 +93,8 @@ extern "C"
#endif
#ifndef _TEST_ASSERT_
#define ASSERT_ERROR_HANDLER(x, para) return (x)
#define ASSERT_ERROR_HANDLER(x, para) \
return (x)
#else
#define ASSERT_ERROR_HANDLER(x, para) Throw(x)
#endif
@@ -101,7 +103,11 @@ extern "C"
do{\
setup_statement;\
if (!(condition)) {\
ASSERT_MESSAGE(format, __VA_ARGS__);\
if (hal_debugger_is_attached()){\
hal_debugger_breakpoint();\
}else{\
ASSERT_MESSAGE(format, __VA_ARGS__);\
}\
error_handler(error, handler_para);\
}\
}while(0)

View File

@@ -83,12 +83,6 @@
//--------------------------------------------------------------------+
// MACROS
//--------------------------------------------------------------------+
#ifndef _TEST_
#define ASM_BREAKPOINT __asm("BKPT #0\n") // Place breakpoint to stop the debugger at desire
#else
#define ASM_BREAKPOINT
#endif
#define STRING_(x) #x // stringify without expand
#define XSTRING_(x) STRING_(x) // expand then stringify
#define STRING_CONCAT_(a, b) a##b // concat without expand

View File

@@ -49,6 +49,7 @@
#ifndef _TUSB_ERRORS_H_
#define _TUSB_ERRORS_H_
#include "primitive_types.h"
#include "tusb_option.h"
#ifdef __cplusplus