1 #ifndef _BFLB_COMMON_H 2 #define _BFLB_COMMON_H 3 4 #include "stdint.h" 5 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 /** 11 * @brief 12 * 13 * @param [in] dst 14 * @param [in] src 15 * @param [in] n 16 * @return void* 17 */ 18 void *arch_memcpy(void *dst, const void *src, uint32_t n); 19 20 /** 21 * @brief 22 * 23 * @param [in] s 24 * @param [in] c 25 * @param [in] n 26 * @return void* 27 */ 28 void *arch_memset(void *s, uint8_t c, uint32_t n); 29 30 /** 31 * @brief 32 * 33 * @param [in] s1 34 * @param [in] s2 35 * @param [in] n 36 * @return int 37 */ 38 int arch_memcmp(const void *s1, const void *s2, uint32_t n); 39 40 /** 41 * @brief 42 * 43 * @param [in] dst 44 * @param [in] src 45 * @param [in] n 46 * @return uint32_t* 47 */ 48 uint32_t *arch_memcpy4(uint32_t *dst, const uint32_t *src, uint32_t n); 49 50 /** 51 * @brief 52 * 53 * @param [in] pdst 54 * @param [in] psrc 55 * @param [in] n 56 * @return void* 57 */ 58 void *arch_memcpy_fast(void *pdst, const void *psrc, uint32_t n); 59 60 /** 61 * @brief 62 * 63 * @param [in] dst 64 * @param [in] val 65 * @param [in] n 66 * @return uint32_t* 67 */ 68 uint32_t *arch_memset4(uint32_t *dst, const uint32_t val, uint32_t n); 69 70 /** 71 * @brief 72 * 73 * @param [in] cnt 74 */ 75 void arch_delay_us(uint32_t cnt); 76 77 /** 78 * @brief 79 * 80 * @param [in] cnt 81 */ 82 void arch_delay_ms(uint32_t cnt); 83 84 /** 85 * @brief 86 * 87 * @param [in] in 88 * @param [in] len 89 * @return [in] uint16_t 90 */ 91 uint16_t bflb_soft_crc16(void *in, uint32_t len); 92 93 /** 94 * @brief 95 * 96 * @param [in] in 97 * @param [in] len 98 * @return [in] uint32_t 99 */ 100 uint32_t bflb_soft_crc32(void *in, uint32_t len); 101 102 #ifdef __cplusplus 103 } 104 #endif 105 106 #endif