X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fhtml%2Fuser-guide%2Fusing-ecosconfig-on-linux.html;fp=doc%2Fhtml%2Fuser-guide%2Fusing-ecosconfig-on-linux.html;h=714114b3c267239be7039f9805e4190382a71f87;hb=2b5bec7716c03d42cfb16d8c98c9cea573bf6722;hp=0000000000000000000000000000000000000000;hpb=47412fc4bd1aefc0d5498bcb3860a9d727196f16;p=karo-tx-redboot.git diff --git a/doc/html/user-guide/using-ecosconfig-on-linux.html b/doc/html/user-guide/using-ecosconfig-on-linux.html new file mode 100644 index 00000000..714114b3 --- /dev/null +++ b/doc/html/user-guide/using-ecosconfig-on-linux.html @@ -0,0 +1,547 @@ + + + + + + + + +
As an alternative to using the graphical +Configuration Tool, it is still possible to +configure and build a kernel by editing a configuration file manually +and using the ecosconfig command.
Manual configuration and the ecosconfig command are +described in detail in Chapter 28.
To use the ecosconfig command you need to start a +shell. In Windows you need to start a +CygWin bash shell, not a +DOS command line.
The following instructions assume that the +PATH and ECOS_REPOSITORY +environment variables have been setup correctly as described in Chapter 7. They also assume Linux +usage but equally well apply to Windows running Cygwin.
Before invoking ecosconfig you need to +choose a directory in which to work. For the purposes of this tutorial, +the default path will be BASE_DIR/ecos-work. +Create this directory and change to it by typing:
$ mkdir BASE_DIR/ecos-work +$ cd BASE_DIR/ecos-work |
To see what options can be used with ecosconfig, +type:
$ ecosconfig --help |
The available packages, targets and templates may be listed +as follows:
$ ecosconfig list |
Here is sample output from ecosconfig showing +the usage message.
Example 11-1. Getting help from ecosconfig
$ ecosconfig --help +Usage: ecosconfig [ qualifier ... ] [ command ] + commands are: + list : list repository contents + new TARGET [ TEMPLATE [ VERSION ] ] : create a configuration + target TARGET : change the target hardware + template TEMPLATE [ VERSION ] : change the template + add PACKAGE [ PACKAGE ... ] : add package(s) + remove PACKAGE [ PACKAGE ... ] : remove package(s) + version VERSION PACKAGE [ PACKAGE ... ] : change version of package(s) + export FILE : export minimal config info + import FILE : import additional config info + check : check the configuration + resolve : resolve conflicts + tree : create a build tree + qualifiers are: + --config=FILE : the configuration file + --prefix=DIRECTORY : the install prefix + --srcdir=DIRECTORY : the source repository + --no-resolve : disable conflict +resolution + --version : show version and copyright +$ |
Example 11-2. ecosconfig output — +list of available packages, targets and templates
$ ecosconfig list +Package CYGPKG_CYGMON (CygMon support via eCos): +aliases: cygmon +versions: <version> +Package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1742 (Wallclock driver for Dallas 1742): +aliases: devices_wallclock_ds1742 device_wallclock_ds1742 +versions: <version> +Package CYGPKG_DEVICES_WALLCLOCK_SH3 (Wallclock driver for SH3 RTC module): +aliases: devices_wallclock_sh3 device_wallclock_sh3 +versions: <version> +Package CYGPKG_DEVICES_WATCHDOG_ARM_AEB (Watchdog driver for ARM/AEB board): +aliases: devices_watchdog_aeb device_watchdog_aeb +versions: <version> +Package CYGPKG_DEVICES_WATCHDOG_ARM_EBSA285 (Watchdog driver for ARM/EBSA285 board): +aliases: devices_watchdog_ebsa285 device_watchdog_ebsa285 +versions: <version> +… |
To configure for a listed target, type:
$ ecosconfig new <target> |
For example, to configure for the ARM PID development board, +type:
$ ecosconfig new pid |
You can then edit the generated file, +ecos.ecc, setting the options as required for the +target (endianess, CPU model, Startup type, etc.). For detailed +information about how to edit the ecos.ecc file, +see the CDL Writer's Guide and the Section called Editing an eCos Savefile in Chapter 28.
Create a build tree for the configured target by typing:
$ ecosconfig tree |
If there are any problem with the configuration, +ecosconfig will tell you. The most likely cause of +this is mistakes when editing the ecos.ecc file. +You can check whether the configuration you have made is correct, +without building the tree with the following command:
$ ecosconfig check |
If this reports any conflicts you can get +ecosconfig to try and resolve them itself by typing:
$ ecosconfig resolve |
See the Section called Conflicts and constraints in Chapter 28 for more details.
You can now run the command make or make +tests, after which you will be at the same point you +would be after running the Configuration Tool +— you can start developing your own applications, +following the steps in Chapter 13.
The procedure shown above allows you to do very coarse-grained +configuration of the eCos kernel: you can select which packages +to include in your kernel, and give target and start-up options. +But you cannot select components within a package, or set the very +fine-grained options.
To select fine-grained configuration options you will need to +edit the configuration file ecos.ecc in the +current directory and regenerate the build tree.
Caution |
You should follow the manual configuration process described +above very carefully, and you should read the comments in each file +to see when one option depends on other options or packages being +enabled or disabled. If you do not, you might end up with an inconsistently +configured kernel which could fail to build or might execute +incorrectly. |