<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>nRF52 CRCSTATUS</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/61978/nrf52-crcstatus</link><description>I&amp;#39;m making my own protocol on nRF52832 devices and I&amp;#39;m wondering if there&amp;#39;s any possibility to have data corruption when CRCSTATUS contains CRCOK value. 
 I&amp;#39;d like to get rid of my extra CRC that put on the payload if CRCSTATUS can ensure data integrity</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 25 Aug 2020 12:48:13 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/61978/nrf52-crcstatus" /><item><title>RE: nRF52 CRCSTATUS</title><link>https://devzone.nordicsemi.com/thread/266239?ContentTypeID=1</link><pubDate>Tue, 25 Aug 2020 12:48:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80ac9d76-fc7d-4355-8156-fe6e78153bf8</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;Hi Hugh,&lt;/p&gt;
&lt;p&gt;sorry, we&amp;#39;re using Keil and clang, no experience with SES. I believe they use standard algorithm, the only things to adjust are polynomial, initial value and their endiannes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 CRCSTATUS</title><link>https://devzone.nordicsemi.com/thread/265825?ContentTypeID=1</link><pubDate>Fri, 21 Aug 2020 16:01:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a2185a56-d29b-4b20-bd7f-fdeed37c0148</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Hi Dmitry, unrelated question, have you used&amp;nbsp;BinaryFile.crc32() in Segger? &lt;a href="https://studio.segger.com/index.htm?https://studio.segger.com/ide_script_class_BinaryFile.htm"&gt;script_class_BinaryFile.htm&lt;/a&gt;&amp;nbsp;Looks like emScript allows calculation and placement of a 32-bit CRC. We currently use what looks like the same CRC32 but require a simple external tool to calculate and insert in the hex file rather than running the code then editing the project. srec_cat allows this, but gives a different hex CRC32.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;srec_cat manuf_driver3-832.hex -i -crop 0 0x0158D0 -fill 0xFF 0 0x0158D0 -STM32_Little_Endian 0x0158D4 -o a1.hex -i&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Worst-case we have to modify the code to match srec_cat calculation, but I&amp;#39;d rather use a SES script which runs on every build to populate the CRC vector. There is an example of build number increment on page 892 of the v4.52C manual, but time is short and I&amp;#39;d rather just copy something which already is tested ..&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 CRCSTATUS</title><link>https://devzone.nordicsemi.com/thread/252519?ContentTypeID=1</link><pubDate>Sat, 30 May 2020 18:38:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cf8b0262-6dc9-4318-b86f-2176c2c66ffe</guid><dc:creator>Dmitry</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The probability of having a corrupted data with right CRC24 is 1/(2^24). It&amp;#39;s not related to&amp;nbsp;&lt;span&gt;nRF52832, just mathematics. If you need better reliablilty, you have to use CRC32 implemented in software.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>