This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Guidelines on Energy effecient code

Hi Experts,

The well optimized hardware functionality could be messed up by the poor software programming.

Is there any general guidelines recommended by ARM on the power optimized programming ?

Regards,

Techguyz

Parents Reply Children
  • Thanks for the upvote, jensbauer! Power efficient programming is a tricky area and it is not widely understood in the industry. It deserves a lot more attention than it gets.

    For any who are interested in face-to-face events (a great way to pick up best practice and share experiences), my next engagements are Trondheim Developer Conference in October (here), the ARM Technical Symposium in Bangalore (also in October, here) and then at ARM TechCon in Santa Clara in November (here). Would be great to be able to meet up with any of the community who can attend any of those events. Do let me know if any of you have plans to attend.

    Chris

  • pravinchanm: It's important to get the foundation right as the very first thing, thus if following Chris' documents, you'll cover the largest area of energy saving.

    When you're sure you've absorbed and implemented your code the way Chris explains, and you still need to save further energy, it's time to consult the chip vendor's documents on the subject.

    Chris: I really wish I could go to Trondheim; the Memory Access Ordering sounds like it's just for me. I get the impression that it will touch the Cortex-M7 too.

    pravinchanm: This topic reminds me that it's important to also optimize your data if you can. Arrange your data in memory, so fetching, using and storing them will cost as little CPU cycles as possible. You know, optimizing isn't all about optimizing code, but it's also about optimizing your data by arranging them correctly, even swapping bits if possible/necesasry.

  • > Well, Chris Shore is from ARM and he wrote two great documents on the subject, I highly recommend them.

    I agree. I just thought what pravinchanm is exactly looking for from ARM is a document consolidating the ideas and techniques about programming for energy efficiency. I'm not aware if there is any so I just added some information which may be helpful although these also belong to the inventory of fragmented materials.

    > I'd like to add this from STMicroelectronics, which is highly relevant; it targets the STM32L4 series:

    > ...

    The readers should not interpret our lists of App Notes as endorsement of specific manufacturer. In my case those were just the quickest I can recall, in fact I didn't have the URLs for the Freescale documents, only the home page. The STM32 Discovery and Nucleo are among my arguments against investing in more expensive 8-Bit boards.

  • > Chris: I really wish I could go to Trondheim; the Memory Access Ordering sounds like it's just for me...

    >

    > techguyz: This topic reminds me that it's important to also optimize your data if you can...

    Right. It's overlooked. Nowadays, I don't care to defragment my hard disks.

    In tightly constrained systems, where ARM is commonly found, the arrangement of data could bring striking impact to various facets of performance.