Error mem viewer almost finished
This commit is contained in:
26
error-mem-viewer/src/crc.c
Normal file
26
error-mem-viewer/src/crc.c
Normal file
@@ -0,0 +1,26 @@
|
||||
#include <error-mem-viewer/crc.h>
|
||||
|
||||
uint32_t do_crc(uint32_t init, uint32_t data)
|
||||
{
|
||||
uint32_t crc = init;
|
||||
uint32_t cnt;
|
||||
|
||||
for(cnt=0; cnt < 32; cnt++)
|
||||
{
|
||||
crc = ((int32_t)(crc ^ data))<0 ? (crc << 1) ^ 0x04C11DB7 : crc << 1;
|
||||
data <<=1;
|
||||
}
|
||||
|
||||
return crc;
|
||||
}
|
||||
|
||||
uint32_t calculate_stm_crc(uint32_t *data, size_t len)
|
||||
{
|
||||
uint32_t crc = ~0U;
|
||||
|
||||
while(len--) {
|
||||
crc = do_crc(crc, *data++);
|
||||
}
|
||||
|
||||
return crc;
|
||||
}
|
Reference in New Issue
Block a user