Using various online CRC32 calculators such as I discovered that the CRC32 of the ascii character ‘a’ is 0圎8B7BE43. Then I recommend watching this YouTube video () because it goes through a simple example with some degree of explanation.įinally this link ( is good reading too.
This link ( ) is pretty good and I recommend reading the links to resources within that. The first thing I had to do was a lot of ground work. It took me a couple of weeks because I was reading everything in my path. So what better way than to try and replicate a calculation by hand. What I wanted to do was to understand how it is calculated. There are plenty of online calculators that will help you automatically calculate the CRC32 of a given value.
To fill multiple areas, e.g.A 32 bit Cyclical Redundancy Check is a means of error detection in data transmission. For this I can use the -fill command: -fill If building a CRC over a memory area with gaps, I need to define it first. Typically a data file as the Motorola S19/SRecord only describes the bytes to be programmed, but not the ‘holes’ or gaps in the memory map. ? The -crop command crops (or cuts) everything out of the data except the range specified (the end address not included). Additionally, this allows me to inspect the memory of the target and compare it with what I have in my file. Using ‘-‘ as file name will write the output to the console.įor example srec_cat FRDM-KL25Z_CRC.srec -crop 0x500 0x530 -Output -hex-dump ? After the -Output option there is usually a file name. I can do this with the -hex-dump option: srec_cat -crop -Output -hex-dump One thing I’m using often is to do a memory dump of my s-record.
There are many good examples how to use it here: Crop and Generating a Hex Dump
Usually the linker main output file is an ELF/Dwarf file which has both code and debug information. ? The cool part is that they support ‘input generators’ and ‘filters’, see Generating S-Record Files So they easily can be used with make files, scripts or from IDEs as Eclipse. srec_cat: This tool is used to extract/add/create/merge/etc files.Īll the three tools are command line tools and have extensive support for options.This utility only tells you if two files are (memory-wise) different or not, but not more. srec_info: used to retrieve basic information about the file.
That site hosts as well a lot of good documentation, but if you are a (mostly) Windows user as I am, then be prepared for some Windows user bashing -).
Of course you can as well download the sources and build it yourself. Go to and download the binaries of your choice from. SRecord can read and generate pretty much any file format which is used for programming memory devices or microcontroller. ? As the name ‘SRecord’ suggests it deals with S-Records (or S19) files. It goes through the steps to create a checksum, add it to the binary image and checking that checksum in the application. Freescale Kinetis Design Studio, or any other Eclipse based toolchain using the GNU ARM Embedded (Liviu, ) with GNU for ARM (GNU for ARM Embedded (Launchpad): ). I’m using it in this post with Eclipse (e.g. It is a command line utility which runs on many platforms. The SRecord tool is an open source project on SourceForge ( ). GNU ARM Embedded/launchpad) toolchain does not include a CRC checksum calculation function, I’m showing how the SRecord utility can be used for this.