<?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>Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/44560/two-issues-with-cc310-hw-cryptocell-linking-and-hanging</link><description>Hi, we stumbled into two issues when we enabled LESC in our application. 
 Relevant SDK config: 
 NRF_CRYPTO_ENABLED 
 NRF_CRYPTO_BACKEND_CC310_ENABLED 
 NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED 
 First one is that pm_init() will hang if called when NRF_CRYPTO_BACKEND_CC310_RNG_ENABLED</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 09 Feb 2022 18:17:23 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/44560/two-issues-with-cc310-hw-cryptocell-linking-and-hanging" /><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/352177?ContentTypeID=1</link><pubDate>Wed, 09 Feb 2022 18:17:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e99683c6-0461-4a6f-ba32-59a7d71c19ab</guid><dc:creator>evanperrygrove</dc:creator><description>&lt;p&gt;I hate to revive a dead thread, but I was having a very similar problem while migrating a project from SDK 15.0 to 15.3. My code was hanging on a DMB instruction somewhere inside SaSi_AesInit. Eventually, the watchdog timed out and the sensor would reboot.&lt;/p&gt;
&lt;p&gt;I realized that my sdk_config.h was missing a #define for NRF_CRYPTO_BACKEND_CC310_INTERRUPTS_ENABLED. As soon as I added this (and set it to 1), the problem went away. This appears to be a new macro that was introduced in 15.3 (I did not see it in a quick search of some example code from 15.2).&lt;/p&gt;
&lt;p&gt;I also applied jakkra&amp;#39;s patch, just to be safe.&lt;/p&gt;
&lt;p&gt;Now I&amp;#39;m dealing with a different crash, but the new one doesn&amp;#39;t appear to be related to CC310 &lt;span class="emoticon" data-url="https://devzone.nordicsemi.com/cfs-file/__key/system/emoji/1f609.svg" title="Wink"&gt;&amp;#x1f609;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/330919?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 18:19:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:323ff04f-5900-4206-918a-55a6b02170c2</guid><dc:creator>pieterg</dc:creator><description>&lt;p&gt;OK, the reflashing + timeout while erasing sectors when starting the debugger pointed me into the right direction;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The whole situation seems to be caused by having too many breakpoints.&lt;/p&gt;
&lt;p&gt;As soon as I have more than 5 breakpoints, the reflashing at program start occurs, and times out. After that, CRYS_RndInit hangs.&lt;/p&gt;
&lt;p&gt;As long as I have less than 6 breakpoints, no reflashing takes place, and CRYS_RndInit does not hang.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/330892?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 14:18:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b94f274d-7948-448c-b1cc-65dfba86a1db</guid><dc:creator>pieterg</dc:creator><description>&lt;p&gt;Interesting; I just noticed that when erasing the page takes that long, it actually times out:&lt;/p&gt;
&lt;p&gt;Timeout while erasing sectors, RAMCode did not respond in time. (PC = 0x00000000, CPSR = 0x00000000, LR = 0x01000003)!&lt;/p&gt;
&lt;p&gt;Failed to erase sectors.&lt;/p&gt;
&lt;p&gt;Programming failed @ address 0x00041958 (block verification error)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Not sure though whether this is the cause or a result of the actual problem...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/330887?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 14:11:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8a08578b-4c01-4b7e-9605-d3eef0f77e8d</guid><dc:creator>pieterg</dc:creator><description>&lt;p&gt;Unfortunately, the problem has come back, nrf_crpyto_rng_init hangs in CRYS_RndInit again.&lt;/p&gt;
&lt;p&gt;Even without having nrf_crypto_ecc_public_key_calculate in my code, which does not appear to be causing the problem after all (even though adding/removing it several times reproduced/removed the issue for sure)&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve tried to add sd_nvic_critical_region_enter/exit around nrf_crypto_init and nrf_crypto_rng_init which apparently helped the OP, but that does not help in my case.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;When I comment all of my nrf_crypto_ecc code, the problem disappears. Again, none of this code has been executed yet by the time CRYS_RndInit hangs, because this occurs in nrf_crypto_init (which calls nrf_crypto_rng_init internally because of NRF_CRYPTO_RNG_AUTO_INIT_ENABLED), way before anything interesting happens.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I do notice that before CRYS_RndInit is going to hang, when I start the application in the debugger, SEGGER IDE shows &amp;quot;Erasing range 0x41000-0x41FFF&amp;quot; and blocks for about 10s (erasing a single page normally does not take that long).&lt;/p&gt;
&lt;p&gt;Whenever erasing (because of reprogramming) a single page takes that long, I already know CRYS_RndInit is going to hang.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/330868?ContentTypeID=1</link><pubDate>Thu, 23 Sep 2021 13:10:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:91c160c3-f020-42f2-a7ff-deabea599f75</guid><dc:creator>pieterg</dc:creator><description>&lt;p&gt;I&amp;#39;ve just had the same problem, nrf_crypto_rng_init hangs in CRYS_RndInit.&lt;/p&gt;
&lt;p&gt;Not building SDK as a separate library.&lt;/p&gt;
&lt;p&gt;After a couple of hours I found out it occurs as soon as I reference nrf_crypto_ecc_public_key_calculate() in my code.&lt;/p&gt;
&lt;p&gt;(nrf_crypto_ecc_public_key_calculate will not work apparently with the cc310 backend, because it is not implemented by that backend, but because of the crypto init hanging, I never got to that point in my code where I even tried to call that function, and find out it was not implemented)&lt;/p&gt;
&lt;p&gt;Just linking that function causes CRYS_RndInit to hang.&lt;/p&gt;
&lt;p&gt;Now that I&amp;#39;ve removed the reference to nrf_crypto_ecc_public_key_calculate, nrf_crypto_rng_init works fine again, CRYS_RndInit no longer hangs.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Just posting this for reference, in case someone else gets into the same situation some day.&lt;/p&gt;
&lt;p&gt;My problem has been resolved (by avoiding nrf_crypto_ecc_public_key_calculate), so no action needed.&lt;/p&gt;
&lt;p&gt;Unless someone perhaps could clarify what happens here, because it puzzles me.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/254666?ContentTypeID=1</link><pubDate>Fri, 12 Jun 2020 10:28:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:29f0da5b-7014-4bce-ae4c-1bd0426e5da8</guid><dc:creator>WirelessCharging</dc:creator><description>&lt;p&gt;I had the same problem as OP which was solved by his patches. Running nRF52840 with SDK 15.3. Really annoying since it took like 5h to figure it out. I&amp;#39;m using Segger Embedded Studio v4.10. Note that I&amp;#39;m not building the SDK as its separate library hence the upvoted green answer to this thread did not help&amp;nbsp;in my case.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/184866?ContentTypeID=1</link><pubDate>Thu, 02 May 2019 11:52:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5dbc6488-141b-4ca6-9f75-939b9c2c16f6</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;That is probably the explanation, then. I recommend you stop building the SDK as a library, as that has been known to cause several problems. The dummy function probably works because it make the linker aware that the function is being used (it is missing from the section variable where it should have been), and that causes it to include it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/184849?ContentTypeID=1</link><pubDate>Thu, 02 May 2019 11:30:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f18a11db-8506-428e-a660-a0f837c38684</guid><dc:creator>pellepl</dc:creator><description>&lt;p&gt;Ah, yes, you&amp;#39;re right. The SDK is built and linked as a static library. &lt;/p&gt;
&lt;p&gt;This might be of an esoteric nature, but do you have any clue at all why it then works by adding a call to the dummy function?&lt;/p&gt;
&lt;p&gt;Thanks for all help! / Peter&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/184786?ContentTypeID=1</link><pubDate>Thu, 02 May 2019 08:29:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c3143208-a331-4f8e-ad7f-3f7fab0042e3</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi Peter,&lt;/p&gt;
&lt;p&gt;Do you by any chance build the SDK as a library, and then compile your application separately, linking it to the SDK? If so, that could explain this, as section variables require that everything is compiled together, if not they will not be populated.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/184620?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 14:03:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e619685-903f-42e1-968a-6eb5ad63c406</guid><dc:creator>pellepl</dc:creator><description>&lt;p&gt;Hi Einar,&lt;/p&gt;
&lt;p&gt;tried with the 6.3 q2 toolchain without any luck.&lt;/p&gt;
&lt;p&gt;I also tried removing `static` statement from the functions cc310_backend_init and cc310_backend_uninit without any result.&lt;/p&gt;
&lt;p&gt;And also tried adding __attribute__((used)) to the same functions - still they do not show up in the .crypto_data section.&lt;/p&gt;
&lt;p&gt;Tried removing gc-sections from linker flags just to try, but unfortunately this made sections overflow and could not get any leads from this.&lt;/p&gt;
&lt;p&gt;Edit:&lt;/p&gt;
&lt;p&gt;Further investigation indicates that the problem boils down to some issue in the libnrf_cc310_0.9.1.a.&lt;/p&gt;
&lt;p&gt;If I add print-gc-sections to our linker, and diff the output with and without jakkras fix, it turns out that following symbols are garbage collected by the linker without the fix:&lt;/p&gt;
&lt;p&gt;&amp;#39;.text.SaSi_PalInit&amp;#39;&lt;br /&gt;&amp;#39;.text.SaSi_PalTerminate&amp;#39;&lt;br /&gt;&amp;#39;.rodata.SaSi_PalInit.str1.4&amp;#39;&lt;br /&gt;&amp;#39;.text.SaSi_PalDmaInit&amp;#39;&lt;br /&gt;&amp;#39;.text.SaSi_PalDmaTerminate&amp;#39;&lt;br /&gt;&amp;#39;.text.SaSi_PalMutexCreate&amp;#39;&lt;br /&gt;&amp;#39;.text.SaSi_PalMutexDestroy&amp;#39;&lt;br /&gt;&amp;#39;.rodata.SaSi_PalMutexCreate.str1.4&amp;#39;&lt;br /&gt;&amp;#39;.text.SaSi_HalInit&lt;br /&gt;&amp;#39;.text.SaSi_HalTerminate&amp;#39;&lt;/p&gt;
&lt;p&gt;According to docs SaSi_PalInit should be called by SaSi_LibInit. SaSi_LibInit is called from&lt;/p&gt;
&lt;p&gt;static ret_code_t cc310_backend_init(void)&lt;/p&gt;
&lt;p&gt;which in turn is registered as&lt;/p&gt;
&lt;p&gt;CRYPTO_BACKEND_REGISTER(nrf_crypto_backend_info_t const cc310_backend) =&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .init_fn&amp;nbsp;&amp;nbsp;&amp;nbsp; = cc310_backend_init,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .uninit_fn&amp;nbsp; = cc310_backend_uninit,&lt;br /&gt;};&lt;/p&gt;
&lt;p&gt;in your cc310_backend_init.c.&lt;/p&gt;
&lt;p&gt;It is weird that SaSi_LibInit is not gc&amp;#39;ed but SaSi_PalInit is (without the fix). Again, it suggests something odd in libnrf_cc310_0.9.1.a.&lt;/p&gt;
&lt;p&gt;Cheers / Peter&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/184544?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 11:55:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b699d1a5-2cbc-4ce2-9976-ece6328ee02f</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Can you check if you see the same issue with&amp;nbsp;GCC ARM Embedded 6.3 2017-q2-update, which is the tested/supported toolchain for SDK 15.2?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/184464?ContentTypeID=1</link><pubDate>Tue, 30 Apr 2019 08:16:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:31bccd56-2ba7-4a9b-abe6-5427164d188d</guid><dc:creator>jakkra</dc:creator><description>&lt;p&gt;Hi, we have now upgraded to arm-none-eabi 8.3 and still have the exact same problems. So the issue is not with the compiler version.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/177582?ContentTypeID=1</link><pubDate>Thu, 21 Mar 2019 12:57:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:dfd177da-7d99-4ab3-918a-9af06b9baf00</guid><dc:creator>jakkra</dc:creator><description>&lt;p&gt;Hi, thanks, that is wierd, yes we should use none-eabi. We will update and see if that solves the linking problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/176760?ContentTypeID=1</link><pubDate>Mon, 18 Mar 2019 14:43:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:99f25b4c-285a-41cb-b2f8-39470facfd72</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I did not notice earlier, but&amp;nbsp;why do you use&amp;nbsp;arm-eabi instead of&amp;nbsp;arm-none-eabi? We only test with&amp;nbsp;arm-none-eabi.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/176370?ContentTypeID=1</link><pubDate>Fri, 15 Mar 2019 10:22:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3a17f802-404e-4944-9b55-3a4d1733dd4a</guid><dc:creator>jakkra</dc:creator><description>&lt;p&gt;Hi, no problem. The workaround is fine for us right now, but it would be good if we could get rid of it in upcoming SDK releases. I did try with&amp;nbsp;arm-eabi-gcc7.2.0-r3, but it did not compile our application, possibly some build settings need to be changed/updated, as I got some compile issues and didn&amp;#39;t have time digging deeper into it.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/176361?ContentTypeID=1</link><pubDate>Fri, 15 Mar 2019 09:42:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ebe9a8da-6cca-4bb9-a4b1-002bd7a08a6a</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am sorry for the late reply (I have been away for some days). This seems like a linker issue of some sort, but I don&amp;#39;t know.&amp;nbsp;I have not had a chance to try to reproduce this yet but will do that early next week. Please let me know if you have any new findings. In any case I will get back to you early next week.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/175298?ContentTypeID=1</link><pubDate>Mon, 11 Mar 2019 11:39:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cfbe0122-ace1-4dfd-b166-95f758287b03</guid><dc:creator>jakkra</dc:creator><description>&lt;p&gt;Hi, thanks for looking into this:&lt;/p&gt;
&lt;p&gt;1.&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED 1. I did also try with dynamic but did not make a difference. I have also tested with and without&amp;nbsp;NRF_CRYPTO_RNG_AUTO_INIT_ENABLED 1.&lt;/p&gt;
&lt;p&gt;- I managed to find what code makes&amp;nbsp;&lt;span&gt;CRYS_RndInit() hang. Anything obvious you can spot here which causes it? This is part of our initiation.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;NVIC_SetPriority(DebugMonitor_IRQn, 7ul);

// IRQ configuration
sd_nvic_SetPriority(RTC2_IRQn, APP_IRQ_PRIORITY_LOW);
sd_nvic_ClearPendingIRQ(RTC2_IRQn);
sd_nvic_EnableIRQ(RTC2_IRQn);

// Start LFCLK clock
nrf_clock_task_trigger(NRF_CLOCK_TASK_LFCLKSTART);

// Configure RTC2 frequency
nrf_rtc_prescaler_set(NRF_RTC2, cbHW_PRESCALER_RTC2);

/* Disable interrupts and events before changing configuration. */
sd_nvic_DisableIRQ(RTC2_IRQn);
sd_nvic_ClearPendingIRQ(RTC2_IRQn);

nrf_rtc_task_trigger(NRF_RTC2, NRF_RTC_TASK_STOP);
nrf_rtc_int_disable(NRF_RTC2, NRF_RTC_INT_COMPARE0_MASK);
nrf_rtc_int_disable(NRF_RTC2, NRF_RTC_INT_TICK_MASK);
nrf_rtc_event_disable(NRF_RTC2, NRF_RTC_INT_COMPARE0_MASK);
nrf_rtc_event_disable(NRF_RTC2, NRF_RTC_INT_TICK_MASK);
sysTickMode = mode;

sd_nvic_ClearPendingIRQ(RTC2_IRQn);
sd_nvic_EnableIRQ(RTC2_IRQn);

nrf_rtc_event_enable(NRF_RTC2, NRF_RTC_INT_TICK_MASK);
nrf_rtc_int_enable(NRF_RTC2, NRF_RTC_INT_TICK_MASK);
nrf_rtc_task_trigger(NRF_RTC2, NRF_RTC_TASK_START);
break;

flowControl = NRF_POWER-&amp;gt;GPREGRET &amp;gt;&amp;gt; 3;

NRF_POWER-&amp;gt;GPREGRET = 0;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;2. Don&amp;#39;t have at the moment, but the code above should hopefully reproduce it.&lt;/p&gt;
&lt;p&gt;-&amp;nbsp;arm-eabi-gcc.exe (GCC) 6.2.0, GNU ar (GNU Binutils) 2.27. more exact:&amp;nbsp;&lt;a href="http://gnutoolchains.com/arm-eabi/"&gt;http://gnutoolchains.com/arm-eabi/&lt;/a&gt;&amp;nbsp;&lt;a href="http://sysprogs.com/files/gnutoolchains/arm-eabi/arm-eabi-gcc6.2.0-r4.exe"&gt;arm-eabi-gcc6.2.0-r4&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;- Same issue when we build with zero optimization. Problem is that in nrf_crypto_init&amp;nbsp;NRF_CRYPTO_BACKEND_SECTION_ITEM_COUNT is 0 without the patch I showed in the issue.&lt;/p&gt;
&lt;p&gt;- I might be able to create an example project some day, but first I think this issue should be tested with the same toolchain we use. I&amp;#39;ll also try with the latest arm-eabi-gcc and see if it solves the problem.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Two issues with CC310 HW CryptoCell: Linking and hanging</title><link>https://devzone.nordicsemi.com/thread/175095?ContentTypeID=1</link><pubDate>Fri, 08 Mar 2019 15:19:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8c0fbdda-5c8d-4dfb-a388-c3505825890f</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;1. I do not recall seeing this issue before, nor do I immediately understand what is going on. You cannot use CC310 concurrently, and therefore the backed wrapper (cc310_backend_rng.c) use the CC310 mutex. I do not see any reason for using critical sections, though. Therefore, I have a few questions just to understand more about the situation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How do you handle memory for the RNG module?&lt;/li&gt;
&lt;li&gt;Is&amp;nbsp;NRF_CRYPTO_RNG_STATIC_MEMORY_BUFFERS_ENABLED set to 1 in the projects sdk_config.h?&lt;/li&gt;
&lt;li&gt;Since using critical sections seem to help - what do you expect is interrupting when initializing the RNG?&lt;/li&gt;
&lt;li&gt;Can you provide an example project that demonstrate this?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;2. This is also new to me, so I have a few questions here as well:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Which toolchain do you use?&lt;/li&gt;
&lt;li&gt;Does it depend on optimization level or other settings?&lt;/li&gt;
&lt;li&gt;Can you provide an example project that demonstrate this?&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>