<?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 and STM32 (firmware update)</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/53787/nrf52840-and-stm32-firmware-update</link><description>Hi team, there is a connection between NRF52840 and STM32F407 via UART. The task is to provide a possibility to update STM32 firmware via uart (nrf is responsible to perform this task). So, nrf should receive file (.bin) over the air, configure the stm32</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 07 Mar 2022 14:58:31 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/53787/nrf52840-and-stm32-firmware-update" /><item><title>RE: NRF52840 and STM32 (firmware update)</title><link>https://devzone.nordicsemi.com/thread/356671?ContentTypeID=1</link><pubDate>Mon, 07 Mar 2022 14:58:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:67dae057-2364-4bcd-82a8-795f2f2ce063</guid><dc:creator>Shivaprasad Desai</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Vidar,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I went through the details you mentioned here, I had one query related to it -&amp;gt; does it mean that I have to modify the bootloader code or is there something similar that can be done in the dfu client code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks&amp;nbsp; in advance.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Kindly,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Shivaprasad.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 and STM32 (firmware update)</title><link>https://devzone.nordicsemi.com/thread/219151?ContentTypeID=1</link><pubDate>Thu, 07 Nov 2019 18:00:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:42c37fda-c837-48e2-b679-2c038dd7e36d</guid><dc:creator>Vasa</dc:creator><description>&lt;p&gt;Thanks fo the reply, but what will happen if STM firmware is bigger than bank1 size, will nrf reject to receive this file? Will nrf inform that it is impossible to receive this file?&lt;br /&gt;IMPORTANT! Is there possiblity to receive STM firmware part-by-part and send these parts to STM (on the fly)?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 and STM32 (firmware update)</title><link>https://devzone.nordicsemi.com/thread/218177?ContentTypeID=1</link><pubDate>Mon, 04 Nov 2019 10:42:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a8da4f65-4c85-4fe2-8d3a-8eb724db7b74</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;The new image is placed in the free area above the application which we call bank 1, see&amp;nbsp;&lt;a title="Memory layout" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_bootloader.html?cp=5_1_3_5_0_7#lib_bootloader_memory"&gt;Memory layout&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a title="Dual-bank updates" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/lib_bootloader_dfu_banks.html?cp=5_1_3_5_1_2_0#lib_bootloader_dfu_dual_bank"&gt;Dual-bank updates&lt;/a&gt;.&amp;nbsp; And you may use&amp;nbsp;nrf_dfu_bank1_start_addr() to get the start address of bank 1.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The image transfer to the ST part will require a custom implementation as we don&amp;#39;t have a reference&amp;nbsp;implementation of this. I suggest using the app_activate() function to get an idea of how the image can read from bank 1 and copied to target.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 and STM32 (firmware update)</title><link>https://devzone.nordicsemi.com/thread/218075?ContentTypeID=1</link><pubDate>Sun, 03 Nov 2019 08:07:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9407ca2b-4398-4d2d-899b-4de8f167a1a3</guid><dc:creator>Vasa</dc:creator><description>&lt;p&gt;I&amp;nbsp;managed to send stm32 .hex (FW intended for ST) over nrf dfu service and check the flag .bank_1.bank_code it is definitely changed to&amp;nbsp;&lt;span&gt;NRF_DFU_BANK_VALID_EXT_APP, but anyway it is not obvious for me how to transfer ST firmware to the ST chip? Where the ST FW located from physical point of view? Is there any example how to do this in a proper way?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;SDK 15.3&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Softdevice S140&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 and STM32 (firmware update)</title><link>https://devzone.nordicsemi.com/thread/217690?ContentTypeID=1</link><pubDate>Thu, 31 Oct 2019 08:38:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fea98848-6262-457e-825a-6400004d05cf</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;The bootloader verifies the integrity of the received image in&amp;nbsp;nrf_dfu_validation.c::postvalidate()&amp;nbsp;and updates the&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/structnrf__dfu__settings__t.html"&gt;.bank_1.bank_code&lt;/a&gt; flag&amp;nbsp;to NRF_DFU_BANK_VALID_EXT_APP if it passes the check. Once the bank code is updated, you know the ext. App has been validated, and you can start transferring it to&amp;nbsp;the ST chip.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;nrf_bootloader_fw_activation.c::app_activate() shows how internal app images are copied from bank 1 to bank 0.&amp;nbsp;You may use this as a reference. Except that your function needs to copy it from bank 1 to the ST.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 and STM32 (firmware update)</title><link>https://devzone.nordicsemi.com/thread/217602?ContentTypeID=1</link><pubDate>Wed, 30 Oct 2019 16:24:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ef45db4d-5c57-4322-b9a5-7f3a86d12846</guid><dc:creator>Vasa</dc:creator><description>&lt;p&gt;Thanks for the reply, is it possible to verify that the ST FW received before sending it to the target? I mean how to read ST .hex, were it is stored?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 and STM32 (firmware update)</title><link>https://devzone.nordicsemi.com/thread/217533?ContentTypeID=1</link><pubDate>Wed, 30 Oct 2019 12:53:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:07e1b59a-5752-4615-a18f-599c716bb493</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You can receive app images intended for external targets if you enable the&amp;nbsp;&lt;span&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/group__nrf__dfu__config.html#ga96b351c9068e9d0aa1c396f2d2697295"&gt;NRF_DFU_SUPPORTS_EXTERNAL_APP&lt;/a&gt;&amp;nbsp;config option in the bootloader project, and use the -----external-app flag when you create the DFU distribution package&lt;/span&gt;.&amp;nbsp;The image will be stored to bank 1. So the remaining task will be to forward it to the ST chip.&lt;/p&gt;
&lt;p&gt;Screenshot from the nrfutil help menu (nrfutil pkg generate --help)&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-e393ad6db10d43a0bee612bfba9c556a/pastedimage1572439667717v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>