<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Remote Update from ECPQ flash on Altera Cyclone IV</title>
	<atom:link href="http://billauer.se/blog/2017/06/remote-update-intel-fpga-cyclone-iv/feed/" rel="self" type="application/rss+xml" />
	<link>https://billauer.se/blog/2017/06/remote-update-intel-fpga-cyclone-iv/</link>
	<description>Anything I found worthy to write down.</description>
	<lastBuildDate>Thu, 26 Mar 2026 13:15:15 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<item>
		<title>By: Alex</title>
		<link>https://billauer.se/blog/2017/06/remote-update-intel-fpga-cyclone-iv/comment-page-1/#comment-1607</link>
		<dc:creator>Alex</dc:creator>
		<pubDate>Sun, 03 Jul 2022 09:40:44 +0000</pubDate>
		<guid isPermaLink="false">https://billauer.se/blog/?p=5237#comment-1607</guid>
		<description>Eli

I see that the address offset for Cyclone IV at Remote Update Intel® FPGA IP User Guide is different than at your example.
I think it should be:
  alt_u32 mode = IORD_32DIRECT(REMOTE_UPDATE_0_BASE, 0) &amp; 3;
  alt_u32 config_reason = IORD_32DIRECT(REMOTE_UPDATE_0_BASE, 0x18);

  if ((mode == 0) &amp;&amp; (config_reason == 0)) {
    IOWR_32DIRECT(REMOTE_UPDATE_0_BASE, 0x0C, 0); // Turn off watchdog
    IOWR_32DIRECT(REMOTE_UPDATE_0_BASE, 0x10, app_bitstream_addr);

    IOWR_32DIRECT(REMOTE_UPDATE_0_BASE, 0x1D, 1); // Trigger reconfiguration

I can&#039;t verify it as still waiting for the board with FPGA arrive from production.
Please correct me if I wrong!!

Thank you 

Alex</description>
		<content:encoded><![CDATA[<p>Eli</p>
<p>I see that the address offset for Cyclone IV at Remote Update Intel® FPGA IP User Guide is different than at your example.<br />
I think it should be:<br />
  alt_u32 mode = IORD_32DIRECT(REMOTE_UPDATE_0_BASE, 0) &amp; 3;<br />
  alt_u32 config_reason = IORD_32DIRECT(REMOTE_UPDATE_0_BASE, 0x18);</p>
<p>  if ((mode == 0) &amp;&amp; (config_reason == 0)) {<br />
    IOWR_32DIRECT(REMOTE_UPDATE_0_BASE, 0x0C, 0); // Turn off watchdog<br />
    IOWR_32DIRECT(REMOTE_UPDATE_0_BASE, 0x10, app_bitstream_addr);</p>
<p>    IOWR_32DIRECT(REMOTE_UPDATE_0_BASE, 0x1D, 1); // Trigger reconfiguration</p>
<p>I can&#8217;t verify it as still waiting for the board with FPGA arrive from production.<br />
Please correct me if I wrong!!</p>
<p>Thank you </p>
<p>Alex</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eli</title>
		<link>https://billauer.se/blog/2017/06/remote-update-intel-fpga-cyclone-iv/comment-page-1/#comment-1402</link>
		<dc:creator>eli</dc:creator>
		<pubDate>Mon, 21 Jan 2019 06:55:06 +0000</pubDate>
		<guid isPermaLink="false">https://billauer.se/blog/?p=5237#comment-1402</guid>
		<description>Thanks, corrected. I have to admit I got it only now. It&#039;s confusing...</description>
		<content:encoded><![CDATA[<p>Thanks, corrected. I have to admit I got it only now. It&#8217;s confusing&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jeremy</title>
		<link>https://billauer.se/blog/2017/06/remote-update-intel-fpga-cyclone-iv/comment-page-1/#comment-1295</link>
		<dc:creator>jeremy</dc:creator>
		<pubDate>Thu, 14 Sep 2017 17:08:34 +0000</pubDate>
		<guid isPermaLink="false">https://billauer.se/blog/?p=5237#comment-1295</guid>
		<description>just a correction:

    const struct {
        const struct regitem *list;
        char *desc;
    } modetab[5] = {
        { factoryparams, &quot;Factory mode&quot; },
        { applicationparams, &quot;Application mode&quot; },
        { unknownparams, &quot;Unknown mode&quot; },
        { applicationparams, &quot;Application mode with watchdog enabled&quot; },
        { unknownparams, &quot;Unknown mode&quot; },
    };


cf. user guide: 
00—Factory mode.
01—Application mode.
11—Application mode with the master state machine
user watchdog timer enabled</description>
		<content:encoded><![CDATA[<p>just a correction:</p>
<p>    const struct {<br />
        const struct regitem *list;<br />
        char *desc;<br />
    } modetab[5] = {<br />
        { factoryparams, &#8220;Factory mode&#8221; },<br />
        { applicationparams, &#8220;Application mode&#8221; },<br />
        { unknownparams, &#8220;Unknown mode&#8221; },<br />
        { applicationparams, &#8220;Application mode with watchdog enabled&#8221; },<br />
        { unknownparams, &#8220;Unknown mode&#8221; },<br />
    };</p>
<p>cf. user guide:<br />
00—Factory mode.<br />
01—Application mode.<br />
11—Application mode with the master state machine<br />
user watchdog timer enabled</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jeremy</title>
		<link>https://billauer.se/blog/2017/06/remote-update-intel-fpga-cyclone-iv/comment-page-1/#comment-1294</link>
		<dc:creator>jeremy</dc:creator>
		<pubDate>Thu, 14 Sep 2017 14:26:26 +0000</pubDate>
		<guid isPermaLink="false">https://billauer.se/blog/?p=5237#comment-1294</guid>
		<description>thanks Eli,

very helpful and very clear because altera&#039;s documentation is a bit confusing so your application helps to find the necessary informations, good job!</description>
		<content:encoded><![CDATA[<p>thanks Eli,</p>
<p>very helpful and very clear because altera&#8217;s documentation is a bit confusing so your application helps to find the necessary informations, good job!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
