The ease with which resistance can be measured, coupled with the large number of simple, low-cost devices whose resistance changes with other physical properties, accounts for the wide range of resistive sensing applications. These include measuring temperature, pressure, humidity, position, displacement, etc. using electro-mechanical devices like potentiometers or other transducers such as thermistors and piezo-resistive strain gauges.
Open source software has become an entrenched component of embedded systems within the last decade. Marc Andreessen, co-founder of Netscape and the key investor in LinkedIn, recently announced that “software is eating the world.” There are more instances of embedded software in the world today than any other type of software combined. It is at the heart of transportation, safety, health care, food, agriculture, defense, entertainment and therefore virtually every sector of industry that one way or another touches our everyday lives.
C and C++ programmers very often allocate and de-allocate memory on the heap without the proper understanding on how these low-level facilities work and what happens underneath. But these memory related problems becomes a great concern in the systems with shortage of almost all the resources including memory, like embedded real-time systems. This dynamic behavior tends to be non-deterministic and the failure is hard to contain. Similarly memory allocation failure on such systems can be fatal. Unlike a desktop application, most embedded systems do not have the opportunity to pop up a dialog and discuss options with the user. Often, resetting is the only option, which is unattractive. This technical paper attempts to discuss the strategies to achieve clean code and appropriate memory management.