Remove redundant type information for bitfield elements, other than the signed/unsignedness of the element.
Change type of USB_SelectedPipe and USB_SelectedEndpoint for the AVR32 UC3 architecture to uint32_t to reduce the compiled code size.
This commit is contained in:
parent
d08116b02f
commit
852b5e612d
18 changed files with 195 additions and 183 deletions
|
@ -99,7 +99,7 @@
|
|||
#define pgm_read_byte(x) *x
|
||||
#define memcmp_P(...) memcmp(__VA_ARGS__)
|
||||
#define memcpy_P(...) memcpy(__VA_ARGS__)
|
||||
// ==================================================
|
||||
// =================================================
|
||||
|
||||
typedef uint32_t uint_reg_t;
|
||||
|
||||
|
@ -159,6 +159,8 @@
|
|||
* be set as a breakpoint in the resulting code. Useful for debugging purposes, where the optimiser
|
||||
* removes/reorders code to the point where break points cannot reliably be set.
|
||||
*
|
||||
* \note This macro is not available for all architectures.
|
||||
*
|
||||
* \ingroup Group_Debugging
|
||||
*/
|
||||
#define JTAG_DEBUG_POINT() __asm__ __volatile__ ("NOP" ::)
|
||||
|
@ -166,27 +168,17 @@
|
|||
/** Defines an explicit JTAG break point in the resulting binary via the assembly \c BREAK statement. When
|
||||
* a JTAG is used, this causes the program execution to halt when reached until manually resumed.
|
||||
*
|
||||
* \note This macro is not available for all architectures.
|
||||
*
|
||||
* \ingroup Group_Debugging
|
||||
*/
|
||||
#define JTAG_DEBUG_BREAK() __asm__ __volatile__ ("BREAK" ::)
|
||||
|
||||
#if !defined(pgm_read_ptr) || defined(__DOXYGEN__)
|
||||
/** Reads a pointer out of PROGMEM space on the AVR8 architecture. This is currently a wrapper for the
|
||||
* avr-libc \c pgm_read_ptr() macro with a \c void* cast, so that its value can be assigned directly
|
||||
* to a pointer variable or used in pointer arithmetic without further casting in C. In a future
|
||||
* avr-libc distribution this will be part of the standard API and will be implemented in a more formal
|
||||
* manner.
|
||||
*
|
||||
* \param[in] Addr Address of the pointer to read.
|
||||
*
|
||||
* \return Pointer retrieved from PROGMEM space.
|
||||
*/
|
||||
#define pgm_read_ptr(Addr) (void*)pgm_read_word(Addr)
|
||||
#endif
|
||||
|
||||
/** Macro for testing condition "x" and breaking via \ref JTAG_DEBUG_BREAK() if the condition is false.
|
||||
*
|
||||
* \param[in] Condition Condition that will be evaluated,
|
||||
* \note This macro is not available for all architectures.
|
||||
*
|
||||
* \param[in] Condition Condition that will be evaluated.
|
||||
*
|
||||
* \ingroup Group_Debugging
|
||||
*/
|
||||
|
@ -198,6 +190,8 @@
|
|||
*
|
||||
* The output takes the form "{FILENAME}: Function {FUNCTION NAME}, Line {LINE NUMBER}: Assertion {Condition} failed."
|
||||
*
|
||||
* \note This macro is not available for all architectures.
|
||||
*
|
||||
* \param[in] Condition Condition that will be evaluated,
|
||||
*
|
||||
* \ingroup Group_Debugging
|
||||
|
@ -205,6 +199,22 @@
|
|||
#define STDOUT_ASSERT(Condition) MACROS{ if (!(x)) { printf_P(PSTR("%s: Function \"%s\", Line %d: " \
|
||||
"Assertion \"%s\" failed.\r\n"), \
|
||||
__FILE__, __func__, __LINE__, #Condition); } }MACROE
|
||||
|
||||
#if !defined(pgm_read_ptr) || defined(__DOXYGEN__)
|
||||
/** Reads a pointer out of PROGMEM space on the AVR8 architecture. This is currently a wrapper for the
|
||||
* avr-libc \c pgm_read_ptr() macro with a \c void* cast, so that its value can be assigned directly
|
||||
* to a pointer variable or used in pointer arithmetic without further casting in C. In a future
|
||||
* avr-libc distribution this will be part of the standard API and will be implemented in a more formal
|
||||
* manner.
|
||||
*
|
||||
* \note This macro is not available for all architectures.
|
||||
*
|
||||
* \param[in] Address Address of the pointer to read.
|
||||
*
|
||||
* \return Pointer retrieved from PROGMEM space.
|
||||
*/
|
||||
#define pgm_read_ptr(Addr) (void*)pgm_read_word(Address)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/** Forces GCC to use pointer indirection (via the device's pointer register pairs) when accessing the given
|
||||
|
@ -231,8 +241,8 @@
|
|||
* Interrupt handlers written using this macro may still need to be registered with the microcontroller's
|
||||
* Interrupt Controller (if present) before they will properly handle incoming interrupt events.
|
||||
*
|
||||
* \note This is supplied on some architectures where the standard library does not include a valid
|
||||
* definition. If an existing definition exists, the definition here will be ignored.
|
||||
* \note This macro is only supplied on some architectures, where the standard library does not include a valid
|
||||
* definition. If an existing definition exists, the alternative definition here will be ignored.
|
||||
*
|
||||
* \ingroup Group_GlobalInt
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue