<?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>Nrf51822 build ble with softdevice</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39344/nrf51822-build-ble-with-softdevice</link><description>Hi, i want to build my ble app with softdevice. A s a result, I want to have a single .hex file that contains the sofdevice. And i am going to flash it to the nrf51822 using ST_Link v2 with openocd. 
 - My OS is ARCH Linux, my compiler is gcc-arm-none</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 11 Oct 2018 08:40:56 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39344/nrf51822-build-ble-with-softdevice" /><item><title>RE: Nrf51822 build ble with softdevice</title><link>https://devzone.nordicsemi.com/thread/152451?ContentTypeID=1</link><pubDate>Thu, 11 Oct 2018 08:40:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:347b4967-9535-4421-aeda-92d0ac1c6db8</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Can you post the linker script(.ld) that you&amp;#39;re using when you compile the application with GCC? Also have you tried debugging the application with GDB or Segger Ozone? If not, please do this, place a breakpoint in&amp;nbsp;app_error_handler and&amp;nbsp;app_error_handler_bare and see if you end up there. If so, post the call stack and the error code that caused the assert.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nrf51822 build ble with softdevice</title><link>https://devzone.nordicsemi.com/thread/152440?ContentTypeID=1</link><pubDate>Thu, 11 Oct 2018 07:45:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:69b2bf68-221a-42c6-90ad-488e9ce715f5</guid><dc:creator>akca</dc:creator><description>&lt;p&gt;Ok. &lt;span class="" id="result_box" lang="en"&gt;&lt;span class=""&gt;I&amp;#39;m going to write the my instructions.&lt;/span&gt; &lt;span class=""&gt;All the roads I&amp;#39;ve tried.&lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="en"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&lt;strong&gt;1-)&lt;/strong&gt; inside &amp;quot;/nRF5_SDK_12.3.0_d7731ad/examples/ble_peripheral/ble_app_template/pca10028/s130/armgcc&amp;quot; folder (&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class=""&gt;no errors&lt;/span&gt;&lt;/span&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - $&lt;strong&gt;make&lt;/strong&gt; # it give me &amp;quot;&lt;strong&gt;_build/nrf51822_xxac.hex&lt;/strong&gt;&amp;quot; file&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/tags/openocd" class="tag hash-tag" data-tags="openocd"&gt;#openocd&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;reset halt&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;nrf51 mass_erase&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&lt;strong&gt; program /nRF5_SDK_12.3.0_d7731ad/components/softdevice/s130/hex/s130_nrf51_2.0.1_softdevice.hex verify&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;reset halt&lt;/strong&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; # sometimes i don&amp;#39;t use it.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;program /nRF5_SDK_12.3.0_d7731ad/examples/ble_peripheral/ble_app_template/pca10028/s130/armgcc/_build/nrf51822_xxac.hex verify&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - reset&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;And this didn&amp;#39;t work. my phone didn&amp;#39;t seems my ble device. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span class="short_text" lang="en"&gt;&lt;strong&gt;2-)&lt;/strong&gt; I used mergehex for merging this files. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span class="short_text" lang="en"&gt;&amp;quot;/nRF5_SDK_12.3.0_d7731ad/examples/ble_peripheral/ble_app_template/pca10028/s130/armgcc/_build/nrf51822_xxac.hex&amp;quot; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span class="short_text" lang="en"&gt;And&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;quot;/nRF5_SDK_12.3.0_d7731ad/components/softdevice/s130/hex/s130_nrf51_2.0.1_softdevice.hex&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span class="" lang="en"&gt;$mergehex /nRF5_SDK_12.3.0_d7731ad/components/softdevice/s130/hex/s130_nrf51_2.0.1_softdevice.hex&amp;nbsp; &lt;span class="short_text" lang="en"&gt;/nRF5_SDK_12.3.0_d7731ad/examples/ble_peripheral/ble_app_template/pca10028/s130/armgcc/_build/nrf51822_xxac.hex&lt;/span&gt; -o out.hex&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;And opload nrf51822 with:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp; -$&lt;strong&gt;openocd&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;reset halt&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;nrf51 mass_erase&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;program out.hex verify&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;reset&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span&gt;This didn&amp;#39;t work either.(&lt;span class=""&gt;no errors&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;strong&gt;3)&lt;/strong&gt; Just uploading this file. (&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class=""&gt;no errors&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - $&lt;strong&gt;openocd&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;reset halt&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;nrf51 mass_erase &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;program /nRF5_SDK_12.3.0_d7731ad/examples/ble_peripheral/ble_app_template/hex/ble_app_template_pca10028_s130.hex verify&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; - reset&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span class="" id="result_box" lang="en"&gt;&lt;span&gt;It worked smoothly and seen by my phone. (&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class=""&gt;no errors&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;strong&gt;4-)&lt;/strong&gt; I goes to the mbed and i compile this file. &amp;quot;&lt;a href="https://os.mbed.com/teams/Bluetooth-Low-Energy/code/BLE_LED/?platform=Nordic-nRF51-DK"&gt;https://os.mbed.com/teams/Bluetooth-Low-Energy/code/BLE_LED/?platform=Nordic-nRF51-DK&amp;quot;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;- i compiled it and it gives me &amp;quot;&lt;strong&gt;BLE_LED_NRF51822.hex&lt;/strong&gt;&amp;quot; file. And i upload it the nrf51822 with:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;-$&lt;strong&gt;openocd&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;reset halt&lt;/strong&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;nrf51 mass_erase&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - &lt;strong&gt;program /Downloads/BLE_LED_NRF51822.hex verify&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;This worked without any problems. &lt;/span&gt;Because mbed gives me ble app .hex file and softdevice .hex files together inside a single .hex file.&lt;span&gt;(&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class=""&gt;no errors&lt;/span&gt;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span class="short_text" lang="en"&gt;&lt;span class="" id="result_box" lang="en"&gt;&lt;span class=""&gt;My idea is that when I tried to flash ble_app in step 1 the previously installed softdevice .hex file may be deleted. &lt;span&gt;Steps 3 and 4 worked.&lt;/span&gt; &lt;span&gt;The reason I installed the ble_app file in the softdevice .hex file to be found.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span class="short_text" lang="en"&gt;&lt;span class="" lang="en"&gt;&lt;span class=""&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;What can i do?&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="" lang="en"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nrf51822 build ble with softdevice</title><link>https://devzone.nordicsemi.com/thread/152402?ContentTypeID=1</link><pubDate>Wed, 10 Oct 2018 16:54:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71213b4b-3978-40ab-b526-3a1a05d392a0</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;How, exactly, did you do the merge?&lt;/p&gt;
&lt;p&gt;Are you certain that you had the correct SoftDevice Hex?&lt;/p&gt;
&lt;p&gt;How do you know that the reason your app &amp;quot;didn&amp;#39;t work&amp;quot; was because of the SoftDevice merge?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nrf51822 build ble with softdevice</title><link>https://devzone.nordicsemi.com/thread/152400?ContentTypeID=1</link><pubDate>Wed, 10 Oct 2018 16:41:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7d8b07c0-77ff-43eb-8904-adc096d33e7e</guid><dc:creator>akca</dc:creator><description>&lt;p&gt;&lt;span class="" id="result_box" lang="en"&gt;&lt;span&gt;I tried what you said.&lt;/span&gt; &lt;span&gt;but my app didn&amp;#39;t work.&lt;/span&gt; &lt;span&gt;When I compiled using mbed, it worked (Because mbed provides softdevice together with the app and a single .hex file).&lt;/span&gt; &lt;span&gt;I&amp;#39;m trying to do it by combining it as mbed did.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Nrf51822 build ble with softdevice</title><link>https://devzone.nordicsemi.com/thread/152398?ContentTypeID=1</link><pubDate>Wed, 10 Oct 2018 16:32:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4ffe5edd-0113-4c41-bfa2-f96ccc08a0fc</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;You only really need to program the SoftDevice once; thereafter, leave it alone and just program the application.&lt;/p&gt;
&lt;p&gt;But to make a single Hex file is just a matter of merging the app Hex and the SoftDevice Hex - I&amp;#39;m sure linux must have tools to do that.&lt;/p&gt;
&lt;p&gt;On Windows, there&amp;#39;s megehex.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>