#ifndef _UTIL_H_ #define _UTIL_H_ #define ENDIAN_SWAP(a) (((a&0xFF)<<24)|((a&0xFF0000)>>8)|((a&0xFF00)<<8)|((a&0xFF000000)>>24)) /* Memory Allocation for decoing the s-record */ extern void *flasher_alloc_mem( uint32_t size ); extern uint32_t get_current_mem_loc( void ); extern void set_current_mem_loc( uint32_t value ); /*************************************************************** CRC32: ***************************************************************/ #define CRC32_POLY 0x04C11DB7 #define CRC32_INIT 0xFFFFFFFF #define CRC32_FINAL 0xFFFFFFFF #define CRC32_TABLE_SIZE 256 extern uint32_t crc32_table[]; /*************************************************************** CRC-32-IEEE 802.3: ================= Polynomial: x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 +x + 1 (0x04C11DB7) or 0xEDB88320 (0xDB710641) Initial value: 0xFFFFFFFF ***************************************************************/ extern int get_crc32( uint32_t *crc, uint8_t *buf, int len ); #endif /* _UTIL_H_ */