<?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>NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/29383/nrf52840-boot-flash-strategy</link><description>Hi there, 
 I am considering the NRF52840 to build our new platform but I am struggling to find information about how the device Firmware is programmed. 
 Apart from SWD, can it be flashed over BLE, UART, USB? 
 I havent been able to find anything</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 08 Jan 2019 08:54:11 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/29383/nrf52840-boot-flash-strategy" /><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/164453?ContentTypeID=1</link><pubDate>Tue, 08 Jan 2019 08:54:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:480831a2-033a-48ea-883d-d43bd13bbfeb</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;Does not seem so unfortunately (&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/19955/store-the-application-in-external-flash"&gt;link 1&lt;/a&gt;, &lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/17935/ota-dfu-of-nrf52832-using-external-flash-instead-of-internal-flash"&gt;link 2&lt;/a&gt;).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/164048?ContentTypeID=1</link><pubDate>Fri, 04 Jan 2019 19:54:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8bd0e535-2128-4aa8-87da-bbeb36b873d0</guid><dc:creator>Garrett</dc:creator><description>&lt;p&gt;&lt;span&gt;So booting directly from external flash via XIP is not an option?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116880?ContentTypeID=1</link><pubDate>Tue, 23 Jan 2018 12:21:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:81759110-5e76-4997-9adb-0c7087d9f317</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;Great! Thanks. :) Good luck with your future development if you decide to use the nrf52840!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116879?ContentTypeID=1</link><pubDate>Tue, 23 Jan 2018 12:07:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b374fec0-0bff-4c09-a4c1-497100efa818</guid><dc:creator>Mickael</dc:creator><description>&lt;p&gt;Very happy with the support!
Thanks a lot Bjorn.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116878?ContentTypeID=1</link><pubDate>Tue, 23 Jan 2018 11:54:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cccefa32-722d-4ab6-962f-b3e636409efb</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;If you are happy with the answers, would you mind pressing the up arrow on some of my comments? :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116877?ContentTypeID=1</link><pubDate>Tue, 23 Jan 2018 11:52:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ee7f22e1-f5d5-45f0-8555-667221fb9f34</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;If the nrf52 bootloader gets corrupted, you can reprogram the nrf52 bootloader on the nrf52840 PDK via the built in Segger J-Link programmer using just a usb cable. If the bootloader on an external nrf52840 gets corrupt, you can then only program the external chip using a Segger J-Link programmer either on the nrf52dk and debug out (&lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52/dita/nrf52/development/preview_dev_kit/hw_debug_out.html?cp=2_1_5_5_9"&gt;see link&lt;/a&gt;), or with another segger j-link programmer. You will have to use a 10 pin SWD cable for this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116876?ContentTypeID=1</link><pubDate>Fri, 19 Jan 2018 14:30:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:09398453-64ee-4eef-932d-22b5aa3e2674</guid><dc:creator>Mickael</dc:creator><description>&lt;p&gt;Thanks again!&lt;/p&gt;
&lt;p&gt;And I promise this is the last one:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;so if your bootloader in flash gets corrupted, the ONLY way you re-program an NRF52840 (on the DK or on our own product) is via JTAG or SWD?&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116875?ContentTypeID=1</link><pubDate>Fri, 19 Jan 2018 13:46:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e5738224-960b-4e8c-8b91-85bd258e29f4</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;The nrf52840 pdk has an &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52/dita/nrf52/development/nrf52840_pdk/boot_reset_but.html?cp=2_0_3_4_0"&gt;IF BOOT/RESET button&lt;/a&gt; that can be used to update the Segger chip on the PDK. This way, the interface MCU on the PDK enters bootloader mode.
You are correct that the bootloader is purely in flash. Yep, what dfu is chosen is purely down to what is coded in the bootloader. See &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.2.0/lib_bootloader.html?cp=4_0_0_3_5_0"&gt;this link here&lt;/a&gt; for more info.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116873?ContentTypeID=1</link><pubDate>Thu, 18 Jan 2018 17:27:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e5baef6d-1c11-4c0c-97e4-f38392ef0492</guid><dc:creator>Mickael</dc:creator><description>&lt;p&gt;Hi Bjorn,&lt;/p&gt;
&lt;p&gt;I have almost got it now (I think!).&lt;/p&gt;
&lt;p&gt;... But I have got one last one:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;often MCUs has a specific &amp;quot;bootstrap&amp;quot; pin, which can be set before device start-up and that will force ROM Code to jump to a minimal DFU code which can be used to reprogram via a hardcoded specific interface. This is used, for example, if your flash is corrupted (included your bootloader) and your device wont boot anymore... Well anyway I am sure that you know all of this.&lt;/li&gt;
&lt;li&gt;so far as I can tell, NRF52 does not implement such an HW level mechanism - ist that correct?&lt;/li&gt;
&lt;li&gt;My current understanding of NRF52840 mechanism is that the bootloard is purely in Flash - what DFU is chosen is purely down to what is coded in the bootloader - right?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks for your help,
Mickael&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116871?ContentTypeID=1</link><pubDate>Wed, 17 Jan 2018 09:55:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3ec9b134-1407-4562-90e7-2c834f635eea</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;The device that is referred to in the &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v14.2.0%2Fsdk_app_serial_dfu_bootloader.html&amp;amp;cp=4_0_0_4_4_2"&gt;Serial Secure DFU bootloader example&lt;/a&gt; can refer to either the nrf52DK or the nrf52 chip. Since the &lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v14.2.0%2Fsdk_app_usb_dfu_bootloader.html&amp;amp;cp=4_0_0_4_4_3"&gt;USB DFU example implementation&lt;/a&gt; also uses the serial secure dfu bootloader, it will be the same for this example. In general, Nordic recommends to start developing a product on the nrf52dk &amp;amp; then move on to a custom board once the application works on the DK.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116874?ContentTypeID=1</link><pubDate>Tue, 16 Jan 2018 11:14:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c10bc3b6-78a9-4ebc-b83b-d222899d2ff9</guid><dc:creator>Mickael</dc:creator><description>&lt;p&gt;Hi Bjorn,&lt;/p&gt;
&lt;p&gt;thanks a lot for your answer - I am starting to see clearer.&lt;/p&gt;
&lt;p&gt;Can you therefore confirm my understanding below:&lt;/p&gt;
&lt;p&gt;If looking at NRF52840 chip physical interfaces (as opposed to the DK&amp;#39;s), the FW can be programmed via:
SWD (directly using a J-Link or via P19 of the NRF52 DK thanks to the embedded J-LINK OB)
; BLE (as you mentionned) ; on the NRF52 DK documentation, I have also found evidences of &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.2.0/sdk_app_serial_dfu_bootloader.html?cp=4_0_0_4_4_2"&gt;UART&lt;/a&gt; and &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.2.0/sdk_app_usb_dfu_bootloader.html?cp=4_0_0_4_4_3"&gt;USB&lt;/a&gt; DFUs implementation but I am struggling to understand if they refer to the DK&amp;#39;s board or the NRF&amp;#39;s chip interfaces... Could you please clarify that for me?&lt;/p&gt;
&lt;p&gt;Thanks for your help,
Mickael&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 boot/flash strategy</title><link>https://devzone.nordicsemi.com/thread/116872?ContentTypeID=1</link><pubDate>Mon, 15 Jan 2018 15:02:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:127e5734-f9f4-4b89-b83e-3d4e9ae2a9ce</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;Take a look at these two links (&lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fdevelopment%2Fnrf52840_pdk%2Fhw_debug_out.html"&gt;link1&lt;/a&gt;, &lt;a href="https://devzone.nordicsemi.com/question/73450/programming-external-nrf52-module/"&gt;link2&lt;/a&gt;). The recommended ways are to either use the debug out port on an nrf52 dk (p19) &amp;amp; program the external module via an SWD cable or via P20 to program shield-mounted targets. This can be done &lt;a href="https://devzone.nordicsemi.com/question/181795/flashing-external-board-using-nrfgo-studio/"&gt;via nrfgostudio&lt;/a&gt; for example. For an example of Over the Air DFU via BLE, you can have a look at &lt;a href="https://devzone.nordicsemi.com/blogs/1085/getting-started-with-nordics-secure-dfu-bootloader/"&gt;this secure dfu blog post&lt;/a&gt;. If your device has a USB connected to Segger J-Link (like the nrf52 DK), you could naturally also use USB.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>