mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-31 05:52:55 +08:00
Merge pull request #571 from HiFiPhile/iar_fifo
Fix IAR error on memcpy and warnings.
This commit is contained in:
commit
08f8f488a0
@ -30,6 +30,12 @@
|
|||||||
#include "osal/osal.h"
|
#include "osal/osal.h"
|
||||||
#include "tusb_fifo.h"
|
#include "tusb_fifo.h"
|
||||||
|
|
||||||
|
// Supress IAR warning
|
||||||
|
// Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement
|
||||||
|
#if defined(__ICCARM__)
|
||||||
|
#pragma diag_suppress = Pa082
|
||||||
|
#endif
|
||||||
|
|
||||||
// implement mutex lock and unlock
|
// implement mutex lock and unlock
|
||||||
#if CFG_FIFO_MUTEX
|
#if CFG_FIFO_MUTEX
|
||||||
|
|
||||||
@ -106,7 +112,7 @@ static void _ff_push_n(tu_fifo_t* f, void const * data, uint16_t n, uint16_t wRe
|
|||||||
memcpy(f->buffer + (wRel * f->item_size), data, nLin*f->item_size);
|
memcpy(f->buffer + (wRel * f->item_size), data, nLin*f->item_size);
|
||||||
|
|
||||||
// Write data wrapped around
|
// Write data wrapped around
|
||||||
memcpy(f->buffer, data + nLin*f->item_size, (n - nLin) * f->item_size);
|
memcpy(f->buffer, ((uint8_t const*) data) + nLin*f->item_size, (n - nLin) * f->item_size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -131,7 +137,7 @@ static void _ff_pull_n(tu_fifo_t* f, void * p_buffer, uint16_t n, uint16_t rRel)
|
|||||||
memcpy(p_buffer, f->buffer + (rRel * f->item_size), nLin*f->item_size);
|
memcpy(p_buffer, f->buffer + (rRel * f->item_size), nLin*f->item_size);
|
||||||
|
|
||||||
// Read data wrapped part
|
// Read data wrapped part
|
||||||
memcpy(p_buffer + nLin*f->item_size, f->buffer, (n - nLin) * f->item_size);
|
memcpy((uint8_t*)p_buffer + nLin*f->item_size, f->buffer, (n - nLin) * f->item_size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user