Paulus Checksum Tool (Paulus_CRC)

Paulus checks the received data by a CRC checksum. Therefore the application program has to have a header. This header can be generated with the port tool paulus_cksum.

The tool paulus_cksum are available as console program for Windows or Linux PCs.

Follow excerpt shows the option parameter from this tool:

$ paulus_cksum no input file usage: cksum [-a addr][-b addr][-d][-e addr][-F addr][-x execaddr] [-f format][-h][-j][-l length][-o filename][-P][-v][-V] file [2nd file] ... options: -a write CRC into input file at ’addr’ (default 0) -b start address of crc check range (default 0) -B Create Boot Record with -o -C use CANopen CRC algorithm -d with debug output -e end address of crc check range (incl.) -f crc data format (’little’ or ’big’ endian, default ’little’) -F Flash end address +1 (== Flash size)[Byte] -h display this help text -j join/mix 2 input files (e.g. for DSP images) -l length of appl. header [Byte] (default 128) -o write appl. header for bootloader into ’filename’ -O merge application header + binary into ’filename’ -P dsPic33 specific -v verbose operation -V display version information -x Set execute address (default 0, invalid)


Example: The download file for the application program s1_download.bin is generated about Windows console:

C:\jsc\Paulus_STM32F4xx\software\tools>paulus_cksum.exe -v -C -l 256 -x 0x08008100 s1_stm32f4xx.bin -O s1_download.bin reduce Flash end to file end: 0x0000599c reduce EndAddr to the Flash end 0x0000599b address - crc: 0x00000000, start: 0x00000000, end: 0x0000599b, exec 0x08008100 Flash end: 0x0000599c out: >s1_download.bin< input: >s1_stm32f4xx.bin< calc CRC from 0x00000000 to 0x0000599b size: 0x0000599c, crc: 0x0f5a Writing Appl. to >s1_download.bin<: length: 22940/0x599c, crc: 0x0f5a, execadr: 0x08008100

The calculated parameters application length, crc and the set entry address are transferred to the header of the download file.

More examples of using in different platforms are described: