SEARCH
TOOLBOX
LANGUAGES
modified on 4 January 2013 at 16:28 ••• 117,464 views

Lincoln FAQ

From Manuals

(Difference between revisions)
Jump to: navigation, search
Line 9: Line 9:
=Frequently Asked Questions - Software=
=Frequently Asked Questions - Software=
-
==Can I develop and debug code for the Lincoln using a Linux PC? a Mac OS X workstation?==
+
{{:Cortex_M3_FAQ_Software}}
-
Yes. CodeBlocks, Eclipse, OpenOCD and GNU cross compilers for ARM are available for Windows, Linux and Mac OS X. EWARM is only available for Microsoft Windows.
+
-
 
+
-
==What filesystem types, volume size and filename formats are supported on microSD cards?==
+
-
The code examples use the FatFS 0.04b library which supports FAT12, FAT16 and FAT32 filesystems. We have tested 4GB microSD cards but the library supports larger volumes. The filename format is 8.3. Long file names are implemented in FatFS 0.07 or above.
+
-
 
+
-
==How can I detect if the application is compiled with IAR or GCC?==
+
-
You can use compiler predefined macros as in the example below.
+
-
 
+
-
#if defined(__IAR_SYSTEMS_ICC__)
+
-
  /* Code to use with IAR compiler */
+
-
#elif defined(__GNUC__)
+
-
  /* Code to use with GCC compiler */
+
-
#else
+
-
  #warning Compiler is not supported
+
-
#endif
+
-
 
+
-
For more details on predefined macros, consult the C preprocessor manuals.
+
-
 
+
-
[http://gcc.gnu.org/onlinedocs/gcc-4.4.4/cpp/ GNU C Preprocessor]
+
-
 
+
-
==Why are certain source code statements not executed when single stepping?==
+
-
When you enable code optimization, the object code does not necessarily follow the same sequence as the source code. Optimizing compilers like IAR or GCC use loop unrolling, loop collapsing, branch elimination and other techniques that rearrange code to increase execution speed and/or reduce code size. A common practice during development is to disable optimization when debugging. Compiler optimizations should normally be enabled after most of the debugging is done and the code is stable. For a more consistent debugging environment, the StellarisWare driver library should be compiled with the same options and compiler version as the application.
+

Revision as of 17:41, 13 August 2010

Contents

Frequently Asked Questions - Hardware

Are digital inputs compatible with 5V logic?

Yes. On the LPC1769 microcontroller the high-level input voltage (VIH) has a minimum of 2.3V (70% of VCC) and a maximum of 5.0V. The low-level input voltage (VIL) has a minimum of 0V and a maximum of 1V (30% of VCC).

What are the maximum data rates for on-board ADCs and DACs?

Frequently Asked Questions - Software

Can I develop and debug code for my Micromint ARM Cortex-M3 controller using a Linux PC? a Mac OS X workstation?

Yes. CodeBlocks, Eclipse, OpenOCD and GNU cross compilers for ARM are available for Windows, Linux and Mac OS X. EWARM is only available for Microsoft Windows.

What filesystem types, volume size and filename formats are supported on microSD cards?

The code examples use the FatFS 0.04b library which supports FAT12, FAT16 and FAT32 filesystems. We have tested 4GB microSD cards but the library supports larger volumes. The filename format is 8.3. Long file names are implemented in FatFS 0.07 or above.

How can I detect if the application is compiled with IAR or GCC?

You can use compiler predefined macros as in the example below.

#if defined(__IAR_SYSTEMS_ICC__)
  /* Code to use with IAR compiler */
#elif defined(__GNUC__)
  /* Code to use with GCC compiler */
#else
  #warning Compiler is not supported
#endif

For more details on predefined macros, consult the C preprocessor manuals.

GNU C Preprocessor

Why are some source code statements skipped and some variables unavailable when debugging?

When you enable code optimization, the object code does not necessarily follow the same sequence as the source code. Optimizing compilers like IAR or GCC use loop unrolling, loop collapsing, branch elimination and other techniques that rearrange code to increase execution speed and/or reduce code size. These changes could also eliminate the need for some variables. A common practice during development is to disable compiler optimizations when debugging. The desired optimizations should normally be enabled after most of the debugging is done and the code is stable. For a more consistent debugging environment, any libraries used by the project should be compiled with the same options and compiler version as the application.