diff options
| author | hathach <[email protected]> | 2014-03-10 13:13:13 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2014-03-10 13:13:13 +0700 |
| commit | ad72db5aeacf7d969f5c091c59a2f279eaf1c19c (patch) | |
| tree | 328b462bcd4443e1eadba638509ebb4076b36b04 /tinyusb/common/compiler | |
| parent | 1c73d2f923aade6c6640d41c4b9dc3ec8865d3da (diff) | |
change IAR TUSB_CFG_ATTR_USBRAM to _Pragma("location=\".ahb_sram1\"") instead of @ .ahb_sram1 so that we can place it before the variable for a cleaner code
change pipe xfer API buffer from void* to uint8_t*
change FIFO_DEF to have a separated buffer to be compatible with IAR\
refractor IAR data alignment pragma
Diffstat (limited to 'tinyusb/common/compiler')
| -rw-r--r-- | tinyusb/common/compiler/compiler.h | 4 | ||||
| -rw-r--r-- | tinyusb/common/compiler/compiler_iar.h | 12 |
2 files changed, 5 insertions, 11 deletions
diff --git a/tinyusb/common/compiler/compiler.h b/tinyusb/common/compiler/compiler.h index 738711416..4c81047c7 100644 --- a/tinyusb/common/compiler/compiler.h +++ b/tinyusb/common/compiler/compiler.h @@ -49,6 +49,7 @@ #ifndef _TEST_ #define STATIC_ static #define INLINE_ inline + #define ATTR_TEST_WEAK #if TUSB_CFG_DEBUG == 3 #define ATTR_ALWAYS_INLINE // no inline for debug = 3 @@ -56,12 +57,13 @@ #else #define STATIC_VAR static #endif - #define ATTR_TEST_WEAK + #else #define ATTR_ALWAYS_INLINE #define STATIC_ #define STATIC_VAR #define INLINE_ + #endif #if defined(__GNUC__) diff --git a/tinyusb/common/compiler/compiler_iar.h b/tinyusb/common/compiler/compiler_iar.h index cd94f5b2f..7103ee092 100644 --- a/tinyusb/common/compiler/compiler_iar.h +++ b/tinyusb/common/compiler/compiler_iar.h @@ -57,17 +57,9 @@ #define ATTR_PACKED_STRUCT(x) __packed x #define ATTR_PREPACKED __packed #define ATTR_PACKED +//#define ATTR_SECTION(section) _Pragma((#section)) -#define ATTR_ALIGNED(Bytes) ATTR_ALIGNED_##Bytes -#define ATTR_ALIGNED_4096 _Pragma("data_alignment=4096") -#define ATTR_ALIGNED_2048 _Pragma("data_alignment=2048") -#define ATTR_ALIGNED_256 _Pragma("data_alignment=256") -#define ATTR_ALIGNED_128 _Pragma("data_alignment=128") -#define ATTR_ALIGNED_64 _Pragma("data_alignment=64") -#define ATTR_ALIGNED_48 _Pragma("data_alignment=48") -#define ATTR_ALIGNED_32 _Pragma("data_alignment=32") -#define ATTR_ALIGNED_16 _Pragma("data_alignment=16") -#define ATTR_ALIGNED_4 _Pragma("data_alignment=4") +#define ATTR_ALIGNED(bytes) _Pragma(XSTRING_(data_alignment=##bytes)) #ifndef ATTR_ALWAYS_INLINE /// Generally, functions are not inlined unless optimization is specified. For functions declared inline, this attribute inlines the function even if no optimization level is specified |
