Chapter 4. Notation and Conventions

Since there are many supported target architectures, notation conventions are used in this manual to avoid repeating instructions that are very similar.

4.1. GDB and GCC Command Notation

Cross-development commands like gcc and gdb will be shown with a TARGET- prefix. You need to replace TARGET- with the correct prefix before using the command. Just using gcc or gdb will use the tools for the host, which is not (usually) what you want.

For example use arm-eabi-gcc and arm-eabi-gdb for ARM7, ARM9, Thumb, Cortex-A, and Cortex-M targets. Use powerpc- eabi-gcc and powerpc-eabi- gdb for PowerPC targets. Use i386 -elf-gcc and i386-elf-gdb for IA32 targets. And so on, the exact prefix to use is shown in the documentation for each target.

Note that some versions of the GCC cross compiler generate executable files with the .exe suffix on Windows, but not on Linux. The suffix .exe will be omitted from executable file names, so you will see hello instead of hello.exe.

4.2. Directory and File System Conventions

The default directory for eCosPro distributions on Windows (usually C:\eCosPro) is different from that on Linux (usually /opt/ecospro or $HOME/ecospro for non-root installations). Since many command line examples in the tutorials use these paths, this default (base) directory will be cited as BASE_DIR.

Windows and Linux have a similar file system syntax, but the MS-DOS command interpreter on Windows versions prior to Windows 10 uses the backslash character (\) as a path separator, while Linux and POSIX shells (including the bash shell for windows) use the forward slash (/). Windows 10 can use both characters.

This document will use the POSIX shell convention of forward slashes throughout.

4.3. Version Conventions

This manual does not refer explicitly to any particular distribution of eCos or eCosPro. However, version numbers form part of many file path names. In all of these places the version number will be shown like this: <version>.

If you are using the freely available public distribution of eCos at and have used Mercurial to check eCos out of the repository, the version number will always be current, since that is the name of the directory in the repository. When a stable release is made this directory name is changed, in the release, to the number of the release, for example v3_1_71 or v4_0_3.