/[dtapublic]/pubs/books/ucbka/trunk/c_daa0/c_daa0.tex
ViewVC logotype

Diff of /pubs/books/ucbka/trunk/c_daa0/c_daa0.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4 by dashley, Thu Oct 6 03:15:02 2016 UTC revision 140 by dashley, Mon Jul 3 01:59:16 2017 UTC
# Line 1  Line 1 
1  %$Header: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/c_daa0/c_daa0.tex,v 1.2 2001/07/30 02:54:17 dtashley Exp $  %$Header$
2    
3  \chapter{\cdaazerolongtitle{}}  \chapter{\cdaazerolongtitle{}}
4    
5  \label{cdaa0}  \label{cdaa0}
6    
7  \beginchapterquote{``Without censorship, things can get terribly confused  \beginchapterquote{``Without censorship, things can get terribly confused
8                       in the public mind.''}{General William Westmoreland}                       in the public mind.''}{General William Westmoreland}
9    
10  \section{Introduction}  \section{Introduction}
11  %Section Tag: INT  %Section Tag: INT
12    
13  In practice, preparing the ROM image of a microcontroller software product  In practice, preparing the ROM image of a microcontroller software product
14  is a complex process that exceeds the capabilities of standard development  is a complex process that exceeds the capabilities of standard development
15  tools such as compilers, assemblers, and linkers.  The specific  tools such as compilers, assemblers, and linkers.  The specific
16  elements of the process that exceed the capabilities of standard ``off-the-shelf''  elements of the process that exceed the capabilities of standard ``off-the-shelf''
17  development tools are:  development tools are:
18    
19  \begin{itemize}  \begin{itemize}
20  \item ROM checksums must typically be generated and placed at a specific  \item ROM checksums must typically be generated and placed at a specific
21        location in ROM.        location in ROM.
22  \item Suspicious conditions that may indicate a software error  \item Suspicious conditions that may indicate a software error
23        should be detected.  Suspicious conditions include        should be detected.  Suspicious conditions include
24            versions of compilers or other development tools that are            versions of compilers or other development tools that are
25            not the expected versions, files which are not checked into            not the expected versions, files which are not checked into
26            version control, extra files, missing files, etc.            version control, extra files, missing files, etc.
27  \item Coding standards should be automatically enforced during the  \item Coding standards should be automatically enforced during the
28        build process.  Violations of coding standards should prevent        build process.  Violations of coding standards should prevent
29            a production build.            a production build.
30  \item Product defects should be fed back into the tool set.\footnote{Product  \item Product defects should be fed back into the tool set.\footnote{Product
31        defects should also be fed back into the training for software        defects should also be fed back into the training for software
32            developers, and into the software process.}  If the root cause            developers, and into the software process.}  If the root cause
33            of a product defect is found to be automatically detectable,            of a product defect is found to be automatically detectable,
34            tools should be enhanced to prevent recurrence of the defect.            tools should be enhanced to prevent recurrence of the defect.
35  \item Redundancy should be eliminated or minimized in all of the  \item Redundancy should be eliminated or minimized in all of the
36        materials---including the code---which are maintained as        materials---including the code---which are maintained as
37            part of software developments.  Examples of redundancy include:            part of software developments.  Examples of redundancy include:
38            \begin{itemize}            \begin{itemize}
39            \item Network message lists are often redundant with respect to            \item Network message lists are often redundant with respect to
40                  the code.  Network message lists often are processed to                  the code.  Network message lists often are processed to
41                          form data tables in the code, and sometimes even influence                          form data tables in the code, and sometimes even influence
42                          the structure of the code.                          the structure of the code.
43        \item Software modules are often redundant with respect to        \item Software modules are often redundant with respect to
44                  each other.  For example, it is common for task schedulers                  each other.  For example, it is common for task schedulers
45                          and real-time operating systems to contain lists of                          and real-time operating systems to contain lists of
46                          function pointers.  These lists of function pointers                          function pointers.  These lists of function pointers
47              must be maintained to be consistent with the functions              must be maintained to be consistent with the functions
48                          (usually in different source files).  The maintenance                          (usually in different source files).  The maintenance
49                          of consistency should be automatic (the lists of function                          of consistency should be automatic (the lists of function
50                          pointers should be maintained automatically).                          pointers should be maintained automatically).
51            \end{itemize}            \end{itemize}
52  \item Organizations often maintain ``bookshelves''---collections of  \item Organizations often maintain ``bookshelves''---collections of
53        re-usable software components.  Often, ``customizing'' the        re-usable software components.  Often, ``customizing'' the
54            software components (i.e. using them from the bookshelf)            software components (i.e. using them from the bookshelf)
55            is a task that exceeds the capabilites of the `C' preprocessor            is a task that exceeds the capabilites of the `C' preprocessor
56            or other simple tools.            or other simple tools.
57  \item Some mappings that are helpful in code are too complex to  \item Some mappings that are helpful in code are too complex to
58        be performed by the `C' preprocessor or other simple        be performed by the `C' preprocessor or other simple
59            tools.  For example, if one accepts 1.6093 as the            tools.  For example, if one accepts 1.6093 as the
60            ideal conversion factor from miles-per-hour to            ideal conversion factor from miles-per-hour to
61            kilometers-per-hour, the best rational approximation with            kilometers-per-hour, the best rational approximation with
62            numerator and denominator not exceeding 255 is 243/151.\footnote{See            numerator and denominator not exceeding 255 is 243/151.\footnote{See
63            Chapters \cfryzeroxrefhyphen{}\ref{cfry0},            Chapters \cfryzeroxrefhyphen{}\ref{cfry0},
64            \ccfrzeroxrefhyphen{}\ref{ccfr0},            \ccfrzeroxrefhyphen{}\ref{ccfr0},
65            and \cratzeroxrefhyphen{}\ref{crat0}.}  The mapping from            and \cratzeroxrefhyphen{}\ref{crat0}.}  The mapping from
66            (1.6093, 255, 255) to (243,151) is too complex to be made            (1.6093, 255, 255) to (243,151) is too complex to be made
67            by the `C' preprocessor.            by the `C' preprocessor.
68  \end{itemize}  \end{itemize}
69    
70  In this chapter, we present a solution based around the scripting language  In this chapter, we present a solution based around the scripting language
71  Tcl.  Tcl.
72    
73  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
74  \noindent\begin{figure}[!b]  \noindent\begin{figure}[!b]
75  \noindent\rule[-0.25in]{\textwidth}{1pt}  \noindent\rule[-0.25in]{\textwidth}{1pt}
76  \begin{tiny}  \begin{tiny}
77  \begin{verbatim}  \begin{verbatim}
78  $RCSfile: c_daa0.tex,v $  $RCSfile: c_daa0.tex,v $
79  $Source: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/c_daa0/c_daa0.tex,v $  $Source: /home/dashley/cvsrep/e3ft_gpl01/e3ft_gpl01/dtaipubs/esrgubka/c_daa0/c_daa0.tex,v $
80  $Revision: 1.2 $  $Revision: 1.2 $
81  $Author: dtashley $  $Author: dtashley $
82  $Date: 2001/07/30 02:54:17 $  $Date: 2001/07/30 02:54:17 $
83  \end{verbatim}  \end{verbatim}
84  \end{tiny}  \end{tiny}
85  \noindent\rule[0.25in]{\textwidth}{1pt}  \noindent\rule[0.25in]{\textwidth}{1pt}
86  \end{figure}  \end{figure}
87    
88  % $Log: c_daa0.tex,v $  % $Log: c_daa0.tex,v $
89  % Revision 1.2  2001/07/30 02:54:17  dtashley  % Revision 1.2  2001/07/30 02:54:17  dtashley
90  % INTFAC extension and command-line utility finished.  % INTFAC extension and command-line utility finished.
91  %  %
92  % Revision 1.1.1.1  2001/06/19 19:48:30  dtashley  % Revision 1.1.1.1  2001/06/19 19:48:30  dtashley
93  % Initial import.  % Initial import.
94  %  %
95  %  %
96  %End of file C_DAA0.TEX  %End of file C_DAA0.TEX

Legend:
Removed from v.4  
changed lines
  Added in v.140

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25