<?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>DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/11860/dfu-ota-over-ble-compatibility-query-s110-and-sdk-version</link><description>In past , I was able to perform DFU-OTA over BLE transport for a custom board that has nRF51822QFAA (256kB main flash memory) SOC. I tested this functionality with Nordic&amp;#39;s Android APP, nRF Toolbox and nRF MCP. Since then, I&amp;#39;ve been working with a different</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 22 Mar 2016 15:29:58 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/11860/dfu-ota-over-ble-compatibility-query-s110-and-sdk-version" /><item><title>RE: DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/thread/44937?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 15:29:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b773b39a-35c0-493c-a961-fa4fac4e4767</guid><dc:creator>sidekick</dc:creator><description>&lt;p&gt;From &lt;a href="https://devzone.nordicsemi.com/question/32424/advertisement-issue-with-pca10001-board-and-sdk800/"&gt;this&lt;/a&gt; and &lt;a href="https://devzone.nordicsemi.com/question/32915/sd-80-sdk-80-cpu-utilization-during-radio-events/"&gt;this&lt;/a&gt; discussion, it seems that I need to enable Mutual exclusion between CPU and RF as I&amp;#39;m using IC revision 2 with Softdevice v8.0.0. Please confirm if the ordering is correct.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;static void enable_cpu_rf_mutex(void)
{
    uint32_t opt_id;
    uint32_t err_code;
    ble_opt_t ble_cpu_block;
    memset(&amp;amp;ble_cpu_block, 0, sizeof(ble_opt_t));
    ble_cpu_block.common_opt.radio_cpu_mutex.enable = 1;
    opt_id = BLE_COMMON_OPT_RADIO_CPU_MUTEX;
    err_code = sd_ble_opt_set(opt_id, &amp;amp;ble_cpu_block);
    APP_ERROR_CHECK(err_code);
}

int main(void)
{
    enable_cpu_rf_mutex();
    ble_stack_init();
    gap_params_init();
    advertising_init();
    services_init();
    conn_params_init();
    ble_advertising_start(BLE_ADV_MODE_FAST);
    while (1) {}
}
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/thread/44939?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 13:34:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d1a457a5-7a52-4409-bc62-5e5cec0a30e0</guid><dc:creator>sidekick</dc:creator><description>&lt;p&gt;&amp;lt;snip from S110, v8.0.0 release notes&amp;gt;&lt;/p&gt;
&lt;p&gt;The default behaviour is now that the application can use the CPU while the radio is active. In previous versions of the S110, the CPU execution was blocked by the SoftDevice during radio activity. &lt;strong&gt;Note that this new default setting is incompatible with running this SoftDevice on nRF51 series IC revision 2&lt;/strong&gt; (devices affected by PAN #44 &amp;quot;CCM may exceed real time requirements&amp;quot; and PAN #45 &amp;quot;AAR may exceed real time requirements&amp;quot; described in the nRF51822-PAN). &lt;strong&gt;If you plan to run S110 v8.x on
devices affected by these PANs, you will need to enable mutual exclusion between the radio and the application by means of the sd_ble_opt_set() SV call and the BLE_COMMON_OPT_RADIO_CPU_MUTEX option (DRGN-4511).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;snip from S110, v8.0.0 release notes&amp;gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/thread/44938?ContentTypeID=1</link><pubDate>Tue, 22 Mar 2016 13:32:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b1bcb53d-6960-4bcb-b3bd-8bb13f380c37</guid><dc:creator>sidekick</dc:creator><description>&lt;p&gt;I ported my application to:&lt;/p&gt;
&lt;p&gt;nrf51822QFAA IC revision: 2&lt;/p&gt;
&lt;p&gt;Softdevice: s110, v8.0.0&lt;/p&gt;
&lt;p&gt;SDK: v10.0.0&lt;/p&gt;
&lt;p&gt;Above compatibility matrix seem to work okay. however I need to test lot more. I&amp;#39;m not using DC/DC converter and didn&amp;#39;t quite get as to how to turn on CPU block in my application? Can you please explain a little more about turning ON the CPU block and how to achieve that ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/thread/44936?ContentTypeID=1</link><pubDate>Tue, 16 Feb 2016 10:20:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:662e726c-1ef8-477f-ac02-f3e94b55a974</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;s110 v.8.0.0 is production tested on 2nd rev IC, but SDK v.10.0.0 is not. One reason for that is that the new SDK does not necessary provide workarounds for PANs present on older silicon, but it&amp;#39;s probably going to work just fine  if you make sure to turn on CPU block in your application and not use DCDC, see s110 v.8.0.0 release notes for more details.&lt;/p&gt;
&lt;p&gt;Note that on the SDKs we don&amp;#39;t run the same level of testing, as we deliver the source code, and it&amp;#39;s example code that the customers can modify and use as they see fit.  The final testing of the application code must be done by the customer as part of their product development and testing procedures.&lt;/p&gt;
&lt;p&gt;PAN document for nRF51 : &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.pdf.panpcn/nRF51822-pan_v3.0.pdf"&gt;infocenter.nordicsemi.com/.../nRF51822-pan_v3.0.pdf&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/thread/44935?ContentTypeID=1</link><pubDate>Mon, 15 Feb 2016 16:35:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a9e6ee59-c606-417a-ba88-93ae7b459aa6</guid><dc:creator>sidekick</dc:creator><description>&lt;p&gt;@Vidar Berg: After looking at the compatibility matrix, my understanding is that:
SD S110, v8.0.0 with SDK v10.0.0 with IC revision 2 is &lt;strong&gt;NOT&lt;/strong&gt; supported. In order to use those Softdevice and SDK revision, I need to purchase the ICs with Version 3 ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/thread/44934?ContentTypeID=1</link><pubDate>Mon, 15 Feb 2016 16:06:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:208cfcc2-4c75-4b19-8205-bb237a91786f</guid><dc:creator>sidekick</dc:creator><description>&lt;p&gt;Thank you so much for clearing my doubts. I will now start migrating to SoftDevice &lt;strong&gt;s110 8.0.0&lt;/strong&gt; and SDK &lt;strong&gt;10.0.0&lt;/strong&gt; . While flashing the Softdevice, I noticed that SoftDevice s110, 8.0.0 is comparatively bigger and hence the memory layout needs to be accordingly changed in the bootloader and application. Glad to see that the &lt;a href="https://developer.nordicsemi.com/nRF51_SDK/nRF51_SDK_v8.x.x/doc/8.0.0/s110/html/a00094.html"&gt;documentation&lt;/a&gt; already covers this :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/thread/44932?ContentTypeID=1</link><pubDate>Mon, 15 Feb 2016 15:50:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:86271b80-39d8-4152-8bd7-74e0c12adcab</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Yes, it&amp;#39;s the 2nd revision&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/thread/44933?ContentTypeID=1</link><pubDate>Mon, 15 Feb 2016 15:50:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c5e27234-f8ea-49a0-9551-6efb93f0ad1f</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;A1: Instructions on how to determine the chip revision can be found in the &lt;a href="http://infocenter.nordicsemi.com/pdf/nRF51_Series_Compatibility_Matrix_v2.6.pdf"&gt;compatibility matrix&lt;/a&gt;. Note that the 3rd revision is recommended for new designs, and is the IC that it&amp;#39;s currently in production.&lt;/p&gt;
&lt;p&gt;The known issues are general for this release, but the last 3 are relevant for DFU.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The DFU over BLE example has been tested to work with a minimum
connection interval of 11.25 ms. The application cannot handle
connection intervals lower than 11.25 ms and may undergo a system
reset in the middle of a firmware update.
Workaround: If you face unexpected disconnects during the firmware
update process, consider increasing the connection
interval used by the master.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The preferred connection parameters are set to 15 ms and 30 ms in the bootloader. So this is not a problem unless the central ignores this request.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The old manual procedure for testing buttonless DFU, as specified in
the documentation, can lead to the DFU process hanging or returning
an error when used with Master Control Panel 3.8 and newer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When using MCP version later than 3.8 you won&amp;#39;t have to follow the instructions in the doc, only click the dfu button in MCP, and it will do all the steps automatically&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bootloader binaries (.bin files) generated with the GCC makefile
should not be used. Instead, generate the bootloader bin files using
nrfutils, found on GitHub.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the output .hex if you&amp;#39;re using GCC. The binary includes the UICR section, 0x10001000 in memory map, which leads to lot of byte padding (0x3c000 -&amp;gt; 0x10001000 = ~250MB).&lt;/p&gt;
&lt;p&gt;A2: S110 v.8.0.0 has better support for buttonless DFU. To be more specific,  SDs prior to this release lacked an option for only restoring the attributes for the system services (service changed characteristic) , which caused problems when doing DFU with paired devices. Relevant thread if you want more details &lt;a href="https://devzone.nordicsemi.com/question/57512/dfu-service-update-for-ios/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A3. It&amp;#39;s generally recommended to use the same softdevice as specified in the release notes for the given SDK. Otherwise you would have to manually port the SDK to support a different softdevice. The SDKs are contiously being improved with new features and bugfixes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: DFU-OTA over BLE compatibility query: S110 and SDK version</title><link>https://devzone.nordicsemi.com/thread/44931?ContentTypeID=1</link><pubDate>Sat, 13 Feb 2016 14:15:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2828f663-6ec2-4df5-a561-6b4cc62d654c</guid><dc:creator>sidekick</dc:creator><description>&lt;p&gt;For the &lt;strong&gt;Q1&lt;/strong&gt; above, I referred the nRF51822 Product Anomaly notice document 3.0.
The part number that I&amp;#39;ve is: NRF51822QFAA&lt;strong&gt;G2&lt;/strong&gt;1425CZ. Here &lt;strong&gt;G2&lt;/strong&gt; in the part number represents the hardware revision. Assuming that this represents the IC revision, What does G2 mean ? Is it IC Revision 2 ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>