Cygwin Configuration

Configuring Cygwin

Once you have installed Cygwin on your Windows system (in order to do embedded software development, of course) you will probably want to configure it for your system. The Cygwin shortcut that was created during installation simply runs the cygwin.bat file that was put into the Cygwin root directory (e.g., c:\cygwin). This script (batch file) simply invokes the bash shell after setting your directory to /usr/bin. Note that bash is invoked with the --login and -i options. The --login option is particularly important because it causes bash to invoke your bash profile.

CYGWIN Environment Variable


PATH Envrionment Variable

The standard Windows environment variable PATH should contain the Cygwin root directory (e.g., c:\cygwin\bin), and it makes the most sense to modify the system-wide PATH variable.

HOME Environment Variable

Many Cygwin (Unix) programs use the HOME environment variable to determine the location of your home directory. Therefore, it makes sense to define this variable on a per-user basis to be the same as the standard Windows environment variables HOMEDRIVE, HOMEPATH, and/or HOMESHARE. It can be defined in the Windows System Properties control panel applet to have the value:


Maximum Memory

By default, the maximum amount of memory a Cygwin program can use is 384 MB. If more is needed, a new maximum can be specified on a system-wide or per-user basis. The following two registry keys control the maximum amount of memory allowed:

  • HKLM\Software\Cygnus Solutions\Cygwin\heap_chunk_in_mb

    • This key, which should be a 32-bit DWORD value, should contain the system-wide maximum memory value (in MB).

  • HKCU\Software\Cygnus Solutions\Cygwin\heap_chunk_in_mb

    • This key is the same as the above but controls the per-user maximum memory value.

Related Posts:

    • Installing Cygwin