<?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>over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/5019/over-the-air-versus-jlink-programming</link><description>Hi 
 I have been reading for a few days now, through the nrf51 documentation, the forum, and getting a bit of a grip on the proposed concepts in the DK.
However, what I do not really get yet is the following: is the over the air programming equivalent</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 09 Jan 2015 15:55:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/5019/over-the-air-versus-jlink-programming" /><item><title>RE: over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/thread/17701?ContentTypeID=1</link><pubDate>Fri, 09 Jan 2015 15:55:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:80aa2433-324a-4206-9d61-74f0006a8756</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;Follow my blog page to setup Eclipse environment.  Once you have created your project and build in Eclipse, go to the run menu and debug configuration to create a new debug coffin in the GDB Segger section.&lt;br /&gt;
&lt;a href="http://embeddedsoftdev.blogspot.ca/p/ehal-nrf51.html"&gt;nRF51 development with Eclipse&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/thread/17700?ContentTypeID=1</link><pubDate>Fri, 09 Jan 2015 15:02:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3e11e403-b34f-430f-85d6-2470f4800bc6</guid><dc:creator>wim</dc:creator><description>&lt;p&gt;I have my kit now - apparently i did not order the nrf51sdk but an nrf51833-DK, which comes with a separate J-link Lite; so, I have built the blinky-ble example, and want to start debugging or do programming from Eclipse. What do I do? How do I tell eclipse to go via the jlink and start debugging?
and how do I just program, such that it runs the compiled code after reset?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/thread/17699?ContentTypeID=1</link><pubDate>Wed, 07 Jan 2015 15:07:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e6c8fd7a-b61f-4e03-8362-e6e4c3ed9c94</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;Yes, you can use your DK with Jlink to develop and debug your firmware in Eclipse.  Only thing you need with nRFgo is to Flash in the Softdevice and that need to be done once only.  There are many pages on my Blog.  One of which will guide you through setting up Eclipse Environment which include plugins for both JLink &amp;amp; OpenOCD.  Since you have JlInk, OpenOCD is not needed.  All the DK/EK have JLink builtin.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/thread/17698?ContentTypeID=1</link><pubDate>Wed, 07 Jan 2015 14:38:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1253860d-b54d-4ab7-beae-dd85f7fb363d</guid><dc:creator>wim</dc:creator><description>&lt;p&gt;Hi Nguyen,
I have read your blog. But still have a question about programming. I have a nrf51 DK, so I can use Jlink as hardware interface, do not need the OpenOCD.
If you say I can debug in eclipse, how does this connect to the target then? Via the Jlink I assume? So can&amp;#39;t this same interface be used for programming? And can&amp;#39;t this be triggered from within Eclipse?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/thread/17697?ContentTypeID=1</link><pubDate>Wed, 07 Jan 2015 11:43:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eadeb898-cb49-4c34-8ba0-d91e99493acc</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;When you OTA Blinky ble.  It is only the blinky that is uploaded, no change to the rest. Ble applications start at address 0x16000.  The DFU will put it in the right place.  So you need to set that has start address when you create a ble firmware.  The DFU example by default uses a gip as button for switch back to DFU mode.  It also possible from your application to add code to switch back.  You need to look at the doc for details.  Eclipse cannot flash the softdevice directly.  You an external tool for that.  Eclipse can be used to develop and debug your app.  This blog site will get you started with Eclipse development with nRF51. &lt;a href="http://embeddedsoftdev.blogspot.ca/p/ehal-nrf51.html"&gt;http://embeddedsoftdev.blogspot.ca/p/ehal-nrf51.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/thread/17696?ContentTypeID=1</link><pubDate>Wed, 07 Jan 2015 09:06:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:afd4bfe8-f990-48ab-bc6d-32c916aab5c7</guid><dc:creator>wim</dc:creator><description>&lt;p&gt;Ok, almost clear. I understood that on the beacon kit, then soft device is already programmed on the device. But I still have these questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;when using able dfu to upload the blinky ble example, is it only transferring the application then?&lt;/li&gt;
&lt;li&gt;at what position does the processor start? is the boot loader handling this?&lt;/li&gt;
&lt;li&gt;and do I need to embed something in the application to be able to switch back to dfu, or is the soft device handling that autonomously?&lt;/li&gt;
&lt;li&gt;when I program the device using a Jlink, do I need to program soft device, boot loader and application separately, or are they combined during the build stages?&lt;/li&gt;
&lt;li&gt;do I need the nRFGo tool for this, or can I do this also from Eclipse?&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/thread/17703?ContentTypeID=1</link><pubDate>Tue, 06 Jan 2015 17:07:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b58420b2-192d-45f4-b8a0-c76b9a002f21</guid><dc:creator>wim</dc:creator><description>&lt;p&gt;Ok, I will read the DFU documentation. Maybe you could answer this quick question:
Just to have a starting point, as I have not received the DK yet (it is on its way),  I wanted to try the following:
compile the blinky example, change the IO&amp;#39;s to match the LED&amp;#39;s on the beacon kit, and then use the over the air programming feature of the beacon kit to program the beacon kit with the blinky example.
Would this work?&lt;/p&gt;
&lt;p&gt;And a second question: the programming via Jlink, is it just 1 hex or bin file which is programmed, for boot loader, soft device and application, or are these 3 things programmed separately?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/thread/17702?ContentTypeID=1</link><pubDate>Tue, 06 Jan 2015 16:44:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6ad7d8a4-2d81-4061-a232-f0e31b4fec5e</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Over the air programming has the advantage that it lets an end user update the FW via e.g. a smartphone if needed. This gives the developer an opportunity to release updated FW to existing users.&lt;/p&gt;
&lt;p&gt;The beacon kit comes pre-programmed with a bootloader and the softdevice as opposed to the development kits. This is required for enabling over the air firmware update. Otherwise you would have to program the bootloader+softdevice with a J-link for the first time programming in order to enable OTA programming for later use.
I recommend  spending some time reading DFU documentation &lt;a href="http://developer.nordicsemi.com/nRF51_SDK/doc/7.1.0/s110/html/a00062.html"&gt;here&lt;/a&gt; to get a better understanding of the DFU concepts.&lt;/p&gt;
&lt;p&gt;Using a  J-link programmer is more suited for development as it offers much more debugging features and flash download speed. The development kit comes with an on-board Segger J-link lite programmer. So normally you would use this during development of your firmware, and add the DFU as an additional product feature.&lt;/p&gt;
&lt;p&gt;Any Segger J-link programmer can be used to program the beacon kit. See chapter 5.5.4 in &lt;a href="https://www.nordicsemi.com/eng/nordic/Products/nRF51822-Bluetooth-Smart-Beacon-Kit/nRF51822-BK-UG/30209"&gt;Beacon UG&lt;/a&gt; for the appropriate connector. Note that the &lt;a href="https://www.nordicsemi.com/eng/Products/nRF51-DK"&gt;nRF51 DK&lt;/a&gt; has a &amp;quot;debug out&amp;quot; header that can be used to target external boards with nRF51 chips as well.&lt;/p&gt;
&lt;p&gt;The memory arrangement with softdevice s110, bootloader and application is described in chapter 9 and 10 in &lt;a href="https://www.nordicsemi.com/eng/nordic/Products/nRF51822/S110-SDS/20338"&gt;S110-SDS&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: over the air versus Jlink  programming</title><link>https://devzone.nordicsemi.com/thread/17695?ContentTypeID=1</link><pubDate>Tue, 06 Jan 2015 16:32:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d7b41b1c-9ee3-4e6f-9ab1-17c4f72fdd3c</guid><dc:creator>Nguyen Hoan Hoang</dc:creator><description>&lt;p&gt;Softdevice (s110, s120, s130) is the Bluetooth/Ants stack.  A library or see it as pc bios services.&lt;br /&gt;
There are 2 kind of blinky examples.  one without ble which is plain hello world kind of stuff.  It does not use softdevice, though require jlink to flash.  The other which is BLE need softdevice loaded.  The BLE dfu allows you to upload the blinky BLE over the air but not the hello world.
You can also use link to flash the blinky ble as well.&lt;/p&gt;
&lt;p&gt;Blinky hello world is located at address 0,&lt;/p&gt;
&lt;p&gt;Blinky ble is located at 0x16000, bellow Softdevice as ~80K starting from address 0&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>