<?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>Is USB ACM serial DFU possible with ncs v2.6.1?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/116566/is-usb-acm-serial-dfu-possible-with-ncs-v2-6-1</link><description>I am building a BLE audio product that is based on the nRF5340. The application is largely based on the nrf5340_audio ncs example application, but I am modifying the the application so it can be re-configured at run-time instead of using the KConfig #defines</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 16 Dec 2024 09:29:07 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/116566/is-usb-acm-serial-dfu-possible-with-ncs-v2-6-1" /><item><title>RE: Is USB ACM serial DFU possible with ncs v2.6.1?</title><link>https://devzone.nordicsemi.com/thread/515056?ContentTypeID=1</link><pubDate>Mon, 16 Dec 2024 09:29:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2ac7b891-1864-4ff3-ab2a-0052e161a8d4</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
[quote user="khett-ptd"]Apologies for my slow response.[/quote]
&lt;p&gt;No worries&lt;/p&gt;
[quote user="khett-ptd"] have been able to get the system to fit into the on-chip flash with mcuboot by disabling some of the Bluetooth controller features listed in the child_image/hci_image/*.conf files.&amp;nbsp;&amp;nbsp;[/quote]
&lt;p&gt;Glad to hear that!&lt;/p&gt;
[quote user="khett-ptd"]Now that the code compiles and links, it does not boot correctly, but that is a different issue than the question posed in this support ticket.&amp;nbsp; I think we should consider this issue closed and I will submit a new issue about debugging the mcuboot process.[/quote]
&lt;p&gt;Noted, I&amp;#39;ll mark this case as closed for now, but you can always reopen it if you have any additional questions related to what we&amp;#39;ve discussed in this ticket already.&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is USB ACM serial DFU possible with ncs v2.6.1?</title><link>https://devzone.nordicsemi.com/thread/515008?ContentTypeID=1</link><pubDate>Mon, 16 Dec 2024 01:31:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:05a9506b-1539-454d-9b6f-8b9955d19a1b</guid><dc:creator>khett-ptd</dc:creator><description>&lt;p&gt;Hi Andreas,&lt;/p&gt;
&lt;p&gt;Apologies for my slow response.&amp;nbsp; I have been able to get the system to fit into the on-chip flash with mcuboot by disabling some of the Bluetooth controller features listed in the child_image/hci_image/*.conf files.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now that the code compiles and links, it does not boot correctly, but that is a different issue than the question posed in this support ticket.&amp;nbsp; I think we should consider this issue closed and I will submit a new issue about debugging the mcuboot process.&lt;/p&gt;
&lt;p&gt;Thanks for your help,&lt;br /&gt;-- Kristopher&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is USB ACM serial DFU possible with ncs v2.6.1?</title><link>https://devzone.nordicsemi.com/thread/513579?ContentTypeID=1</link><pubDate>Thu, 05 Dec 2024 09:19:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9ca6ac1b-6c17-427b-9926-64d448a6f155</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Were you able to perform DFU from external flash with a minimal sample, for instance the one in the lessons I sent on your custom hardware? I strongly recommend doing this with a minimal sample before porting to a full scale application. Or try to apply the lesson 3 steps to the peripheral UART sample found in the SDK.&lt;/p&gt;
&lt;p&gt;Lets assume you&amp;#39;ve succeeded in that and go on in the meanwhile:&lt;/p&gt;
[quote user="khett-ptd"]I am not sure where the FLASH memory region is defined.&amp;nbsp; In the &amp;quot;build/dev_gateway/build_release&amp;quot; directory I found a file named &amp;quot;regions.yml&amp;quot;, but this file has no region named &amp;quot;FLASH&amp;quot;.&amp;nbsp; Do you know which part of the system defines this &amp;quot;FLASH&amp;quot; memory region?[/quote]
&lt;p&gt;Within the build folder I would expect that you find a &amp;quot;partitions.yml&amp;quot; within the first level of the build folder, i.e build/partitions.yml This is the generated partitioning map for that build. It should look something like this (The Matter Weather station project which showcases DFU over external flash):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;app:
  address: 0x10200
  end_address: 0xf0000
  region: flash_primary
  size: 0xdfe00
external_flash:
  address: 0x120000
  device: MX25R64
  end_address: 0x800000
  region: external_flash
  size: 0x6e0000
mcuboot:
  address: 0x0
  end_address: 0x10000
  region: flash_primary
  size: 0x10000
mcuboot_pad:
  address: 0x10000
  end_address: 0x10200
  region: flash_primary
  size: 0x200
mcuboot_primary:
  address: 0x10000
  end_address: 0xf0000
  orig_span: &amp;amp;id001
  - mcuboot_pad
  - app
  region: flash_primary
  size: 0xe0000
  span: *id001
mcuboot_primary_1:
  address: 0x0
  device: flash_ctrl
  end_address: 0x40000
  region: ram_flash
  size: 0x40000
mcuboot_primary_app:
  address: 0x10200
  end_address: 0xf0000
  orig_span: &amp;amp;id002
  - app
  region: flash_primary
  size: 0xdfe00
  span: *id002
mcuboot_secondary:
  address: 0x0
  device: MX25R64
  end_address: 0xe0000
  region: external_flash
  size: 0xe0000
mcuboot_secondary_1:
  address: 0xe0000
  device: MX25R64
  end_address: 0x120000
  region: external_flash
  size: 0x40000
otp:
  address: 0xff8100
  end_address: 0xff83fc
  region: otp
  size: 0x2fc
pcd_sram:
  address: 0x20000000
  end_address: 0x20002000
  region: sram_primary
  size: 0x2000
ram_flash:
  address: 0x40000
  end_address: 0x40000
  region: ram_flash
  size: 0x0
rpmsg_nrf53_sram:
  address: 0x20070000
  end_address: 0x20080000
  placement:
    before:
    - end
  region: sram_primary
  size: 0x10000
settings_storage:
  address: 0xf0000
  end_address: 0x100000
  region: flash_primary
  size: 0x10000
sram_primary:
  address: 0x20002000
  end_address: 0x20070000
  region: sram_primary
  size: 0x6e000
&lt;/pre&gt;&lt;/p&gt;
[quote user="khett-ptd"]I added a status message to the top-level CMakeLists.txt file to verify that the CONFIG_AUDIO_DFU value is set to &amp;quot;2&amp;quot;, which then causes the build system to include the mcuboot config and the pm_dfu_external_flash.yml partition files.[/quote]
&lt;p&gt;To clarify, I&amp;#39;ve only seen the&amp;nbsp;CONFIG_MCUBOOT_SERIAL=y present (which is what they use in lesson 2 I sent, but not in &lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-8-bootloaders-and-dfu-fota/topic/exercise-3-fota-over-bluetooth-low-energy/"&gt;lesson 3&lt;/a&gt;). Is your end goal to set up only serial DFU, BLE FOTA or both of them?&lt;/p&gt;
&lt;p&gt;Is&amp;nbsp;CONFIG_PM_SINGLE_IMAGE=y from a sample, course or something you&amp;#39;ve set up your self? I recommend that you do simultaneous DFU instead of one and one image so that you don&amp;#39;t risk breaking the HCI interface between the app-core and the net-core due to versioning incompatibility.&amp;nbsp;&lt;/p&gt;
[quote user="khett-ptd"]I am not sure where the FLASH memory region is defined.&amp;nbsp;[/quote]
&lt;p&gt;In NCS 2.6.x (or anything below 2.7.0), Flash memory region is set either dynamically or statically. If you don&amp;#39;t have a pm_static.yml within your project folder, then the build system will build everything dynamically and try to place things roughly where it should be. For complex applications using multiple subsystems, for instance BLE which requires a settings partition, the SD card config which requires a NVS partition, external flash DFU which requires a secondary app partition and MCUboot (and b0 if you have updatable bootloader), we recommend you statically set up your own partition using the pm_static.yml so that you have full control over the placements both now and in the future if you need to do an update.&lt;/p&gt;
[quote user="khett-ptd"]The strange thing about this error message is that the FLASH overflows by the same amount if I set&amp;nbsp;&lt;span&gt;CONFIG_AUDIO_DFU to &amp;quot;1&amp;quot;, which I would think would overflow the internal flash by a much larger amount than if the secondary images are being re-directed to the external flash.&lt;/span&gt;[/quote]
&lt;p&gt;I agree. My guess is that it has not been set up to use external flash, but I can&amp;#39;t be sure since I don&amp;#39;t know what&amp;nbsp;CONFIG_AUDIO_DFU=2 does. Is this something you could share? If so, I&amp;#39;ll have a look&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is USB ACM serial DFU possible with ncs v2.6.1?</title><link>https://devzone.nordicsemi.com/thread/513549?ContentTypeID=1</link><pubDate>Thu, 05 Dec 2024 05:42:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b495473c-89e3-43ea-bad0-9454a2c9981d</guid><dc:creator>khett-ptd</dc:creator><description>&lt;p&gt;Hi Andreas,&lt;/p&gt;
&lt;p&gt;Thanks for the information about some of the issues with trying to run the entire application out of external flash.&amp;nbsp; I have been trying to configure my application to work in the way you suggest where the bootloader uses the external flash for the secondary &amp;quot;update&amp;quot; images, but I am still running into a linker issue.&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s a screen capture of the build output that shows the error.&amp;nbsp; This error seems strange to me because the &amp;quot;Memory usage&amp;quot; indicates that the FLASH memory region is only 63% full, but then a few lines later there is an error message stating that the FLASH memory region has overflowed by 18688 bytes.&lt;/p&gt;
&lt;p&gt;&lt;img style="max-height:240px;max-width:320px;" alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/ConsoleOutput_2D00_FlashOverflow.png" /&gt;&lt;/p&gt;
&lt;p&gt;I am not sure where the FLASH memory region is defined.&amp;nbsp; In the &amp;quot;build/dev_gateway/build_release&amp;quot; directory I found a file named &amp;quot;regions.yml&amp;quot;, but this file has no region named &amp;quot;FLASH&amp;quot;.&amp;nbsp; Do you know which part of the system defines this &amp;quot;FLASH&amp;quot; memory region?&lt;/p&gt;
&lt;p&gt;I added a status message to the top-level CMakeLists.txt file to verify that the CONFIG_AUDIO_DFU value is set to &amp;quot;2&amp;quot;, which then causes the build system to include the mcuboot config and the pm_dfu_external_flash.yml partition files.&lt;/p&gt;
&lt;p&gt;Here are my project configurations.&lt;/p&gt;
&lt;p&gt;In dfu/conf/overlay-mcuboot.conf:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;CONFIG_SIZE_OPTIMIZATIONS=y
CONFIG_MAIN_STACK_SIZE=20480
CONFIG_MBEDTLS_CFG_FILE=&amp;quot;mcuboot-mbedtls-cfg.h&amp;quot;
CONFIG_PCD_APP=y
# Enable mcuboot serial over USB CDC port
CONFIG_CBPRINTF_NANO=y
CONFIG_LOG=y
CONFIG_UART_CONSOLE=y
CONFIG_MCUBOOT_SERIAL=y
CONFIG_BOOT_SERIAL_CDC_ACM=y&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;in child_image/hci_ipc_release.conf:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;#####
# Features for unicast client (Cellphone type device)
CONFIG_BT_ISO_CENTRAL=y

#####
# Features for unicast server (earbud type device)
CONFIG_BT_ISO_PERIPHERAL=y

#####
# Features for broadcast source
CONFIG_BT_ISO_BROADCASTER=y

#####
# Features for broadcast receiver
CONFIG_BT_ISO_SYNC_RECEIVER=y


CONFIG_BT_EXT_ADV=y
CONFIG_BT_PER_ADV_SYNC_TRANSFER_RECEIVER=y
CONFIG_BT_PER_ADV_SYNC_TRANSFER_SENDER=y

CONFIG_BT_CTLR_CONN_ISO_GROUPS=1
CONFIG_BT_CTLR_CONN_ISO_STREAMS=2
CONFIG_BT_CTLR_SYNC_ISO_STREAM_COUNT=2
CONFIG_BT_CTLR_ADV_ISO_SET=1
CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=2

# Support two headsets, each with one source and one sink stream
CONFIG_BT_MAX_CONN=4
CONFIG_BT_CTLR_SDC_PERIPHERAL_COUNT=1

# Allow using more than default advertising event length
CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=251

# To present the audio at the right point in time, we need the controller and
# audio clock to be synchronized
CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START=y
CONFIG_MPSL_TRIGGER_IPC_TASK_ON_RTC_START_CHANNEL=4&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;In the top level prj_release.conf:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;#####
# Items added for UPF
CONFIG_BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE=30
CONFIG_BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE=120
CONFIG_BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE=80
CONFIG_BT_BAP_UNICAST_CLIENT_ASE_SNK_COUNT=2
CONFIG_NRF_APPROTECT_USE_UICR=n
CONFIG_BT_L2CAP_TX_MTU=128

#####
# nRF5340 Audio
CONFIG_NRF5340_AUDIO=y
CONFIG_AUDIO_SOURCE_USB=y

# HEADSET = 1, GATEWAY = 2
CONFIG_AUDIO_DEV=2

# The device to scan for is now set in the PtdSettings struct
#CONFIG_BT_DEVICE_NAME=&amp;quot;INZONE Buds&amp;quot;
#CONFIG_BT_DEVICE_NAME=&amp;quot;Galaxy Buds2 Pro&amp;quot;

#CONFIG_BT_MAX_CONN=2
#CONFIG_BT_BAP_UNICAST_CLIENT_ASE_SNK_COUNT=2

# The Sony WF-1000XM5 earbuds require more than the default 5 codec capabilities
CONFIG_CODEC_CAP_COUNT_MAX=12

#####
# We need to enable the STREAM_BIDIRECTIONAL option so the zephyr code will
# compile with this feature enabled.  The g_settings.biDirAudio flag will
# be used in the PTD app to decide what to do at run time.
CONFIG_STREAM_BIDIRECTIONAL=y

#####
# Sample Rate Converter items
# Requied for bi-dir audio with USB because the system 
# uses 24 kHz for both source and sink streams.
CONFIG_SAMPLE_RATE_CONVERTER=y
CONFIG_SAMPLE_RATE_CONVERTER_FILTER_SIMPLE=y


#####
# Debug items

#####
# General
CONFIG_DEBUG=n
CONFIG_DEBUG_INFO=n
CONFIG_WDT_CTLR=y
CONFIG_ASSERT=n
CONFIG_STACK_USAGE=n
CONFIG_THREAD_MONITOR=n
CONFIG_THREAD_NAME=y
CONFIG_THREAD_RUNTIME_STATS=n
CONFIG_THREAD_RUNTIME_STATS_USE_TIMING_FUNCTIONS=n
CONFIG_STACK_SENTINEL=y
CONFIG_INIT_STACKS=y
CONFIG_STATS=n
CONFIG_STATS_SHELL=n

#####
# I2C Eeprom support
CONFIG_I2C=y
CONFIG_EEPROM=y
CONFIG_EEPROM_AT24=y
CONFIG_EEPROM_SHELL=y

#####
# Settings
CONFIG_SETTINGS=y
CONFIG_BT_SETTINGS=y
CONFIG_SETTINGS_RUNTIME=y
CONFIG_SETTINGS_SHELL=y

#####
# Enable USB features
CONFIG_USB_DEVICE_STACK=y
CONFIG_USB_COMPOSITE_DEVICE=y
CONFIG_USB_DEVICE_INITIALIZE_AT_BOOT=n
CONFIG_USB_DEVICE_MANUFACTURER=&amp;quot;Portland Tool And Die&amp;quot;
CONFIG_USB_DEVICE_PRODUCT=&amp;quot;PTD BQC-4150&amp;quot;
CONFIG_USB_DEVICE_VID=0x1915
CONFIG_USB_DEVICE_PID=0xEA9C

#####
# Enable USB CDC uart support
CONFIG_USB_CDC_ACM=y
CONFIG_UART_LINE_CTRL=y
CONFIG_UART_INTERRUPT_DRIVEN=y

# Uart driver
#CONFIG_SERIAL=y

#####
# Logging
CONFIG_LOG=y
CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
CONFIG_LOG_TAG_MAX_LEN=2
CONFIG_LOG_TAG_DEFAULT=&amp;quot;--&amp;quot;
CONFIG_PRINTK=y
# Don&amp;#39;t mix the log output with the shell uart IO
CONFIG_LOG_BACKEND_UART=y
CONFIG_SHELL_LOG_BACKEND=n
#CONFIG_LOG_DEFAULT_LEVEL=4

# Console related defines
CONFIG_CONSOLE=n
CONFIG_UART_CONSOLE=n

# Shell related defines
CONFIG_BOOT_BANNER=n
CONFIG_SHELL=y
CONFIG_KERNEL_SHELL=y
CONFIG_BT_SHELL=n
CONFIG_BT_TESTING=n
CONFIG_USE_SEGGER_RTT=n
## Disable logs on RTT
CONFIG_SHELL_RTT_INIT_LOG_LEVEL_NONE=n
CONFIG_SHELL_BACKEND_RTT=n
CONFIG_SHELL_BACKEND_SERIAL=y
CONFIG_SHELL_BACKEND_SERIAL_CHECK_DTR=y
#CONFIG_SHELL_BACKEND_SERIAL_INIT_PRIORITY=51
CONFIG_SHELL_VT100_COLORS=n
CONFIG_SHELL_STACK_SIZE=2048
CONFIG_SHELL_CMD_BUFF_SIZE=1024
## Reduce shell memory usage
CONFIG_SHELL_WILDCARD=n
CONFIG_SHELL_HELP_ON_WRONG_ARGUMENT_COUNT=n
CONFIG_SHELL_STATS=n
CONFIG_SHELL_CMDS=n
CONFIG_SHELL_HISTORY=n
CONFIG_SHELL_PROMPT_UART=&amp;quot;BQC-4150&amp;gt;&amp;quot;

# Turn off default shell commands
CONFIG_I2C_SHELL=n
#CONFIG_HWINFO_SHELL=n
CONFIG_CLOCK_CONTROL_NRF_SHELL=n
CONFIG_FLASH_SHELL=n
CONFIG_DEVICE_SHELL=n

# Suppress err msg from sd_check_card_type. Because SPI_SDHC has no card presence method,
# assume card is in slot. Thus error message is always shown if card is not inserted
CONFIG_SD_LOG_LEVEL_OFF=y

#####
# Serial boot loader items
# Enable bootloader framework
# 1 = internal flash, 2 = external flash
CONFIG_AUDIO_DFU=2
#CONFIG_B0N_MINIMAL=y
#CONFIG_BOOTLOADER_MCUBOOT=y
#CONFIG_PM_SINGLE_IMAGE=y

####
# BT security features
# SMP = Security Management Protocol
CONFIG_BT_SMP=y
# If CONFIG_BT_PRIVACY is no, then the system should use public addressees, otherwise RPA.
CONFIG_BT_PRIVACY=n
CONFIG_BT_BONDABLE=y
# we do not want to enforce MITM as this requires authenticated pairing
CONFIG_BT_SMP_ENFORCE_MITM=n
# we want to overwrite old bonds from the same device (optional, security risk)
CONFIG_BT_SMP_ALLOW_UNAUTH_OVERWRITE=n
CONFIG_BT_ID_UNPAIR_MATCHING_BONDS=n
# Enable CONFIG_BT_LOG_SNIFFER_INFO to have the shell print the link keys on pairing events
CONFIG_BT_LOG_SNIFFER_INFO=n

#####
#####
# BLE audio features for unicast client
#####
#####
# MPL = Media Player
CONFIG_BT_MPL=y
# MCS = Media Control Service
CONFIG_BT_MCS=y
# VCP = Volume Control Profile
CONFIG_BT_VCP_VOL_CTLR=y
CONFIG_BT_BAP_UNICAST_CONFIGURABLE=y

#####
#####
# BLE audio features for broadcast source (cellphone type device)
#####
#####
CONFIG_AURACAST=y
# Need to use the CONFIG_BT_AUDIO_BROADCAST_CONFIGURABLE to support 48kHz audio from USB
CONFIG_BT_AUDIO_BROADCAST_CONFIGURABLE=y
CONFIG_BT_AUDIO_BITRATE_BROADCAST_SRC=96000
#CONFIG_BT_BAP_BROADCAST_16_2_2=n
#CONFIG_BT_BAP_BROADCAST_24_2_1=n
CONFIG_BT_DEVICE_NAME=&amp;quot;PTD SOURCE&amp;quot;
CONFIG_BT_AUDIO_BROADCAST_NAME=&amp;quot;PTD SOURCE&amp;quot;
#CONFIG_BT_AUDIO_BROADCAST_NAME_ALT=&amp;quot;PTD 2&amp;quot;
#CONFIG_BT_AUDIO_BROADCAST_ENCRYPTED=n
#CONFIG_BT_AUDIO_BROADCAST_ENCRYPTION_KEY=&amp;quot;PTD_KEY&amp;quot;&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;In my custom board file nrf5340_cpuapp_common.dts:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;/ {
	chosen {
		zephyr,shell-uart = &amp;amp;cdc_acm_uart0;	
		zephyr,uart-mcumgr = &amp;amp;cdc_acm_uart0;
		zephyr,console = &amp;amp;cdc_acm_uart1;		
		zephyr,bt-mon-uart = &amp;amp;cdc_acm_uart1;
		zephyr,bt-c2h-uart = &amp;amp;cdc_acm_uart1;
		zephyr,bt-hci-ipc = &amp;amp;ipc0;
		watchdog0 = &amp;amp;wdt0;
		nordic,pm-ext-flash = &amp;amp;mx25r64;
	};
	......
	&amp;amp;spi4 {
	compatible = &amp;quot;nordic,nrf-spim&amp;quot;;
	status = &amp;quot;okay&amp;quot;;
	cs-gpios = &amp;lt;&amp;amp;gpio0 11 GPIO_ACTIVE_LOW&amp;gt;, &amp;lt;&amp;amp;gpio0 17 GPIO_ACTIVE_LOW&amp;gt;;
	pinctrl-0 = &amp;lt;&amp;amp;spi4_default&amp;gt;;
	pinctrl-1 = &amp;lt;&amp;amp;spi4_sleep&amp;gt;;
	pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;
	sdhc0: sdhc@0 {
		compatible = &amp;quot;zephyr,sdhc-spi-slot&amp;quot;;
		reg = &amp;lt;0&amp;gt;;
		status = &amp;quot;okay&amp;quot;;
		sdmmc {
			compatible = &amp;quot;zephyr,sdmmc-disk&amp;quot;;
			status = &amp;quot;okay&amp;quot;;
		};

		spi-max-frequency = &amp;lt;8000000&amp;gt;;
	};

	mx25r64: mx25r6435f@2 {
		compatible = &amp;quot;jedec,spi-nor&amp;quot;;
		reg = &amp;lt;2&amp;gt;;
		spi-max-frequency = &amp;lt;8000000&amp;gt;;

		jedec-id = [c2 28 17];
		sfdp-bfp = [
			e5 20 f1 ff  ff ff ff 03  44 eb 08 6b  08 3b 04 bb
			ee ff ff ff  ff ff 00 ff  ff ff 00 ff  0c 20 0f 52
			10 d8 00 ff  23 72 f5 00  82 ed 04 cc  44 83 68 44
			30 b0 30 b0  f7 c4 d5 5c  00 be 29 ff  f0 d0 ff ff
		];
		size = &amp;lt;67108864&amp;gt;;
		has-dpd;
		t-enter-dpd = &amp;lt;10000&amp;gt;;
		t-exit-dpd = &amp;lt;5000&amp;gt;;
		dpd-wakeup-sequence = &amp;lt;30000 20 45000&amp;gt;;
	};
};&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;The strange thing about this error message is that the FLASH overflows by the same amount if I set&amp;nbsp;&lt;span&gt;CONFIG_AUDIO_DFU to &amp;quot;1&amp;quot;, which I would think would overflow the internal flash by a much larger amount than if the secondary images are being re-directed to the external flash.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Any ideas of what to check next?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Best Regards,&lt;br /&gt;Kristopher&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is USB ACM serial DFU possible with ncs v2.6.1?</title><link>https://devzone.nordicsemi.com/thread/513294?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 17:23:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e449dde8-a55c-463d-95b8-84dfd71f7428</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi Kristopher,&lt;/p&gt;
&lt;p&gt;Could you clarify if the 3.5k flash overflow is with or without a secondary app bank on the internal flash? I&amp;#39;ll continue the answer below assuming that it is on the internal flash.&lt;/p&gt;
&lt;p&gt;The short answer is &amp;quot;no, not the way you describe it&amp;quot;, the longer answer is that you can add some parts of the application on the external flash and run it from the external flash over QSPI, but executing code from external flash will both have an impact on the complexity of the project w.r.t you need to manage all entrypoints to your external flash. Why, you ask? Executing code over QSPI from the external flash is slower than running code on the internal flash, meaning that you can&amp;#39;t place anything timing sensitive on the external flash or you can&amp;#39;t place dependencies of timing critical code on the external flash. This includes for instance almost everything that has to do with BLE. Executing code from external flash&amp;nbsp;is also more taxing on current consumption, so it will impact the battery life on your device (given that it is a battery operated device). This is just a quick summary, but it should cover the major pitfalls w.r.t executing code from an exeternal flash. If you however end up with this approach, then you can have a look at&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf53/qspi_xip_guide_nrf5340.html"&gt;https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/app_dev/device_guides/nrf53/qspi_xip_guide_nrf5340.html&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;What I instead would recommend that you do is to place your mcuboot secondary_application partition (the partition where you temporarily store the new update image) on the external flash and only do firmware updates over QSPI instead of running parts of your from external flash. Combine this exercise&amp;nbsp;&lt;a href="https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-8-bootloaders-and-dfu-fota/topic/exercise-2-dfu-over-usb-adding-external-flash/"&gt;https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-8-bootloaders-and-dfu-fota/topic/exercise-2-dfu-over-usb-adding-external-flash/&lt;/a&gt;&amp;nbsp;with exercise 3 in the same course for instance.&lt;/p&gt;
&lt;p&gt;Let me know if this answers your questions or if you have any additional follow ups&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is USB ACM serial DFU possible with ncs v2.6.1?</title><link>https://devzone.nordicsemi.com/thread/513098?ContentTypeID=1</link><pubDate>Tue, 03 Dec 2024 04:07:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:beaf37da-8b13-4e9a-bbc9-995093e244ee</guid><dc:creator>khett-ptd</dc:creator><description>&lt;p&gt;Hi Andreas,&lt;/p&gt;
&lt;p&gt;I did some more investigation and discovered that the hci_ipc.conf file in the &amp;quot;child_image&amp;quot; directory was calling for the BT controller to be built with support for CENTRAL, PERIPHERAL, and BROADCASTER enabled.&amp;nbsp; I tried re-configuring my project to build using only the features required to be a BLE Audio BROADCASTER.&amp;nbsp; This greatly reduces the required flash memory, but my project still overflows the flash by about 3.5k.&lt;/p&gt;
&lt;p&gt;My hardware has an external QSPI flash connected to the nRF5340.&amp;nbsp; I&amp;#39;m wondering if I could program the bootloader into the on-chip flash, have the bootloader write the application images into the external flash and then execute the program directly from the external flash using QSPI XIP.&amp;nbsp; Do you think this is possible using the zephyr system?&amp;nbsp; If so, are there any examples I can work from?&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;br /&gt;Kristopher&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is USB ACM serial DFU possible with ncs v2.6.1?</title><link>https://devzone.nordicsemi.com/thread/511707?ContentTypeID=1</link><pubDate>Fri, 22 Nov 2024 14:59:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a1db8059-9b12-4011-90d9-a8302158ecfb</guid><dc:creator>AHaug</dc:creator><description>&lt;p&gt;Hi Kristopher,&lt;/p&gt;
[quote user=""]Is there a way to use the new softdevice controller and enable USB serial DFU in ncs v2.6.1?[/quote]
&lt;p&gt;Yes, you can use both BLE for audio and FOTA and Serial DFU simultaneous that version of NCS, and they should be simple prj.config additions to get into your project, but I will have to look some closer into the buildprog script to see how that works w.r.t enablign this.&lt;/p&gt;
&lt;p&gt;Could you share your relevant prj.conf, child_image/mcuboot.conf and similar?&lt;/p&gt;
&lt;p&gt;Kind regards,&lt;br /&gt;Andreas&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>