<?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>On DFU jump address</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/41237/on-dfu-jump-address</link><description>Hello 
 D:\lianxi\nrf52832\nRF5_SDK_15.2.0_9412b96\examples\dfu\secure_bootloader\pca10040_ble 
 
 D:\lianxi\nrf52832\nRF5_SDK_15.2.0_9412b96\examples\ble_peripheral\ble_app_buttonless_dfu\pca10040 
 
 
 IAR Software Setting BootLoader Starting Address</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 07 Dec 2018 12:13:52 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/41237/on-dfu-jump-address" /><item><title>RE: On DFU jump address</title><link>https://devzone.nordicsemi.com/thread/160725?ContentTypeID=1</link><pubDate>Fri, 07 Dec 2018 12:13:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:783f26a9-e3a8-471d-bcd7-311cc37e4774</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Q1: You typically set the application end address equal to the bootloader start address.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Q2: The minimum application ram start address is stated in the S132 SoftDevice release notes(0x1628 bytes). The&amp;nbsp;sd_ble_enable() returns the application start address in the&amp;nbsp;p_app_ram_start variable.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Q3: The bootloader is a separate project and its start address and end address is set in the project settings, you can find the IAR project in&amp;nbsp;examples\dfu\secure_bootloader\pca10040_ble\iar. Its by default set to&lt;/p&gt;
&lt;p&gt;&amp;nbsp;FLASH_START=0x78000&lt;/p&gt;
&lt;p&gt;FLASH_SIZE=0x6000&lt;/p&gt;
&lt;p&gt;RAM_START=0x200057b8&lt;/p&gt;
&lt;p&gt;RAM_SIZE=0xa848&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: On DFU jump address</title><link>https://devzone.nordicsemi.com/thread/160514?ContentTypeID=1</link><pubDate>Thu, 06 Dec 2018 09:01:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:202ba01e-b49d-4e90-98df-5407205f93b8</guid><dc:creator>creator</dc:creator><description>&lt;p&gt;1.Hello, the starting address of app you mentioned is fixed according to the version of the station protocol.&lt;/p&gt;
&lt;p&gt;Is the end of the app larger than the size of the app or close to the BootLoader start address?&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1544086700879v1.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1544086719901v2.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The size of app is 0x1831c, so the end address of app is 2600 + 1831c or 77ffff&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;2. How to calculate the start and end address of RAM?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;3. How do BootLoader start and end addresses be calculated?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you for your reply. I look forward to hearing from you again.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: On DFU jump address</title><link>https://devzone.nordicsemi.com/thread/160406?ContentTypeID=1</link><pubDate>Wed, 05 Dec 2018 14:17:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:312ed61c-1633-442c-a2fd-5364418e85c9</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Q1: The bootloader start address is stored in one of the UICR register, which is written when you flash the bootloader to the nRF52832, see&amp;nbsp;nrf_bootloader_info.c in the bootloader example. The MBR will check this UICR register on boot and then jump to the bootloader if there is a address present. On jumping to the application the bootloader will jump to the SoftDevice and then teh SoftDevice will jump to its end address where it expects the application to be located.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Q2: The application must start where the SoftDevice ends, i.e. if you&amp;#39;re using S132 v6.1.0 the application start address must be set to&amp;nbsp;0x26000 as stated in the release notes. If the application is not placed at this address, then interrupt forwarding will not occur, i.e. the Application will not receive any SoC or Bluetooth events.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>