Stlink: [característica] Calcular sumas de comprobación para operaciones flash

Creado en 24 feb. 2020  ·  13Comentarios  ·  Fuente: stlink-org/stlink

Hola,

¿Hay alguna forma de obtener la suma de comprobación de un binario? como la herramienta st-link tiene en windows? Quiero comparar dos binarios generados en mi computadora y uno estándar.

codfeature-request componenst-flash generadocumention staturesolved

Todos 13 comentarios

¿Te refieres a una suma de comprobación de la memoria en el dispositivo? ¿Y comparar eso con un archivo en su computadora?

Estaba pensando en un archivo binario, en mi caso de uso estaba teniendo problemas con un binario compilado en mi computadora y uno descargado, el código fuente era el mismo, pero los binarios no coincidían, estaba usando una cadena de herramientas más nueva, así que el nuevo binario estaba corrupto

en la herramienta st-link cuando carga un binario, ti calcula una suma de comprobación, así que lo usé para averiguar cuándo tenía la cadena de herramientas correcta

https://i.ibb.co/5TS7twF/figure.png

Ah bien. Estas herramientas no hacen eso por ti tal como están. En Windows, puedo recomendar el editor hexadecimal HxD para sumar un archivo binario (o simplemente comparar dos archivos binarios rápidamente). ¿Estás en Windows?

@vitormhenrique : Desafortunadamente, no puedo leer el contenido de la imagen que vinculó porque la resolución es demasiado baja para eso. ¿Puedes pegar una captura de pantalla más grande o un detalle relevante de la misma?

ni idea de por qué esa imagen era tan pequeña ...

https://i.ibb.co/mq8vvpP/pic.png

Ya veo, así que en realidad estamos buscando una solicitud de función aquí.
El flashloader verifica la integridad del contenido flasheado detrás de escena, así que supongo que esta funcionalidad se puede ampliar. Quiere ser visto sin duda.

Si no se dan limitaciones de algoritmos especiales, creo que es bastante fácil integrar algún algoritmo de suma de comprobación (md5, sha256, etc.) en el proceso de carga de archivos. Quizás pueda intentarlo cuando esté libre.

La utilidad stlink (la de la captura) define la suma de comprobación en su documentación (UM0892) como una simple suma aritmética, truncada a 32 bits ... (suspiro)

Suma de comprobación de memoria
Calcula el valor de la suma de control de una zona de memoria especificada definida por el
la dirección y los campos de tamaño en la sección de visualización de la memoria de la ventana principal.
La suma de comprobación se calcula en función de un algoritmo de suma aritmética, byte por
byte. El resultado se trunca a una palabra de 32 bits.
El valor de la suma de comprobación se muestra en la ventana de registro

Si bien esto es bastante burdo y no es realmente confiable, es barato de implementar y sería bueno mantener la "compatibilidad" con st-utility.

@grevaillot Gracias por su información,

¿Deberíamos tener alguna documentación para esto en nuestro tutorial?

El algoritmo utilizado por el programa de Windows de ST puede necesitar una documentación al menos para los desarrolladores, creo.

Ok, ¿puedes agregar una sección con algunas líneas a nuestro tutorial entonces (al final de la parte revisada)? Eso estaría bien. Sin embargo, no se preocupe demasiado por formatear allí, ya que todavía estoy trabajando en este documento de todos modos ...

Todavía me pregunto si los dos métodos deberían fusionarse todos juntos.
Si es así, es posible que deba ajustar las dos funciones para obtener un mejor formato. Las dos confirmaciones actuales causarían un resultado demasiado detallado.

¿Fue útil esta página
0 / 5 - 0 calificaciones