{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:11:46Z","timestamp":1763467906489,"version":"3.41.0"},"reference-count":14,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2008,9,1]],"date-time":"2008-09-01T00:00:00Z","timestamp":1220227200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["XRDS"],"published-print":{"date-parts":[[2008,9]]},"abstract":"<jats:p>Optimizing embedded applications using a compiler can generally be broken down into two major categories: hand-optimizing code to take advantage of a particular processor's compiler and applying built-in optimization options to proven and well-polished code. The former is well documented for different processors, but little has been done to find generalized methods for optimal sets of compiler options based on common goal criteria such as application code size, execution speed, power consumption, and build time. This article discusses the fundamental differences between these two general categories of optimizations using the compiler. Examples of common, built-in compiler options are presented using a simulated ARM processor and C compiler, along with a simple methodology that can be applied to any embedded compiler for finding an optimal set of compiler options.<\/jats:p>","DOI":"10.1145\/1452012.1452015","type":"journal-article","created":{"date-parts":[[2009,1,8]],"date-time":"2009-01-08T13:15:38Z","timestamp":1231420538000},"page":"8-15","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["The use of compiler optimizations for embedded systems software"],"prefix":"10.1145","volume":"15","author":[{"given":"Joe","family":"Bungo","sequence":"first","affiliation":[]}],"member":"320","published-online":{"date-parts":[[2008,9]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"ARM Ltd. 2007. Procedure Call Standard for the ARM Architecture. ARM Ltd. Cambridge UK.  ARM Ltd. 2007. Procedure Call Standard for the ARM Architecture . ARM Ltd. Cambridge UK."},{"key":"e_1_2_1_2_1","unstructured":"ARM Ltd. 2007. RealView Compilation Tools for uVision v3.1 Compiler Reference Guide. ARM Ltd. Cambridge UK.  ARM Ltd. 2007. RealView Compilation Tools for uVision v3.1 Compiler Reference Guide . ARM Ltd. Cambridge UK."},{"key":"e_1_2_1_3_1","unstructured":"Atmel. 2001. Atmel's ARM-based microcontroller--Low power for portable systems. White Paper. Atmel San Jose CA.  Atmel. 2001. Atmel's ARM-based microcontroller--Low power for portable systems. White Paper. Atmel San Jose CA."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/40.546561"},{"key":"e_1_2_1_5_1","unstructured":"Furber S. 2000. ARM System On-chip Architecture. Addison-Wesley Professional Harlow UK.   Furber S. 2000. ARM System On-chip Architecture . Addison-Wesley Professional Harlow UK."},{"key":"e_1_2_1_6_1","doi-asserted-by":"crossref","unstructured":"Hall S. 1996. Journey to the Moon: The History of the Apollo Guidance Computer. American Institute of Aeronautics & Astronautics Reston VA.   Hall S. 1996. Journey to the Moon: The History of the Apollo Guidance Computer . American Institute of Aeronautics & Astronautics Reston VA.","DOI":"10.2514\/4.868023"},{"volume-title":"Computer Architecture: A Quantitative Approach. Morgan Kaufmann","year":"2002","author":"Hennessy J.","key":"e_1_2_1_7_1"},{"key":"e_1_2_1_8_1","doi-asserted-by":"crossref","unstructured":"Lupers R. 2000. Code Optimization Techniques for Embedded Processors . Kluwer Academic Publishers Dordrecht The Netherlands.   Lupers R. 2000. Code Optimization Techniques for Embedded Processors . Kluwer Academic Publishers Dordrecht The Netherlands.","DOI":"10.1007\/978-1-4757-3169-9"},{"key":"e_1_2_1_9_1","unstructured":"Martin T. 2005. Insider's Guide to Philips ARM7 Microcontrollers. Hitex (UK) Ltd. Coventry UK.  Martin T. 2005. Insider's Guide to Philips ARM7 Microcontrollers . Hitex (UK) Ltd. Coventry UK."},{"key":"e_1_2_1_10_1","unstructured":"Muchnick S. 1997. Advanced Compiler Design and Implementation. Morgan Kaufmann San Francisco CA.   Muchnick S. 1997. Advanced Compiler Design and Implementation . Morgan Kaufmann San Francisco CA."},{"key":"e_1_2_1_11_1","unstructured":"Seal D. 2001. ARM Architecture Reference Manual (2nd ed.). Addison-Wesley Harlow UK.   Seal D. 2001. ARM Architecture Reference Manual (2nd ed.). Addison-Wesley Harlow UK."},{"key":"e_1_2_1_12_1","unstructured":"Shen J. 2004. Modern Processor Design: Fundamentals of Superscalar Processors. McGraw-Hill New York NY.  Shen J. 2004. Modern Processor Design: Fundamentals of Superscalar Processors . McGraw-Hill New York NY."},{"key":"e_1_2_1_13_1","doi-asserted-by":"crossref","unstructured":"Sloss A. Symes S. and Wright C. 2004. ARM Architecture Reference Manual 2nd Ed. ARM System Developer's Guide. Morgan Kaufmann San Francisco CA.   Sloss A. Symes S. and Wright C. 2004. ARM Architecture Reference Manual 2nd Ed. ARM System Developer's Guide. Morgan Kaufmann San Francisco CA.","DOI":"10.1016\/B978-155860874-0\/50002-2"},{"key":"e_1_2_1_14_1","unstructured":"York R. 2002. Benchmarking in context: Dhrystone. White Paper. ARM Ltd. Cambridge UK.  York R. 2002. Benchmarking in context: Dhrystone. White Paper. ARM Ltd. Cambridge UK."}],"container-title":["XRDS: Crossroads, The ACM Magazine for Students"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1452012.1452015","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1452012.1452015","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:30:06Z","timestamp":1750253406000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1452012.1452015"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,9]]},"references-count":14,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2008,9]]}},"alternative-id":["10.1145\/1452012.1452015"],"URL":"https:\/\/doi.org\/10.1145\/1452012.1452015","relation":{},"ISSN":["1528-4972","1528-4980"],"issn-type":[{"type":"print","value":"1528-4972"},{"type":"electronic","value":"1528-4980"}],"subject":[],"published":{"date-parts":[[2008,9]]},"assertion":[{"value":"2008-09-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}