<?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>Bootloader example on custom nRF52832 board</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/55533/bootloader-example-on-custom-nrf52832-board</link><description>Hello. 
 I&amp;#39;m trying to get the example bootloader Segger project (secure_bootloader_ble_s132_pca10040) running on a custom board I have that uses the nRF52832 as its core. 
 Out of the box, I&amp;#39;ve got the bootloader example to work on the PCA10040 dev board</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 16 Dec 2019 16:18:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/55533/bootloader-example-on-custom-nrf52832-board" /><item><title>RE: Bootloader example on custom nRF52832 board</title><link>https://devzone.nordicsemi.com/thread/225731?ContentTypeID=1</link><pubDate>Mon, 16 Dec 2019 16:18:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:aa53d0a6-844c-43d5-b8e3-bd9f5cc60a7d</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Thanks for confirming the chip variant.&amp;nbsp;Could you try to quickly make the same changes to the bootloader in SDK 16.0.0 or SDK 15.2.0 (clock and button) and try to run it on your custom board?&amp;nbsp;Alternatively, confirm that the bootloader start address and MBR param page address are correctly stored at address&amp;nbsp;0xff8 and 0xffc. The bootloader in SDK 15.3.0 had this data included in the hex file, and it could easily get overwritten depending on the programming sequence.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader example on custom nRF52832 board</title><link>https://devzone.nordicsemi.com/thread/225450?ContentTypeID=1</link><pubDate>Fri, 13 Dec 2019 16:24:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:622ffd6a-0cce-427e-bbd2-6d286737859b</guid><dc:creator>davidr</dc:creator><description>&lt;p&gt;Yes, I am using 512/64. Target device - nRF52832_xxAA (which is also what I&amp;#39;m using on my custom board).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader example on custom nRF52832 board</title><link>https://devzone.nordicsemi.com/thread/225288?ContentTypeID=1</link><pubDate>Fri, 13 Dec 2019 07:33:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c060a00-ac4f-4251-8aad-038e023fda50</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Please check if you&amp;#39;re using the standard 512/64 memory option and not the 256/32 one (&lt;a title="IC revisions and variants" href="https://infocenter.nordicsemi.com/topic/comp_matrix_nrf52832/COMP/nrf52832/ic_revision_overview.html?cp=4_2_2_0"&gt;IC revisions and variants&lt;/a&gt;). The Hardfault may indicate that the settings data is being written outside of the valid memory range. The linker settings will need to be adjusted in that case.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader example on custom nRF52832 board</title><link>https://devzone.nordicsemi.com/thread/225223?ContentTypeID=1</link><pubDate>Thu, 12 Dec 2019 16:18:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:58ead43c-48ae-423b-8311-2a250f383d8a</guid><dc:creator>davidr</dc:creator><description>&lt;p&gt;Hi Vidar,&lt;/p&gt;
&lt;p&gt;Thanks for the response. I completely forgot to consider the clock source for the SoftDevice. I&amp;#39;m currently using nRF SDK15.3 but modified the sdk_config according to the descriptions.&lt;/p&gt;
&lt;p&gt;This board currently does not use an external crystal, so I&amp;#39;m going off the internal RC oscillator. I made these modifications but I&amp;#39;m still not seeing it being advertised.&lt;/p&gt;
&lt;p&gt;While stepping through to debug and find the cause, I found that the device is hitting a HardFault Handler somewhere after nrf_dfu_settings_init()&lt;/p&gt;
&lt;p&gt;What should I be on the lookout for to prevent this from happening?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#ifndef NRF_SDH_CLOCK_LF_SRC
#define NRF_SDH_CLOCK_LF_SRC 0
#endif

// &amp;lt;o&amp;gt; NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. 
#ifndef NRF_SDH_CLOCK_LF_RC_CTIV
#define NRF_SDH_CLOCK_LF_RC_CTIV 16
#endif

// &amp;lt;o&amp;gt; NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. 
// &amp;lt;i&amp;gt; How often (in number of calibration intervals) the RC oscillator shall be calibrated
// &amp;lt;i&amp;gt;  if the temperature has not changed.

#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
#endif

#ifndef NRF_SDH_CLOCK_LF_ACCURACY
#define NRF_SDH_CLOCK_LF_ACCURACY 1
#endif&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bootloader example on custom nRF52832 board</title><link>https://devzone.nordicsemi.com/thread/225170?ContentTypeID=1</link><pubDate>Thu, 12 Dec 2019 13:43:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:17cf17c5-66f8-4359-b031-fbf0c0624f3f</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I guess it may be the LF clock source, or do you have the optional 32Khz crystal mounted on your board? If&amp;nbsp;you don&amp;#39;t have it you&amp;nbsp;need to select the internal RC oscillator as the clock source in sdk_config.h. These are the relevant clock settings if you use SDK 16.0.0:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// &amp;lt;/h&amp;gt; 
//==========================================================

// &amp;lt;h&amp;gt; Clock - SoftDevice clock configuration

//==========================================================
// &amp;lt;o&amp;gt; NRF_SDH_CLOCK_LF_SRC  - SoftDevice clock source.
 
// &amp;lt;0=&amp;gt; NRF_CLOCK_LF_SRC_RC 
// &amp;lt;1=&amp;gt; NRF_CLOCK_LF_SRC_XTAL 
// &amp;lt;2=&amp;gt; NRF_CLOCK_LF_SRC_SYNTH 

#ifndef NRF_SDH_CLOCK_LF_SRC
#define NRF_SDH_CLOCK_LF_SRC 0
#endif

// &amp;lt;o&amp;gt; NRF_SDH_CLOCK_LF_RC_CTIV - SoftDevice calibration timer interval. 
#ifndef NRF_SDH_CLOCK_LF_RC_CTIV
#define NRF_SDH_CLOCK_LF_RC_CTIV 16
#endif

// &amp;lt;o&amp;gt; NRF_SDH_CLOCK_LF_RC_TEMP_CTIV - SoftDevice calibration timer interval under constant temperature. 
// &amp;lt;i&amp;gt; How often (in number of calibration intervals) the RC oscillator shall be calibrated
// &amp;lt;i&amp;gt;  if the temperature has not changed.

#ifndef NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
#define NRF_SDH_CLOCK_LF_RC_TEMP_CTIV 2
#endif

// &amp;lt;o&amp;gt; NRF_SDH_CLOCK_LF_ACCURACY  - External clock accuracy used in the LL to compute timing.
 
// &amp;lt;0=&amp;gt; NRF_CLOCK_LF_ACCURACY_250_PPM 
// &amp;lt;1=&amp;gt; NRF_CLOCK_LF_ACCURACY_500_PPM 
// &amp;lt;2=&amp;gt; NRF_CLOCK_LF_ACCURACY_150_PPM 
// &amp;lt;3=&amp;gt; NRF_CLOCK_LF_ACCURACY_100_PPM 
// &amp;lt;4=&amp;gt; NRF_CLOCK_LF_ACCURACY_75_PPM 
// &amp;lt;5=&amp;gt; NRF_CLOCK_LF_ACCURACY_50_PPM 
// &amp;lt;6=&amp;gt; NRF_CLOCK_LF_ACCURACY_30_PPM 
// &amp;lt;7=&amp;gt; NRF_CLOCK_LF_ACCURACY_20_PPM 
// &amp;lt;8=&amp;gt; NRF_CLOCK_LF_ACCURACY_10_PPM 
// &amp;lt;9=&amp;gt; NRF_CLOCK_LF_ACCURACY_5_PPM 
// &amp;lt;10=&amp;gt; NRF_CLOCK_LF_ACCURACY_2_PPM 
// &amp;lt;11=&amp;gt; NRF_CLOCK_LF_ACCURACY_1_PPM 

#ifndef NRF_SDH_CLOCK_LF_ACCURACY
#define NRF_SDH_CLOCK_LF_ACCURACY 1
#endif



&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>