<?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>MCUBoot/sysbuild with external partition, on XIAO_BLE device/nrf52840</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/118180/mcuboot-sysbuild-with-external-partition-on-xiao_ble-device-nrf52840</link><description>Hello, 
 
 I&amp;#39;m trying to move my project based on the xiao_ble board from using SDK 2.6.2 with Adafruit_bootloader to SDK 2.9.0 with MCUBoot/sysbuild. 
 
 To keep things simple, I&amp;#39;m trying to run the &amp;quot;zephyr/samples/sysbuild/with_mcuboot&amp;quot; code, the only</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 24 Feb 2025 09:24:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/118180/mcuboot-sysbuild-with-external-partition-on-xiao_ble-device-nrf52840" /><item><title>RE: MCUBoot/sysbuild with external partition, on XIAO_BLE device/nrf52840</title><link>https://devzone.nordicsemi.com/thread/524275?ContentTypeID=1</link><pubDate>Mon, 24 Feb 2025 09:24:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b3e05b4-1129-4124-bc3e-62dbda73c0e2</guid><dc:creator>AdBee</dc:creator><description>&lt;p&gt;Okay, interesting. Unfortunately I can&amp;#39;t help you getting through this, but I wish you good luck with your endeavors :)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MCUBoot/sysbuild with external partition, on XIAO_BLE device/nrf52840</title><link>https://devzone.nordicsemi.com/thread/524187?ContentTypeID=1</link><pubDate>Sat, 22 Feb 2025 19:31:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:804bbe90-a035-40dd-ac0d-20f6c07a40cd</guid><dc:creator>PjGlasso</dc:creator><description>&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;So for me the best solution is to use my MIT app Front-end and just use the NRF DFU behind the scense as I understand it I can do it two ways , one just hand off the task to NRF when the user selects UPDATE on my app that controls the device through BLE. the second is to have The NRF DFU as a gateway always running in the background. I&amp;#39;m investigating the former.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;GL :-) PJ :v:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;LIke this:&lt;/p&gt;
&lt;p data-start="831" data-end="1041"&gt;&lt;strong data-start="831" data-end="867"&gt;MIT App Inventor as a Front End:&lt;/strong&gt;&lt;br data-start="867" data-end="870" /&gt;Instead of trying to implement all the DFU logic in your MIT App Inventor project (which can be very challenging given its limited native BLE blocks), you can use it to:&lt;/p&gt;
&lt;ul data-start="1044" data-end="1538"&gt;
&lt;li data-start="1044" data-end="1159"&gt;&lt;strong data-start="1046" data-end="1071"&gt;Configure the Device:&lt;/strong&gt; Allow the user to select firmware, configure update settings, or display update status.&lt;/li&gt;
&lt;li data-start="1162" data-end="1340"&gt;&lt;strong data-start="1164" data-end="1191"&gt;Launch the DFU Process:&lt;/strong&gt; When an update is needed, your MIT App Inventor app can simply call an intent (on Android) or use a similar mechanism to open the dedicated DFU app.&lt;/li&gt;
&lt;li data-start="1343" data-end="1538"&gt;&lt;strong data-start="1345" data-end="1368"&gt;Monitor and Report:&lt;/strong&gt; Optionally, your app could get a status update (if the DFU client can pass back information) or simply notify the user that the update is in progress and then completed.&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MCUBoot/sysbuild with external partition, on XIAO_BLE device/nrf52840</title><link>https://devzone.nordicsemi.com/thread/523951?ContentTypeID=1</link><pubDate>Thu, 20 Feb 2025 17:01:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:039addf1-10ba-4ee2-86b0-2f0504bdb289</guid><dc:creator>AdBee</dc:creator><description>&lt;p&gt;Hello, thank you for your kind words.&lt;/p&gt;
&lt;p&gt;Do you mean to update the software version ? I&amp;#39;m currently using SMP server on the chip, and deploy with nRFConnect on my phone. It is really straightforward to set this up once you have MCUBoot running.&lt;/p&gt;
&lt;p&gt;At some point I will have to replace nRFConnect with my own application for the purpose of pushing updates to the device. I&amp;#39;m not there yet though.&lt;/p&gt;
&lt;p&gt;Have a nice day.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MCUBoot/sysbuild with external partition, on XIAO_BLE device/nrf52840</title><link>https://devzone.nordicsemi.com/thread/523374?ContentTypeID=1</link><pubDate>Tue, 18 Feb 2025 01:09:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f56c3576-ed90-452d-a0ce-fae0d3392e15</guid><dc:creator>PjGlasso</dc:creator><description>&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;Wow, this is a great Thread, and GREAT work getting it done. Exactly what I want to work with too.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;what tool or method will you use to Update ?&lt;/p&gt;
&lt;p&gt;TIA&lt;/p&gt;
&lt;p&gt;GL&amp;nbsp; :-) PJ :v:&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: MCUBoot/sysbuild with external partition, on XIAO_BLE device/nrf52840</title><link>https://devzone.nordicsemi.com/thread/519253?ContentTypeID=1</link><pubDate>Tue, 21 Jan 2025 10:57:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1d37e303-13a7-45d9-bcec-5af572af40cd</guid><dc:creator>AdBee</dc:creator><description>&lt;p&gt;OK I figured this out ...&lt;br /&gt;&lt;br /&gt;I needed to add a &lt;strong&gt;sysbuild/mcuboot.overlay&lt;/strong&gt; file:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;/ {
    chosen {
        nordic,pm-ext-flash = &amp;amp;p25q16h;
    };
};&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;in addition to the overlay file that is already providend in the board directory.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I also had to add the two following lines to &lt;strong&gt;sysbuild/mcuboot.conf&lt;/strong&gt;:&lt;/p&gt;
&lt;div style="background-color:#1c2433;color:#d0d7e4;font-family:&amp;#39;CommitMono Nerd Font Mono&amp;#39;, Consolas, &amp;#39;Courier New&amp;#39;, monospace, &amp;#39;Droid Sans Mono&amp;#39;, &amp;#39;monospace&amp;#39;, monospace;font-size:14px;font-weight:normal;line-height:19px;white-space:pre;"&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#eacd61;"&gt;CONFIG_BOOT_MAX_IMG_SECTORS&lt;/span&gt;&lt;span style="color:#d0d7e4;"&gt;=&lt;/span&gt;&lt;span style="color:#afbbd2;"&gt;256&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#eacd61;"&gt;CONFIG_NORDIC_QSPI_NOR_FLASH_LAYOUT_PAGE_SIZE&lt;/span&gt;&lt;span style="color:#d0d7e4;"&gt;=&lt;/span&gt;&lt;span style="color:#afbbd2;"&gt;4096&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In order to match the actual size of my partition.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Unrelated to the issue, but to answer my previous concerns with &lt;strong&gt;regions.yml&lt;/strong&gt;: the file doesn&amp;#39;t seem relevant at all. All it seems to do is create a generic partition &amp;quot;&lt;em&gt;external_partition&lt;/em&gt;&amp;quot; but this partition can be overriden in the &lt;em&gt;pm_static.yml&lt;/em&gt; file.&lt;/p&gt;
&lt;p&gt;After some tweaks I ended up with a &lt;strong&gt;pm_static.yml&lt;/strong&gt; file like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;app:
  address: 0xf200
  end_address: 0x87000
  region: flash_primary
  size: 0x77e00
mcuboot:
  address: 0x0
  end_address: 0xf000
  placement:
    align:
      end: 0x1000
    before:
    - mcuboot_primary
  region: flash_primary
  size: 0xf000
mcuboot_pad:
  address: 0xf000
  end_address: 0xf200
  placement:
    align:
      start: 0x1000
    before:
    - mcuboot_primary_app
  region: flash_primary
  size: 0x200
mcuboot_primary:
  address: 0xf000
  end_address: 0x100000
  orig_span: &amp;amp;id001
  - app
  - mcuboot_pad
  region: flash_primary
  sharers: 0x1
  size: 0x0f1000
  span: *id001
mcuboot_primary_app:
  address: 0xf200
  end_address: 0x100000
  orig_span: &amp;amp;id002
  - app
  region: flash_primary
  size: 0x0f0e00
  span: *id002

external_flash:
  address: 0x000000
  end_address: 0x200000
  region: external_flash
  default_driver_kconfig: CONFIG_NORDIC_QSPI_NOR
  device: DT_CHOSEN(nordic_pm_ext_flash)
  orig_span: &amp;amp;id003
  - mcuboot_secondary
  size: 0x200000
  span: *id003
mcuboot_secondary:
  address: 0x0
  end_address: 0x0f1000
  placement:
    align:
      start: 0x1000
  share_size:
  - mcuboot_primary
  region: external_flash
  size: 0x0f1000

sram_primary:
  address: 0x20000000
  end_address: 0x20040000
  region: sram_primary
  size: 0x40000&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;and &amp;quot;&lt;em&gt;west build -t partition_manager_report&amp;quot;&lt;/em&gt; does report&amp;nbsp; a nice external partition with the correct size:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;  external_flash (0x200000 - 2048kB): 
+-------------------------------------------+
+---0x0: external_flash (0x200000 - 2048kB)-+
| 0x0: mcuboot_secondary (0xf1000 - 964kB)  |
+-------------------------------------------+

  flash_primary (0x100000 - 1024kB): 
+-------------------------------------------------+
| 0x0: mcuboot (0xf000 - 60kB)                    |
+---0xf000: mcuboot_primary (0xf1000 - 964kB)-----+
| 0xf000: mcuboot_pad (0x200 - 512B)              |
+---0xf200: mcuboot_primary_app (0xf0e00 - 963kB)-+
| 0xf200: app (0xf0e00 - 963kB)                   |
+-------------------------------------------------+

  sram_primary (0x40000 - 256kB): 
+--------------------------------------------+
| 0x20000000: sram_primary (0x40000 - 256kB) |
+--------------------------------------------+&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Have a good day.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>