<?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>S210 Bootloader</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/6895/s210-bootloader</link><description>I have a blank nrf51422 that I have successfully loaded with the latest S210 softdevice and working application. However, I do not see the bootloader region occupied when I open NRFgo studio. Am I to assume the bootloader is there? If not can someone</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 03 Jun 2015 21:55:41 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/6895/s210-bootloader" /><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24305?ContentTypeID=1</link><pubDate>Wed, 03 Jun 2015 21:55:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:31d1316e-6549-4b5d-b819-46cdccc3854b</guid><dc:creator>testy</dc:creator><description>&lt;p&gt;&lt;a href="http://www.thisisant.com/resources/n5-starter-kit-user-manual-1/"&gt;User Manual&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;page 21, bullet #11 or &lt;strong&gt;my item&lt;/strong&gt; #2.&lt;/p&gt;
&lt;p&gt;Although I modified bootloader.c and main.c sources to work with enabled protection, I&amp;#39;m finding it useless, because of impossibility to do OTA DFU exchange of softdevices S310 - S210 with each other, along with matching applications (--dfu option is preferred option for me).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24304?ContentTypeID=1</link><pubDate>Wed, 03 Jun 2015 17:38:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0cc1d34d-6b48-4511-875d-662eb0eb8f95</guid><dc:creator>SG1</dc:creator><description>&lt;p&gt;I stopped working on this for a bit, but just got back on it. I finally got it to work. The problem was that I was constantly getting a flag saying that the app was invalid. Once I disabled the Softdevice protection (UICR.CLENR0), the application was flagged as valid and the bootloader worked. Comments?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24303?ContentTypeID=1</link><pubDate>Thu, 21 May 2015 20:13:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a73dccce-778b-4a16-b929-d4a6df270bff</guid><dc:creator>Andrew</dc:creator><description>&lt;p&gt;I am having the same trouble with the ANT+ bootloader.  To take it one step farther, once the application is OK to run, holding down button 1 and hitting the reset on the nRF51DK (which should put it into bootloader mode) causes the system to halt in the bootloader.  I have narrowed it down to the SOFTDEVICE_HANDLER_INIT() call that is hanging if the button is pushed.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24302?ContentTypeID=1</link><pubDate>Thu, 21 May 2015 14:46:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:514d4106-7c05-4a7d-bc58-60b9ae5116f1</guid><dc:creator>SG1</dc:creator><description>&lt;p&gt;Thank you, Yes, I was able to find the flag.&lt;/p&gt;
&lt;p&gt;So I worked on this for a few days and still no luck. I switched to the NRF51 dev kit to remove any variables. The device is the QFAC&lt;/p&gt;
&lt;p&gt;Here are the results/settings:
I still kept RAM settings for 16K even though the device can handle 32K.&lt;/p&gt;
&lt;p&gt;Application - IROM start 0xD000 Size 0x17400 (also tried 0x2E800)
Application - IRAM1 start 0x20000900 Size 0x1700&lt;/p&gt;
&lt;p&gt;Bootloadter - IROM start 0x3B800 Size 0x4800
Bootloader - IRAM1 start 0x20002000 Size 0x1700 (tried with NoInit checked and unchecked)&lt;/p&gt;
&lt;p&gt;Here is what happens (all through SWD since OTA does not work):&lt;/p&gt;
&lt;p&gt;Test1 (using combinations of IROM and IRAM above):&lt;/p&gt;
&lt;p&gt;-Device is totally erased, flashed with S210 4.0.1&lt;/p&gt;
&lt;p&gt;-Application is flashed&lt;/p&gt;
&lt;p&gt;-Bootloader is flashed&lt;/p&gt;
&lt;p&gt;**Result Test 1: Application works fine. Bootloader debug shows application is valid when I force it to run. The OTA does not find the device because there is a valid app running on BANK0 and the bootloader terminates (which is operating as expected.)&lt;/p&gt;
&lt;p&gt;Test2 (using combinations of IROM and IRAM above):&lt;/p&gt;
&lt;p&gt;-Device is totally erased, flashed with S210 4.0.1&lt;/p&gt;
&lt;p&gt;-Bootloader is flashed&lt;/p&gt;
&lt;p&gt;OTA finds device and when an update of application is attempted, it shows that it is completed and updates the image, but debug shows that application is invalid (!!). In other words, OTA seems to work, but application does not run when flashed over OTA and flagged as invalid.&lt;/p&gt;
&lt;p&gt;I can&amp;#39;t seem to find why my application is found to be invalid by the bootloader when done through OTA but valid when done through SWD. Any suggestions on where to look? It runs when flashed through SWD but not when flahsed through OTA.&lt;/p&gt;
&lt;p&gt;**Result Test 2: Application does not work.&lt;/p&gt;
&lt;p&gt;Thanks again!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24306?ContentTypeID=1</link><pubDate>Tue, 19 May 2015 05:52:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b4d4023e-919d-461c-818c-55c080562f51</guid><dc:creator>testy</dc:creator><description>&lt;p&gt;OTA DFU &lt;strong&gt;selfsets&lt;/strong&gt; app valid flag, if processed successfully. Value at  BOOTLOADER_SETTINGS_ADDRESS must be 1 after it (unfortunately this approach is valid for BLE bootloader). Check that address (typically 0x3FC00).
Study &lt;a href="https://devzone.nordicsemi.com/question/22056/combining-sd-dfu-and-application-hex-and-programming/?answer=22246#post-id-22246"&gt;this&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Taken from ANT bootloader_settings_t structure:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sd_image at 0x3FC00&lt;/li&gt;
&lt;li&gt;bl_image at 0x 3FC04&lt;/li&gt;
&lt;li&gt;ap_image at 0x3FC08 (here is transferred app size in bytes)&lt;/li&gt;
&lt;li&gt;src_image_address&lt;/li&gt;
&lt;li&gt;valid_app (Valid application is present if value is 0xFFFFFFFF &lt;strong&gt;or&lt;/strong&gt; 0x00000000)&lt;/li&gt;
&lt;li&gt;reserved_1&lt;/li&gt;
&lt;li&gt;reserved_2&lt;/li&gt;
&lt;li&gt;valid_slot&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24301?ContentTypeID=1</link><pubDate>Mon, 18 May 2015 19:47:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e383505e-d84e-450e-8854-99d1b7bc7dea</guid><dc:creator>SG1</dc:creator><description>&lt;p&gt;Thanks for helping me Testy. My device is the QFAA. I tried to load the app both ways. Through DFU and SWD. DFU stays stuck after it says &amp;quot;Image upload complete. Image will be activated, do not power down device.&amp;quot; It loads through SWD, but does not run unless I erase the part and load the S210 and App with no bootloader. I new using the part so I&amp;#39;m not totally sure where to set the flag for a valid app. Thanks again!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24300?ContentTypeID=1</link><pubDate>Mon, 18 May 2015 04:32:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a0fc9c6d-1194-4ce4-ab9b-3358bfb2d2c3</guid><dc:creator>testy</dc:creator><description>&lt;p&gt;What&amp;#39;s your device?
16KB or 32KB RAM&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If QFAA (e.g.), app IRAM size should be 0x3700.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Which way you load an app? Through SWD or OTA?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If programmed through SWD, app valid setting flag at bootloader settings address must be set else app won&amp;#39;t run.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24299?ContentTypeID=1</link><pubDate>Thu, 14 May 2015 17:34:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c406fccb-6879-4503-9d8c-9edfff8989b2</guid><dc:creator>SG1</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;Yes I tried it this morning and it does work. Thank you! I had a problem running debug, but I had the default size of IRAM that the example provided. Once I changed it to 0x1800 it worked properly. However, when I load my application, it does not work. Maybe its my IRAM seetings again (for my application)?&lt;/p&gt;
&lt;p&gt;Application seetings:
IROM1 0xD000 start 0x33000 size
IRAM1 0x20000900  start 0x7700 size&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24298?ContentTypeID=1</link><pubDate>Wed, 13 May 2015 08:59:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cdf8b36a-324e-488e-8ffd-095f0bf0accf</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;Hi SG1. Did you try testy&amp;#39;s solution in his edited post from the 11th of May?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24297?ContentTypeID=1</link><pubDate>Wed, 06 May 2015 18:17:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:db1bfaa5-3acf-45cc-9d8e-7414de5debd5</guid><dc:creator>SG1</dc:creator><description>&lt;p&gt;Thank you! I did try this before and got it to work, but it overwrites my application. I would like to perform an upgrade with my application still in the device. I think the better question is what the settings for IROM and IRAM should be for this to work. I using the start address 0x03b800 as specified by the example and IRAM start address of 0x20008000 , but had no luck.  Any suggestions?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: S210 Bootloader</title><link>https://devzone.nordicsemi.com/thread/24296?ContentTypeID=1</link><pubDate>Tue, 05 May 2015 20:40:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b8ac1cd-760c-4bee-8bdb-77c483980eb2</guid><dc:creator>testy</dc:creator><description>&lt;p&gt;No bootloader is present, it must be added from e.g.:&lt;/p&gt;
&lt;p&gt;nordic&amp;#39;s nRF51_SDK_v7.2.0_cf547b5.zip\ &lt;strong&gt;examples\dfu\experimental_ant_bootloader&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tested, works together with thisisant&amp;#39;s &lt;strong&gt;OTA_Updater_v1.1.zip&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Edit 11.5.:&lt;/p&gt;
&lt;p&gt;I&amp;#39;m sure your IRAM1 start address is wrong, because is outside of 32KB range.&lt;/p&gt;
&lt;p&gt;My settings:&lt;/p&gt;
&lt;p&gt;IROM1:
start 0x3B800, size 0x4800&lt;/p&gt;
&lt;p&gt;IRAM1:
start &lt;strong&gt;0x20002800&lt;/strong&gt;, size 0x1800 (16KB RAM only, QFAA device)&lt;/p&gt;
&lt;p&gt;Do not forget to set valid ANT-fs network key instead of zeros too.&lt;/p&gt;
&lt;p&gt;When the bootloader is started for the first time (no app valid flag), app must be transferred through OTA DFU. If done successfully, another app OTA DFU can be performed and an old app stays in device until successfull upload. Starting of dual-bank bootloader doesn&amp;#39;t overwrite an original. Only updating of softdevice does this job.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Edit 22.5.&lt;/p&gt;
&lt;p&gt;I was wrong - no special setting is necessary to run app with &lt;strong&gt;ANT&lt;/strong&gt; bootloader from SDK 7.2.0 without OTA DFU:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;nrfjprog --recover&lt;/li&gt;
&lt;li&gt;nrfjprog --dfu --verify --programs s210_nrf51422_4.0.1_softdevice.hex&lt;/li&gt;
&lt;li&gt;nrfjprog  --verify --program ANT_S210_app.hex&lt;/li&gt;
&lt;li&gt;nrfjprog  --verify --program ANT_S210_bootloader.hex&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;My settings for nRF51422 QFAA (16KB RAM, 256KB FLASH) is attached:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/01_2D00_linker.png" alt="image description" /&gt;&lt;/p&gt;
&lt;p&gt;Keil bootloader settings area for &lt;strong&gt;ANT&lt;/strong&gt; bootloader before OTA DFU process:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/02_2D00_beforeOTA.png" alt="image description" /&gt;&lt;/p&gt;
&lt;p&gt;Updated area after OTA DFU:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/03_2D00_afterOTA.png" alt="image description" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>