<?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>nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39261/nrfutil-generates-wrong-crc</link><description>nrfutil settings generate&amp;quot; gives different CRC value from what bootloader calculates. Besides, I used JLinkExe savebin to dump application from DUT and the calculated CRC matches bootloader&amp;#39;s value. It looks like nrfutil is problematic. 
 macOS 10.14</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 14 Jul 2023 14:54:36 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39261/nrfutil-generates-wrong-crc" /><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/436542?ContentTypeID=1</link><pubDate>Fri, 14 Jul 2023 14:54:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4aee220c-9e4a-4226-b467-6f365186fcf8</guid><dc:creator>erk1313</dc:creator><description>&lt;p&gt;I just wanted to confirm that when IAR outputs a binary, it did not adhere to word alignment, which caused the CRC to differ compared to nrfUtil. and the crc32 in the SDK .&amp;nbsp; &amp;nbsp;Had to use srecord to pad the binary first.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/253607?ContentTypeID=1</link><pubDate>Fri, 05 Jun 2020 18:37:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:43d8b32f-fdb8-4633-8aab-78f72b49e7a0</guid><dc:creator>mtsunstrum</dc:creator><description>&lt;p&gt;Thanks Vidar, your magic solved my problem. Setting up SES to program with the hex file, rather than it&amp;#39;s default .elf file seemed to solve the problem for me.&lt;/p&gt;
&lt;p&gt;I think we have finally gotten to the root of it.&lt;/p&gt;
&lt;p&gt;To answer some of your questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It would happen on both Debug (no optimizations) and Release builds&lt;/li&gt;
&lt;li&gt;It would happen only on SES versions greater than 4.12&lt;/li&gt;
&lt;li&gt;It would happen across different nRF52 applications, so did not seem to be related to the nature of the application being built.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks again !&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/253261?ContentTypeID=1</link><pubDate>Thu, 04 Jun 2020 11:26:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0da63cca-3569-467d-ac21-008e63ac8c35</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello, I haven&amp;#39;t had any luck replicating this with ses 4.52b. I made sure the __heap_lock and __heap_link part of the lib didn&amp;#39;t get discarded by the linker. What I remember from earlier experiments with this is that the problem occurred only for some builds and that unrelated code changes could make it work again. So my guess was that it had to do with code alignment. Have you tried with and without code optimization enabled to see if it leads to the same result?&lt;/p&gt;
&lt;p&gt;A possible solution is to make SES program the hex output instead and only load the debug information from the .elf output. Could you try that? The screenshots below show the two project settings you would need to change for this.&lt;/p&gt;
&lt;p&gt;Program the generated *.hex instead of the *.elf file:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-db42f7da676e4667a71b33f96625090f/pastedimage1591268727457v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Load debug symbols from *.elf file&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-db42f7da676e4667a71b33f96625090f/pastedimage1591268755336v2.png" alt=" " /&gt;&lt;/p&gt;
[quote user="mtsunstrum"]As for&amp;nbsp;0x00075000, I am not sure who is manipulating that. I assume that is partly from settings.hex, but I don&amp;#39;t see DEADC0DE marking ... whatever that means.[/quote]
&lt;p&gt;It&amp;#39;s the magic words used by FDS to tag its allocated flash pages, see &lt;span&gt;&lt;a title="Page tag" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_fds_format.html?cp=7_1_3_56_2_1#lib_fds_format_page"&gt;Page tag. &lt;/a&gt;&lt;/span&gt;&lt;span&gt;It&amp;#39;s written at runtime by the fds_init(), so that&amp;#39;s why you don&amp;#39;t see it when the checksum validation fails.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
[quote user="mtsunstrum"]I don&amp;#39;t think it is prudent for us to disable CRC checking.&amp;nbsp;[/quote]
&lt;p&gt;&amp;nbsp;I understand. I wouldn&amp;#39;t recommend disabling it for FW going into production. It could make it easier to work with the bootloader during development.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/253130?ContentTypeID=1</link><pubDate>Wed, 03 Jun 2020 19:19:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:caddee3e-0f2d-44a7-86a4-88859b626033</guid><dc:creator>mtsunstrum</dc:creator><description>&lt;p&gt;Note that above information is when using SES 4.52b to program the flash memory (Application/Settings.hex)&lt;/p&gt;
&lt;p&gt;If I go back to SES 4.12b and run the same tests, the nrfjprog dump shows they have perfectly matched dump contents byte for byte across the whole 512KB range.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/253123?ContentTypeID=1</link><pubDate>Wed, 03 Jun 2020 18:55:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0124ab8d-acb0-4859-9a1d-69d27cb60a94</guid><dc:creator>mtsunstrum</dc:creator><description>&lt;p&gt;OK, I have time to get back at this odd issue.&lt;/p&gt;
&lt;p&gt;As mentioned previously SES 4.12 and less works fine when flash programming via SES.&lt;/p&gt;
&lt;p&gt;For any SES version greater than 4.12 I see this issue.&amp;nbsp; But SES 4.12 is kind of unstable, crashes a lot, so looking to move to a newer SES version.&lt;/p&gt;
&lt;p&gt;My application memory settings are below:&lt;/p&gt;
&lt;p&gt;FLASH_PH_START=0x0&lt;br /&gt;FLASH_PH_SIZE=0x80000&lt;br /&gt;RAM_PH_START=0x20000000&lt;br /&gt;RAM_PH_SIZE=0x10000&lt;br /&gt;FLASH_START=0x26000&lt;br /&gt;FLASH_SIZE=0x52000&lt;br /&gt;RAM_START=0x20002a98&lt;br /&gt;RAM_SIZE=0xd568&lt;/p&gt;
&lt;p&gt;In SES, I leave Linker &amp;quot;Default Fill Pattern&amp;quot; and &amp;quot;Additional Output File Gap Fill Value&amp;quot; to &amp;#39;None&amp;#39;.&lt;/p&gt;
&lt;p&gt;Proceeded to use nrfjprog to dump whole contents of Flash memory to see differences.&lt;/p&gt;
&lt;p&gt;( I can supply complete dump files if needed)&lt;/p&gt;
&lt;p&gt;In Application/Settings.hex file range, only differences are:&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;SES Flash programming of Application/Settings.hex file ... does not&amp;nbsp;pass Bootloader CRC&lt;/p&gt;
&lt;p&gt;0x00032310: 47704770 &lt;strong&gt;0000&lt;/strong&gt;4770 0002D37D 00000000&amp;nbsp;&lt;/p&gt;
&lt;p&gt;0x00075000: &lt;strong&gt;FFFFFFFF FFFFFFFF&lt;/strong&gt; FFFFFFFF FFFFFFFF&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;nrfjprog &lt;span&gt;programming of Application/Settings.hex file ... works perfectly&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;0x00032310: 47704770 &lt;strong&gt;FFFF&lt;/strong&gt;4770 0002D37D 00000000&amp;nbsp;&lt;/p&gt;
&lt;p&gt;0x00075000: &lt;strong&gt;DEADC0DE F11E01FF&lt;/strong&gt; FFFFFFFF FFFFFFFF&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Looking at address&amp;nbsp;&lt;span&gt;0x00032310, map file indicates some code at end of SES libc library functions for&amp;nbsp;heap_lock and&amp;nbsp;heap_unlock.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; .text.libc.strlen&lt;br /&gt; 0x00000000000322b2 0x60 C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 4.52b/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi.a(libc2_asm.o)&lt;br /&gt; 0x00000000000322b2 strlen&lt;br /&gt; .text.libc.__heap_lock&lt;br /&gt; 0x0000000000032312 0x2 C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 4.52b/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi.a(libc.o)&lt;br /&gt; 0x0000000000032312 __heap_lock&lt;br /&gt; .text.libc.__heap_unlock&lt;br /&gt; 0x0000000000032314 0x2 C:/Program Files/SEGGER/SEGGER Embedded Studio for ARM 4.52b/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi.a(libc.o)&lt;br /&gt; 0x0000000000032314 __heap_unlock&lt;br /&gt; 0x0000000000032316 __text_end__ = (__text_start__ + SIZEOF (.text))&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;span&gt;As for&amp;nbsp;0x00075000, I am not sure who is manipulating that. I assume that is partly from settings.hex, but I don&amp;#39;t see DEADC0DE marking ... whatever that means.&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;span&gt;If I change&amp;nbsp;Linker &amp;quot;Default Fill Pattern&amp;quot; and &amp;quot;Additional Output File Gap Fill Value&amp;quot; to &amp;#39;0xFF&amp;#39;, I can see it fill in some areas with FF.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;But the behavior is the same. SES Flash programming fails, nrfjprog is happy.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;A diff on their hex files shows the exact same differences as my dump above.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Note that fill 0xFF did not fill FF into address 0x00032314&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;My guess is this is the root of the issue ...&lt;/span&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Any help from the flash programming / Bootloader CRC experts is much appreciated.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t think it is prudent for us to disable CRC checking.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks, Martin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/250806?ContentTypeID=1</link><pubDate>Tue, 19 May 2020 16:58:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1e105701-b6a7-4891-9169-ceca9cb8fb45</guid><dc:creator>mtsunstrum</dc:creator><description>&lt;p&gt;Thanks Vidar ... good to know about SES using .elf instead of .hex&lt;/p&gt;
&lt;p&gt;Yes, I had on my notes to do a flash readback comparison.&lt;/p&gt;
&lt;p&gt;I will revisit this early next week and give that a try.&lt;/p&gt;
&lt;p&gt;Thanks, Martin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/250084?ContentTypeID=1</link><pubDate>Fri, 15 May 2020 06:14:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b607bee4-84f3-4857-bfa6-61273815005a</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Another difference is that SES loads the *.elf output file instead of the *.hex output. So I still suspect it may be related to padding. Have you tried to read back the flash to see what the difference is?&lt;/p&gt;
&lt;p&gt;Comparing flash with nrfjprog:&lt;/p&gt;
&lt;p&gt;1. Program the app with SES then run &amp;quot;nrfjprog --memrd 0x0 --n 0x80000 &amp;gt; flash_dump_after_programming_with_ses.txt&amp;quot;&lt;/p&gt;
&lt;p&gt;2. Program the same FW with nrfjprog and run &amp;quot;nrfjprog --memrd 0x0 --n 0x80000 &amp;gt; flash_dump_after_programming_with_nrfjprog.txt&amp;quot;&lt;/p&gt;
&lt;p&gt;3. Run a &amp;#39;Diff&amp;#39; on the two text files&lt;/p&gt;
&lt;p&gt;Note that there is an option to easily disable CRC boot validation with the newer bootloaders. You just select no boot validation when you generate the settings page.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/250076?ContentTypeID=1</link><pubDate>Fri, 15 May 2020 04:17:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0573a0bf-d34c-4293-9157-7736281e76cd</guid><dc:creator>mtsunstrum</dc:creator><description>&lt;p&gt;I think I am experiencing the exact same problem, but pretty close to concluding it is not a nrfutil problem.&lt;/p&gt;
&lt;p&gt;Rather it seems to be a SES / J-Link flash programming issue.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;I have been using SES 4.12 for over a year now. Our project has a DFU bootloader, and our application&amp;nbsp;.emproject has been set to do a post-build generation of a setting.hex (CRC) file.&lt;/p&gt;
&lt;p&gt;Via SES IDE, we load both application and settings.hex file via Debug-&amp;gt;Go&lt;/p&gt;
&lt;p&gt;So we can do a nice debug session, in the presence of our DFU Bootloader.&lt;/p&gt;
&lt;p&gt;settings.hex is generated&amp;nbsp;our batch file, which uses &lt;strong&gt;nrfutil&lt;/strong&gt; to generate the updated file.&lt;/p&gt;
&lt;p&gt;As mentioned, this has worked for a long time now. &lt;strong&gt;Flawless&lt;/strong&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Feeling that I should upgrade SES, I upgraded to SES 4.18.&lt;/p&gt;
&lt;p&gt;With NO changes in our project setup, we can no longer properly debug via SES. Code remains in DFU Bootloader due to CRC error.&lt;/p&gt;
&lt;p&gt;Only differences between a 4.12 and 4.12 build is the SES provided thumb_crt0.s file. Minor differences. Tried replacing our 4.18&amp;#39;s with the 4.12 thumb_crt0.s file ... but no difference.&lt;/p&gt;
&lt;p&gt;Tried above discussion on fill patterns. Tried 0x00 and 0xFF. No difference.&lt;/p&gt;
&lt;p&gt;Tried newer SES versions ... 4.50, 4.52b. No difference.&lt;/p&gt;
&lt;p&gt;Interestingly, I merged my 4 hex files (Bootloader, Softdevice, settings.hex, and our Application), and flashed nRF52 device using &lt;strong&gt;nrfjprog&lt;/strong&gt;, and everything works perfectly.&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;The ONLY difference hence is how the nRF52 device is programmed. SES IDE will use J-Link utilities, not nrfjprog.&lt;/p&gt;
&lt;p&gt;That is why Vidar Berg mentions his &lt;strong&gt;nrfjprog&lt;/strong&gt; method always works.&lt;/p&gt;
&lt;p&gt;But that is not convenient when using SES IDE ...&lt;/p&gt;
&lt;p&gt;Possible that there is a weakness in the &lt;strong&gt;nrfutil&lt;/strong&gt; calculations that are not tolerant to differences in how J-Link programs&amp;nbsp;flash ... so solution may need to be a co-operative effort with Segger / Nordic.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;Stepped back to SES 4.12 and works perfectly.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Appears to use &lt;strong&gt;J-Link 6.40&lt;/strong&gt; version ... whereas newer SES versions use newer J-Link (6.54c, 6.70, ...)&lt;/p&gt;
&lt;p&gt;Hence, I have my strong suspicions that there is some subtlety&amp;nbsp;in J-Link&amp;#39;s programming that causes CRC error ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/152177?ContentTypeID=1</link><pubDate>Tue, 09 Oct 2018 09:21:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dcf09c91-018e-46f5-b097-c2ffa2cdd7af</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Ok good, so it works with SES now. Just let me know if you want to revisit this when you have more time and try finding the root cause.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/152169?ContentTypeID=1</link><pubDate>Tue, 09 Oct 2018 08:49:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2b8567f6-4a7f-47dc-b79d-e7477f18652e</guid><dc:creator>XavierYin</dc:creator><description>&lt;p&gt;I &amp;quot;thought&amp;quot; I was all default as you did. But perhaps I did missed somewhere.&lt;br /&gt;(BTW, I program by SES instead of using nrfjprog. I guess they should have the same effect...&lt;/p&gt;
&lt;p&gt;By loading &amp;amp; debugging w/&amp;nbsp;your setup, together with using both arm_linker_additional_output_file_gap_fill=&amp;quot;0xff&amp;quot; and&lt;br /&gt;&lt;span style="font-family:inherit;"&gt;arm_linker_script_generator_default_fill_pattern=&amp;quot;0xff&amp;quot;&lt;br /&gt;I&amp;#39;m now happy working with SES.&lt;br /&gt;(I also used user build steps for setting page)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Sorry that at I&amp;#39;m now chasing the schedule and may not afford to do more experiments at least for a week. Thanks for &lt;a href="https://devzone.nordicsemi.com/members/vibe"&gt;Vidar Berg&lt;/a&gt;. I&amp;#39;ll try to get back to this ticket when possible.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/152162?ContentTypeID=1</link><pubDate>Tue, 09 Oct 2018 08:28:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f5b8517e-6900-4af2-81c2-568f44eec654</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks, I was not aware of this option. However, I&amp;#39;ve been using the default configuration. Also compared the elf and hex file you gave, they both result in the same data being loaded to flash.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I was not able to reproduce the&amp;nbsp;CRC error with the hex files you provided. I uploaded the bootloader settings pag and app.hex file in addition to stock bootloader and softdevice.&amp;nbsp;&lt;span&gt;CRC: 0x243A6A75 did match in my case. Do you have any code that could potentially modify data in the application region at runtime? Can you try the default bootloader and see if you get the same result?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Commands I used:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;nrfjprog --program softdevice.hex --chiperase&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;nrfjprog --program bootloader.hex&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;nrfjprog --program app.hex&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;nrjprog --program settings_page.hex --sectorerase -r&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/152092?ContentTypeID=1</link><pubDate>Mon, 08 Oct 2018 15:01:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bf4e86eb-e528-4d1d-802e-e0a127cfde7b</guid><dc:creator>XavierYin</dc:creator><description>&lt;p&gt;Hi &lt;a href="https://devzone.nordicsemi.com/members/vibe"&gt;Vidar Berg&lt;/a&gt;&amp;nbsp;&lt;br /&gt;Do you use&amp;nbsp;arm_linker_additional_output_file_gap_fill=&amp;quot;0xff&amp;quot; in your .emProject so it fills the gap with 0xff?&lt;/p&gt;
&lt;p&gt;By default, without filling gap as all SDK examples, it looks the same either by programming with elf or hex. But with gap filling 0xff I can observe the inserted bytes in hex and the dump will have the same CRC as setting page.&lt;/p&gt;
&lt;p&gt;I think the problem is about nrfutil since it generates the same CRC for both version of hex, with or without gap filling. I suspect there nrfutil&amp;nbsp;assumes&amp;nbsp;gaps as 0xff, kind of following the fact that erased regions on flash contains 0xff. Thus whether filling gap with 0xFF makes no difference to it. And the cause for problem is SES programs elf by default and assumes 0x00.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrfutil generates wrong CRC</title><link>https://devzone.nordicsemi.com/thread/152051?ContentTypeID=1</link><pubDate>Mon, 08 Oct 2018 12:33:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba77a58e-19c5-430b-b6b3-283bd25b41a1</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;In Segger embedded studio, can you try to upload the .hex file instead of the .elf file? I suspect this is may be related to the observation I made here:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/37507/buttonless-dfu-debugging-problem/144353#144353"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/37507/buttonless-dfu-debugging-problem/144353#144353&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>