Abstract: Although architecture independence and portability is very desirable, a microcontroller program cannot be totally detached from specific characteristics of the underlying hardware. Programming a microcontroller, even in a high level language, requires accessibility to various peripheral registers, ability to fix placement of both program and data, and exact knowledge of memory types and organization, stack usage and interrupt handling. C compilers for microcontrollers are forced to include extensions to accommodate these hardware-specific aspects. The trend towards adoption of high-level languages has had an effect on both development tools suppliers and silicon suppliers. Historically, compilers have never been outstandingly efficient with respect to their 'code bloat' ratio (the somewhat hypothetical ratio of a good hand-coded assembly version to the actual executable generated by the compiler). There has however been much evidence recently that compiler developers are improving by leaps and bounds. This article briefly discusses some of the improvements which have been accomplished in most compilers lately.
Publication Year: 2002
Publication Date: 2002-11-27
Language: en
Type: article
Indexed In: ['crossref']
Access and Citation
AI Researcher Chatbot
Get quick answers to your questions about the article from our AI researcher chatbot