<?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>Download firmware over I2C for another MCU</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/18587/download-firmware-over-i2c-for-another-mcu</link><description>Hello, 
 I have a custom board which has NRF52832 SOC(i.e. main MCU) and another ARM Core-M0-based MCU(i.e. target MCU). These two are connected over I2C. I wonder how to download firmware of target MCU from NRF52832 SOC to this target MCU over I2C?</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 26 Dec 2016 02:49:20 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/18587/download-firmware-over-i2c-for-another-mcu" /><item><title>RE: Download firmware over I2C for another MCU</title><link>https://devzone.nordicsemi.com/thread/71720?ContentTypeID=1</link><pubDate>Mon, 26 Dec 2016 02:49:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:698e3e63-e312-4ee3-a306-9cc4eb68cc0f</guid><dc:creator>Roger Clark</dc:creator><description>&lt;p&gt;@switchfeet&lt;/p&gt;
&lt;p&gt;It may help if you say what your target MCU actually is. There are loads of Cortex M0 processors.&lt;/p&gt;
&lt;p&gt;Re: Installing your target&amp;#39;s firmware via DFU to the main (nRF52)&lt;/p&gt;
&lt;p&gt;I guess you could use DFU to send data to the nRF52 that it in turn forwards on to your target processor.&lt;/p&gt;
&lt;p&gt;But you&amp;#39;ll need to write your own App to upload the DFU and also write a modified version of the DFU handling on the nRF52 so that it doesnt update its own firmware, but instead stores the target MCU firmware in flash before running some specific code to send the target MCU firmware via I2C&lt;/p&gt;
&lt;p&gt;Re: Bootloader on the target MCU
I presumed that your target MCU does not natively have a way to load its firmware via I2C and hence you will need some code on the target MCU to receive its firmware and store it in flash.
AFIK this receiving software is normally known as the bootloader.
Or does it have native I2C DFU?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Download firmware over I2C for another MCU</title><link>https://devzone.nordicsemi.com/thread/71719?ContentTypeID=1</link><pubDate>Mon, 26 Dec 2016 02:17:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d5fa6f1-f790-498d-8b06-57c1609a7cb7</guid><dc:creator>Switchfeet</dc:creator><description>&lt;p&gt;@RogerClark ,thanks for your reply and kind reminder. I&amp;#39;ve modified those two MCUs as main MCU and target MCU. As you said, I want to program the firmware of target MCU. I&amp;#39;m a little confused about &amp;quot;I2C bootloader&amp;quot; for target MCU, does it mean that a bootloader locates in target MCU and can communicate with other MCU via I2C protocol?&lt;/p&gt;
&lt;p&gt;Besides, is it possible to download target MCU&amp;#39;s firmware to main MCU via Device Firmware Update (DFU), and then forward the firmware to the bootloader(e.g. ROM) located in target MCU. If so, could I refer to the dfu example within SDK? Thanks!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Download firmware over I2C for another MCU</title><link>https://devzone.nordicsemi.com/thread/71721?ContentTypeID=1</link><pubDate>Mon, 26 Dec 2016 00:13:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea0893b9-f69b-45c4-b1bb-d87692611055</guid><dc:creator>Roger Clark</dc:creator><description>&lt;p&gt;Just to clarify.&lt;/p&gt;
&lt;p&gt;You are asking how you program some other ARM Core M0 process?
(Not how to program the nRF52 ?)&lt;/p&gt;
&lt;p&gt;If you are asking what I think you are asking, then you effectively need a I2C bootloader for your target MCU (ARM Cortex M0).
(Plus some way to trigger your other MCU to execute the I2C bootloader code)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>