summaryrefslogtreecommitdiffstats
path: root/temp/mfile/help.html
diff options
context:
space:
mode:
Diffstat (limited to 'temp/mfile/help.html')
-rw-r--r--temp/mfile/help.html165
1 files changed, 165 insertions, 0 deletions
diff --git a/temp/mfile/help.html b/temp/mfile/help.html
new file mode 100644
index 0000000..f0398bb
--- /dev/null
+++ b/temp/mfile/help.html
@@ -0,0 +1,165 @@
+<!-- Help text for mfile.tcl -->
+<!--------------------------------------------------------------------------->
+<!-- "THE BEER-WARE LICENSE" (Revision 42) (by Poul-Henning Kamp): -->
+<!-- Joerg Wunsch wrote this file. As long as you retain this notice you -->
+<!-- can do whatever you want with this stuff. If we meet some day, and -->
+<!-- you think this stuff is worth it, you can buy me a beer in return. -->
+<!--------------------------------------------------------------------------->
+<!-- $Id: help.html,v 1.15 2004/07/15 20:51:08 j Exp $ -->
+<html>
+<head><title>Mfile help</title></head>
+<body>
+<h1>Simple Makefile generator for AVR-GCC</h1>
+<p>Copyright © 2003, 2004 Jörg Wunsch</p>
+
+<hr>
+<p>This simple Makefile generator is meant as an aid to quickly
+customize the WinAVR Makefile template, producing a file called
+<tt>Makefile</tt> in the current directory as result.</p>
+
+<p>The application consists of a (scrollable) text editor widget, and
+a menu bar.</p>
+
+<p>The <b>File</b> menu has only two entries:</p>
+
+<ul>
+ <li><b>Save</b> writes the contents of the text editor widget to a
+ file called <tt>Makefile</tt>. Should any file by that name
+ already exist, it will be renamed. Under Unix, a tilde will be
+ appended to the old name, all other platforms append a <tt>.bak</tt>
+ suffix.
+ <li><b>Save As</b> opens a filename selection dialog, and allows
+ the user to select a file to save to. After selecting the file
+ name, it behaves identical to <b>Save</b>.
+ <li><b>Open</b> opens a filename selection dialog, requesting an
+ existing file to be opened by the user. This file will be loaded
+ into the editor buffer, and the <b>Makefile</b> menu will be
+ updated accordingly.
+ <li><b>Exit</b> will quit the application. No checks whatsoever
+ are done to ensure the user has saved his editing work before.
+</ul>
+
+<p>The <b>Makefile</b> menu allows customization of the generated
+Makefile. Note that the various menu items described below will only
+be present if the corresponding feature is present in the parsed
+template or input file. This menu is divided into three areas:</p>
+
+<ul>
+<li><b>Code generation options</b>
+<ul>
+ <li>The entry <b>Main file name</b> opens a popup window that asks
+ for the basic name of this
+ project. This will become the base name for all major output files
+ (ELF file, MCU output file, several auxiliary files). By default, it
+ will also serve as the name of the primary C source file, with a
+ <tt>.c</tt> suffix appended. The popup will be closed by pressing
+ <i><Enter></i> in the entry field.
+ <li>The entries <b>MCU type</b>, <b>Output format</b>,
+ <b>Optimization level</b>,
+ and <b>C standard level</b> select possible values out of a
+ predefined list. When selecting one of these options, the
+ respective Makefile macro will be modified accordingly, and the
+ widget will be adjusted so the new values can be seen
+ immediately.
+ <li>The entry <b>printf() options</b> works similar, only it does
+ not modify a Makefile macro of its own but edits the PRINTF_LIB
+ macro instead. Note that setting this away from
+ <i>none/standard</i> will cause the generated application to
+ always include the code for vfprintf() (which is huge),
+ regardless of whether the application actually uses any member
+ of the printf() family. See the avr-libc documentation for the
+ meaning of the different options.
+ <li>Likewise, changing the <b>scanf() options</b> changes the
+ macro SCANF_LIB, in the same manner. Note that the
+ <tt>scanf()</tt> format %[ (string match out of a set of
+ characters) will only be present in the floating point version
+ since it requires a lot of code, as well as using
+ <tt>malloc()</tt> (which is otherwise only required for the
+ floating point version).
+ <li>The entry <b>C/C++ source file(s)</b> opens a popup that asks
+ for a list of C (or C++) source files. C source files get the
+ suffix <tt>.c</tt> (lower-case letter c), C++ source files get
+ either of <tt>.C</tt> (capital c), <tt>.cxx</tt>, or <tt>.cc</tt>.
+ Multiple file names shall be seperated by spaces. A checkbox
+ indicates whether the primary C source file name derived from
+ the <b>Main file name</b> setting should be included or not.
+ The popup will be closed by pressing <i><Enter></i> in the entry
+ field.
+ <li>The entry <b>Assembler source file(s)</b> works similar
+ except there are no default assembler sources to be included.
+ Note that assembler source files get the suffix <tt>.S</tt>
+ (capital letter s) which means they are being pre-processed by
+ the C preprocessor, so <tt>#include</tt> etc. will work. A
+ lower-case letter <tt>.s</tt> suffix is considered to be a
+ temporary compiler output file, and should not be used here.
+ <li>Using <b>External RAM options</b>, several possible variants
+ to use external RAM can be selected. This is internally handled
+ by editing the EXTMEMOPTS macro which eventually gets added to
+ the LDFLAGS during linking. The options are to either use
+ external RAM for both, variables (i. e. sections .data and .bss)
+ as well as for the heap (dynamic memory for <tt>malloc()</tt>),
+ or to leave variables in internal memory and use the external
+ RAM only for the heap. In both cases, the stack will always
+ remain in internal memory; this is the fastest way, and some
+ AVR MCUs have hardware bugs so they would not work when the
+ stack is located in external RAM. It can be selected whether
+ the external RAM should start at the lowest possible memory
+ location (right behind the internal RAM), or at a different
+ memory address. Several common memory sizes can be chosen from.
+ Obviously, these options are only accessible for MCU types that
+ do have an external memory interface.
+ <li>The entry <b>Debug format</b> selects one out of the following
+ options:
+ <ul>
+ <li><b>ELF/stabs</b> ELF object files with stabs debugging
+ information are currently the native way to debug under Unix
+ and/or GDB. This includes any GDB frontend, like Insight or
+ DDD.
+ <li><b>AVR-COFF</b> Selecting this format will internally also
+ generate an ELF/stabs file, but change the Makefile to
+ subsequently convert the ELF file into a COFF file that adheres
+ to the originally Atmel AVR COFF file format specification.
+ This file format is understood by AVR Studio up to 3.x, and
+ VMLAB up to 3.9.
+ <li><b>AVR-ext-COFF</b> The conversion from internal ELF to
+ COFF will be tuned to produce a file according to the later
+ AVR "extended" COFF specification by Atmel, understood by AVR
+ Studio 4.07 and above, and VMLAB 3.10 and above.
+ <li><b>ELF/DWARF-2</b> Create an ELF standard object file with
+ DWARF-2 debug information. This is the proposed standard debug
+ format for ELF. It is currently Beta, the GNU tools are slowly
+ changing towards that standard (though it is not yet known
+ whether AVR-GDB will already fully understand the format yet),
+ and Atmel has released a beta ELF/DWARF-2 parser for their AVR
+ Studio.
+ </ul>
+</ul>
+<li><b>AVRdude options</b>
+<ul>
+ <li>The entry <b>Programmer</b> allows the selection of
+ the programming hardware (parallel port "dongle", or serially
+ connected hardware).
+ <li>The entry <b>Port</b> selects the serial or parallel
+ port AVRdude is going to talk across. This menu item might
+ be missing on some operating systems where no default ports
+ are known.
+</ul>
+<li><b>Miscellaneous</b>
+<ul>
+ <li>By default, the editor widget is read-only, and can only be
+ modified by the menu entries mentioned above. By checking the
+ <b>Enable Editing of Makefile</b> checkbox, this restriction can be lifted,
+ and the widget can be used as a simple standard text editor for
+ the generated Makefile. Note that the menu operations mentioned
+ above are not guaranteed to work on arbitrary input texts since
+ they search for certain patterns in order to implement their
+ functionality, so manual editing should always be used as a last
+ step before eventually saving the generated Makefile.
+</ul>
+</ul>
+
+</body>
+<address><hr>
+Jörg Wunsch · &lt;j.gnu@uriah.heep.sax.de&gt; ·
+$Date: 2004/07/15 20:51:08 $</address>
+</html>