<?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>sd130 and sdk12.1.0 ble bootloader problem</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/18275/sd130-and-sdk12-1-0-ble-bootloader-problem</link><description>I&amp;#39;m sorry. I closed this question and can&amp;#39;t reopen. I need more answer.
If I solve all problem I&amp;#39;ll close this question. 
 As you mentioned I&amp;#39;ll try HW version modification.
And I&amp;#39;ll add the result. 
 
 Hello, 
 I have some problem in DFU. I ask</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 13 Dec 2016 01:12:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/18275/sd130-and-sdk12-1-0-ble-bootloader-problem" /><item><title>RE: sd130 and sdk12.1.0 ble bootloader problem</title><link>https://devzone.nordicsemi.com/thread/70569?ContentTypeID=1</link><pubDate>Tue, 13 Dec 2016 01:12:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c7a8339f-d23b-4979-b45c-c300ebe7e226</guid><dc:creator>air</dc:creator><description>&lt;p&gt;I saw the application run when 1st power on after sd130/application/bootloader flashing.&lt;/p&gt;
&lt;p&gt;I made a mistake in making settings file.&lt;/p&gt;
&lt;p&gt;I close this issue.&lt;/p&gt;
&lt;p&gt;I greatly appreciate you.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: sd130 and sdk12.1.0 ble bootloader problem</title><link>https://devzone.nordicsemi.com/thread/70567?ContentTypeID=1</link><pubDate>Mon, 12 Dec 2016 10:19:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:52b2a1cf-ad0b-4d1d-8844-f5e16ee51120</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Yes, you have to provide the &lt;strong&gt;application hex file&lt;/strong&gt;, not the bootloader.hex file when generating the settings page. nrfutil will calculate the CRC of the application image and store that in bootloader settings. On startup the bootloader will compare the CRC of the application in flash and the CRC that is stored in the bootloader settings page. If they match then the application will start otherwise the device will stay in bootloader mode.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: sd130 and sdk12.1.0 ble bootloader problem</title><link>https://devzone.nordicsemi.com/thread/70566?ContentTypeID=1</link><pubDate>Mon, 12 Dec 2016 10:12:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:69a01bec-46c8-464a-8cac-da8bca8152a7</guid><dc:creator>air</dc:creator><description>&lt;p&gt;Sure, I did that.
I&amp;#39;ll explain what I did.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;application.hex package make&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;bootloader.hex make&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;bootloader settings.hex make&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;nrfutil settings generate --family NRF51 --application &lt;strong&gt;bootloader.hex&lt;/strong&gt; --application-version 3 --bootloader-version 2 --bl-settings-version 1 &lt;strong&gt;settings.hex&lt;/strong&gt;&lt;/p&gt;
&lt;ol start="4"&gt;
&lt;li&gt;
&lt;p&gt;mergehex -m &lt;strong&gt;bootloader.hex settings.hex&lt;/strong&gt; -o &lt;strong&gt;boot_set.hex&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;I flash &lt;strong&gt;SD130 / application.hex / boot_set.hex&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After repower on I can see DfuTarg scanned in the nrf toolbox.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Application doesn&amp;#39;t any BLE operation. It just waits Key input to enter bootloader.&lt;/p&gt;
&lt;p&gt;Is there anything wrong?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: sd130 and sdk12.1.0 ble bootloader problem</title><link>https://devzone.nordicsemi.com/thread/70565?ContentTypeID=1</link><pubDate>Mon, 12 Dec 2016 09:39:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a6cc2873-f4aa-48c8-b6e4-071fb930b677</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Air, you have to create a bootloader settings page with nrfutil to set the valid app flag using the follwing command&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;nrfutil settings generate --family NRF52 --application &amp;lt;name of application hex file&amp;gt;.hex --application-version 1 --bootloader-version 1 --bl-settings-version 1 bootloader_settings.hex
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After creating the bootloader_settings.hex file you have to merge it with the combined bootoader, application and softdevice hex file, and then flash it to your device.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: sd130 and sdk12.1.0 ble bootloader problem</title><link>https://devzone.nordicsemi.com/thread/70568?ContentTypeID=1</link><pubDate>Mon, 12 Dec 2016 06:49:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:68fc9e0e-605c-4a14-9c95-31f2516994f7</guid><dc:creator>air</dc:creator><description>&lt;p&gt;Thank you very much!&lt;/p&gt;
&lt;p&gt;Now, it&amp;#39;s possible to enter bootloader mode and DFU using my custom key.&lt;/p&gt;
&lt;p&gt;But,there&amp;#39;s one thing to be solved.&lt;/p&gt;
&lt;p&gt;I want to run the application(not bootloader) when the 1st power on after SD / application / bootloader programmed into the board.&lt;/p&gt;
&lt;p&gt;I&amp;#39;m trying to modify this.&lt;/p&gt;
&lt;p&gt;If you know this would you give me a tip?&lt;/p&gt;
&lt;p&gt;Always thanks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: sd130 and sdk12.1.0 ble bootloader problem</title><link>https://devzone.nordicsemi.com/thread/70563?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 14:36:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2cab37ca-c6b0-411e-baf1-1765e016bb4a</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi air, there is a bug in the buttonless examples so if you have tried to write to the DFU control, but the device is not jumping to bootloader mode then you have add the write permission to the control point characteristic as described in &lt;a href="https://devzone.nordicsemi.com/question/93414/sdk12-ble_app_buttonless_dfu/?answer=93756#post-id-93756"&gt;this&lt;/a&gt; answer.&lt;/p&gt;
&lt;p&gt;If you want to switch to bootloader with a button press then you have to call the &lt;code&gt;enter_bootloader()&lt;/code&gt; function in &lt;code&gt;ble_dfu.c&lt;/code&gt; once you get an interrupt from the button pin. Or you can simply do&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;s_dfu_settings.enter_buttonless_dfu = true;

(void)nrf_dfu_settings_write(flash_callback);

sd_nvic_SystemReset();
&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: sd130 and sdk12.1.0 ble bootloader problem</title><link>https://devzone.nordicsemi.com/thread/70564?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 08:01:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb1c6506-8f7a-449a-9ae6-1d19ab680445</guid><dc:creator>air</dc:creator><description>&lt;p&gt;Hello,
I tried some&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the bootloader_secure project I removed the init_softdevice check in ble_stack_init().&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;//if (init_softdevice)&lt;/p&gt;
&lt;p&gt;//{&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;err_code = sd_mbr_command(&amp;amp;com);
APP_ERROR_CHECK(err_code);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;//}&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the buttonless_dfu project I inserted code related with jump to bootloader.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;int main(void)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;uint32_t err_code;
bool     erase_bonds;

NRF_POWER-&amp;gt;GPREGRET = 0xb1;		// BOOTLOADER_DFU_START;
NVIC_SystemReset();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;.
.&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;And&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;SD130/bootloader programming into PCA10028 board&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Buttoness_dfu f/w package file upload in android phone&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In this procedure -2, I guess buttoness_dfu runs(jump to bootloader again) after upload done.&lt;/p&gt;
&lt;p&gt;So, I think I can upload the new F/W again.&lt;/p&gt;
&lt;p&gt;Sure, I saw 1st upload.&lt;/p&gt;
&lt;p&gt;But, bootloader doesn’t run after 1st upload.&lt;/p&gt;
&lt;p&gt;These are related with what I want to realize as I explained in the above comments.&lt;/p&gt;
&lt;p&gt;If it’s wrong How can I realize?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: sd130 and sdk12.1.0 ble bootloader problem</title><link>https://devzone.nordicsemi.com/thread/70562?ContentTypeID=1</link><pubDate>Fri, 09 Dec 2016 04:53:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:820a72f4-ec74-4704-bf56-53925efc4996</guid><dc:creator>air</dc:creator><description>&lt;p&gt;Thanks,
I saw the DFU works after doing as you mentioned(set the --hw-version to 51 and not 1).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now, How should I modify buttonless_dfu projecs If I want to do as below?&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;my application run when power on&lt;/li&gt;
&lt;li&gt;bootloader enter(using buttonless_dfu projecs , Already I merged with my application.) after some key input (This key is in my custom board.)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;int main(void)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;uint32_t err_code;

UART_TX_HIGH;

lfclk_config();								// clock init
nrf_delay_ms(5);

twi_master_init();							// eeprom init
TWI_400K;									// twi frequency

// dfu check
if(checkDfu())								// check eeprom and enter into DFU mode
	goto DFU;
	.
	.
	.
// ******* main loop start ******* //
while (1)
{
	.
	.
	.
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;DFU:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;startDfu();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;// It&amp;#39;s the same as buttonless_dfu main function&lt;/p&gt;
&lt;p&gt;void startDfu(void)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;uint32_t err_code;
bool erase_bonds;

// Initialize.
err_code = NRF_LOG_INIT(NULL);
APP_ERROR_CHECK(err_code);

timers_init();
buttons_leds_init(&amp;amp;erase_bonds);
ble_stack_init();

peer_manager_init(erase_bonds);
if (erase_bonds == true)
{
	NRF_LOG_DEBUG(&amp;quot;Bonds erased!\r\n&amp;quot;);
}

gap_params_init();
advertising_init();

services_init();
NRF_LOG_DEBUG(&amp;quot;Services are initialized\r\n&amp;quot;);

conn_params_init();
NRF_LOG_DEBUG(&amp;quot;conn params are initialized\r\n&amp;quot;);

// Start execution.
application_timers_start();
NRF_LOG_DEBUG(&amp;quot;app timers are started\r\n&amp;quot;);

err_code = ble_advertising_start(BLE_ADV_MODE_FAST);
APP_ERROR_CHECK(err_code);
NRF_LOG_DEBUG(&amp;quot;advertising is started\r\n&amp;quot;);

// loop
for( ; ; )
{
	if(NRF_LOG_PROCESS() == false)
	{
		power_manage();
	}
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;ol start="3"&gt;
&lt;li&gt;upload my new F/W using bootloader_secure in android phone.&lt;/li&gt;
&lt;li&gt;my new application run again after DFU done.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To do this, I tried to modify DFU control point.
But, it didn&amp;#39;t work.
I am trying to solve this problem.
I&amp;#39;m sorry but it&amp;#39;s better to have your help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>