<?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>How to minimize the power consumption of CPU processing?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/8260/how-to-minimize-the-power-consumption-of-cpu-processing</link><description>One of our computing-intensive algorithm takes actually ca 1.9s to finish. And it will be run periodically. Is there a way to minimize the power consumption of CPU processing besides optimizing the code and algorithm? 
 It seems DC/DC mode just benifits</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Sun, 19 Jul 2015 02:58:40 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/8260/how-to-minimize-the-power-consumption-of-cpu-processing" /><item><title>RE: How to minimize the power consumption of CPU processing?</title><link>https://devzone.nordicsemi.com/thread/29764?ContentTypeID=1</link><pubDate>Sun, 19 Jul 2015 02:58:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec3d8b66-9deb-41cf-9a3a-31a2aaedcc94</guid><dc:creator>joc</dc:creator><description>&lt;p&gt;At present I have an alternate lib which is compact but i haven&amp;#39;t transplant to ARM cortex-M0. Once I fininshed the transplant, I might try to run the new lib in the RAM as your advice, which might be easier for its small.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to minimize the power consumption of CPU processing?</title><link>https://devzone.nordicsemi.com/thread/29763?ContentTypeID=1</link><pubDate>Sun, 19 Jul 2015 02:49:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c49aecb3-1db0-4b1b-8043-ddee57926406</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;Yep - if you can find a way to profile it (not easy), then just go backwards with the functions you spend most of that 1.9s in and move them to RAM. Not a very fun job especially as the 51822 doesn&amp;#39;t have any of the ARM trace hardware on it so profiling is tricky. If you can even get 1 out of those 2 seconds running in RAM you&amp;#39;ll save yourself some current - less than that - may not be much worth the effort.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to minimize the power consumption of CPU processing?</title><link>https://devzone.nordicsemi.com/thread/29762?ContentTypeID=1</link><pubDate>Sun, 19 Jul 2015 02:43:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4d2c06f8-c071-4411-b09f-d98a5b89dece</guid><dc:creator>joc</dc:creator><description>&lt;p&gt;The library is about 40KB. Maybe I could just extract the frequently used functions into RAM?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to minimize the power consumption of CPU processing?</title><link>https://devzone.nordicsemi.com/thread/29761?ContentTypeID=1</link><pubDate>Sun, 19 Jul 2015 02:37:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1708048f-1592-4bc3-a539-1faab1ce8d4b</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;if you can&amp;#39;t pick out the majority of code which is in your processor-intensive piece and find room in RAM for it, then you can&amp;#39;t do it. You don&amp;#39;t need an entire library in there, you just need to get the bits you&amp;#39;re using into RAM. Just how much code are you running here?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to minimize the power consumption of CPU processing?</title><link>https://devzone.nordicsemi.com/thread/29760?ContentTypeID=1</link><pubDate>Sun, 19 Jul 2015 02:35:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5973fb59-68d3-4344-abcc-34904ca3d905</guid><dc:creator>joc</dc:creator><description>&lt;p&gt;Thanks. It is sound, but RAM seems have no enough space for the entire library to load.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: How to minimize the power consumption of CPU processing?</title><link>https://devzone.nordicsemi.com/thread/29759?ContentTypeID=1</link><pubDate>Sun, 19 Jul 2015 02:25:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7b357c4f-5091-4a39-9302-f1f58b6cd5ba</guid><dc:creator>RK</dc:creator><description>&lt;p&gt;About the only thing you can do to reduce power in that case is run the code from RAM, if you check the product specs code running from RAM takes 2.4mA, from FLASH, 4.1mA.&lt;/p&gt;
&lt;p&gt;If you&amp;#39;re going to do that then make sure &lt;em&gt;all&lt;/em&gt; the processor intensive code is running from RAM. I&amp;#39;ve seen code which does a whole load of floating point operations carefully moved to RAM, which requires some fiddly linking, but the underlying floating point libraries left in FLASH, that code runs from RAM, however it spends 95% of its time in calls in the float libraries in FLASH, thus gaining zero advantage.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>