es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: CRC

¿Cómo sabe el bootloader el valor de CRC “esperado”?

Digamos que tenemos un firmware y un cargador de arranque. Cuando flasheamos ambos en el dispositivo, durante el arranque, el cargador de arranque conocería un CRC “esperado” a partir de la imagen binaria del firmware. El cargador de arranque compararía el valor de CRC esperado con el valor de CRC . . . Read more

¿Cómo funciona el CRC16 utilizando datos de bytes? (para la implementación de CAN bus)

Tengo problemas para implementar un CRC16 para mensajes de CAN, he seguido las instrucciones dadas por este sitio web https://barrgroup.com/embedded-systems/how-to/crc-calculation-c-code y http://www.sunshine2k.de/articles/coding/crc/understanding_crc.html#ch5, además de otras implementaciones que he visto aquí (por ejemplo https://stackoverflow.com/questions/10564491/function-to-calculate-a-crc16-checksum). No entiendo cómo se procesa. Mi mensaje aquí está en forma de bytes, por ejemplo char message[4] . . . Read more

Aclaración acerca del cálculo de CRC16.

Estoy tratando de calcular CRC por primera vez. He leído algunas páginas que explican qué es el CRC y cómo calcularlo. Principalmente esto: https://www.fatalerrors.org/a/implementation-of-crc-checksum-c-crc16-as-an-example.html Tengo un código que calcula CRC16 uint16_t CalCrc(uint16_t crc_initial, uint8_t* buf, uint16_t len, uint16_t POLY) { unsigned int byte; unsigned char k; unsigned short ACC, TOPBIT; . . . Read more

Cálculo de CRC en segmentos

Tengo un problema al intentar calcular el CRC en trozos. Este es el código: unsigned int crc32(const unsigned char *buf, int len, unsigned int init){ unsigned int crc = init; while (len–){ crc = (crc << 8) ^ crc32_table[((crc >> 24) ^ *buf) & 255]; buf++; } return crc ^ . . . Read more

Python: estableciendo el polinomio generador en zlib.crc32

Estoy intentando usar zlib.crc32 para calcular el CRC en Python. Me gustaría poder establecer el polinomio generador del CRC, pero no puedo encontrar ninguna documentación. Entonces la pregunta es: ¿esto se puede hacer? Sé que existe la biblioteca crcmod que puede hacer esto, pero en mi caso solo quiero usar . . . Read more