\chapter{Introduction}

PIC-{}GCC es un compilateur de langage C pour microcontrôleurs de la famille PIC16 de MICROCHIP.

\begin{figure}[!htp]
\centering \includegraphics[width=6cm]{source/GtkPicGccAbout}
 \caption{Logo de Pic Gcc Library}
\end{figure}

\section[{ Description des Dossiers}]{  \label{ID_DESCRIBCIONCARPETAS}Description des Dossiers}
\begin{table}[!htp]
\begin{center}
 \begin{tabular}{|c|p{10cm}|}\hline
 \textbf{Dossiers à la racine} & \textbf{Description des Dossiers} \\ \hline
 bin & Dossier avec les outils pour la compilation \\ \hline
 devel & Dossier avec le code source des bibliothèques (seulement la version pour développeurs).\\ \hline
 doc & Dossier avec la documentation pour l'utilisation des bibliothèques.\\ \hline
 examples & Dossier avec des exemples d'utilisation (ne pas ~modifier) \\ \hline
 include & Dossier avec la définition de toutes les fonctions des bibliothèques. \\ \hline
 lib &  Dossier avec les bibliothèques statiques prédéfinies. \\ \hline
 refman & Dossier avec le manuel de référence des bibliothèques. \\ \hline
 schematics & Dossier avec les schémas électroniques correspondant aux exemples \\ \hline
\end{tabular}
\caption{Description des dossiers de Pic-{}Gcc-{}Library}
\end{center}
\end{table}

\section[{Méthodes de Compilation}]{\label{ID_METODPSCOMPILACION}Méthodes de Compilation}
pour compiler un programme on dispose de deux options:

\subsection{Première Forme}
\verbatiminput{source/compila.txt}
\subsection{seconde Forme}

./compila.sh ejemplo 16f877a .

si le programme que je veux ~compiler n'est pas dans le dossier où se situe compila.sh 

./compila.sh ejemplo 16f877a ~/répertoire\_du\_code\_source

\section[{bibliothèques en Pic-{}Gcc-{}Library}]{  \label{ID_BIBLIOTECAPICGCCLIBRARY}Bibliothèques en Pic-{}Gcc-{}Library}

\begin{table}[!htp]
\caption{Dossier dans le Dossier INCLUDE de Pic-{}Gcc-{}Library}

 \begin{tabular}{|c|p{12cm}|}\hline
Dossiers & Description des Dossiers \\ \hline
disp & Contient les fonctions pour contrôler les périphériques de chaque dispositif: UART, SPI, PWM, IO, etc. \\ \hline
drivers & Contient les fonctions pour contrôler les composants externes comme: Keypad, Lcd, etc. \\ \hline
pic & Contient les définitions basiques pour chaque type de PIC \\ \hline
util & Dossier avec la définition de toutes les fonctions spéciales comme: "delay" \\ \hline
 . & Dans le dossier racine on ~trouve les bibliothèques standard du C.  \\ \hline
\end{tabular}
\end{table}

\section[{Microcontrôleurs supportés}]{\label{ID_PICSOPORTADOS} Microcontrôleurs supportés}

\begin{center}
\tablehead{ \hline
Microcontrôleur & Disp & Driver & Pic & Util & Libc \\ \hline }
\bottomcaption{Microcontrôleurs supportés actuellement}
\begin{supertabular}{|c|c|c|c|c|c|}\hline
\input{source/tabla1.3}
\end{supertabular}
\end{center}

\section{Entêtes définies}
\begin{table}[!htp]
\begin{center}
\begin{tabular}{|c|c|}\hline
Dossier & Entêtes \\ \hline
Disp & pinio.h, uart.h, comp.h, adc.h, pwm.h, eeprom.h, \\ 
 & i2c.h, timer0.h, timer2.h, interrupt.h, system.h \\ \hline
Driver & keypad4x4.h, keypad4x4flex.h \\ \hline
Util & delayms.h, memory.h, uart2.h \\ \hline
Libc & string.h, stdarg.h, stddef.h, limits.h, tipos.h \\ \hline
\end{tabular} 
\caption{Entêtes définies dans Pic-{}Gcc-{}Library}
\end{center}
\end{table}

\section{Bibliothèque de Dispositifs Supportés}
\begin{center}
\bottomcaption{Dispositifs supportés actuellement}
\tablehead{ \hline
$\mu$ C & \rotatebox{90}{PINIO.H} &\rotatebox{90}{UART.H} & \rotatebox{90}{COMP.H} & \rotatebox{90}{ADC.H} & \rotatebox{90}{PWM.H} & \rotatebox{90}{EEPROM.H} & \rotatebox{90}{I2C.H} & \rotatebox{90}{SPI.H} & \rotatebox{90}{FLASH.H} & \rotatebox{90}{TIMER0.H} & \rotatebox{90}{TIMER1.H} & \rotatebox{90}{TIMER2.H} & \rotatebox{90}{INTERRUPT.H} & \rotatebox{90}{SYSTEM.H}  \\\hline }
\begin{supertabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}\hline
\input{source/tabla1.5}
\end{supertabular}
\end{center}