AMTS/Mieke/CMSISPacks.tex

51 lines
2.3 KiB
TeX

\subsection[CMSIS-Packs]{\gls{CMSIS}-Packs}
\label{sec:cmsis-packs}
Libraries und Beispielprojekte für die \uVision{} 5 werden in sogenannten \gls{CMSIS}-Packs verwaltet. \gls{CMSIS}-Packs sind \gls{ZIP}-Dateien, welche eine Beschreibungs-Datei im \texttt{.pdsc}-Format enthält. Dies ist intern eine \gls{XML}-Datei, welche den Inhalt und die Abhängigkeiten eines \gls{CMSIS}-Packs beschreibt.
Im Zuge dieser Diplomarbeit entstand ein \gls{CMSIS}-Pack für die HTL \gls{STDLib} und einige Assembler Helper-Dateien, welche für das alte \gls{Minimalsystem} verwendet werden. Dies macht das Arbeiten mit der alten Platform in Verbindung mit \uVision{} 5 einfacher als dies mit der Version 4 war. Des weiteren bietet diese Pack-Strukturierung eine einfache Möglichkeit des Updatens von Libraries, was mit der \uVision{} 4 in dieser Form überhaupt nicht möglich war.
\subsubsection{Die Erstellung}
\label{sec:cmsis-erstellung}
Die Erstellung eines minimalen \gls{CMSIS}-Packs ist nicht allzu schwer und in einigen Minuten erledigt. Die Erstellung von komplexeren Packs mit Abhängigkeiten, Beispielprojekten und so weiter kann unter \cite{arm:CMSISPack} eingesehen werden. Im folgenden Beispiel wird das \gls{STDLib}-Pack erstellt.
\begin{warning}
Hinweis: Hier wird nur auf die Erstellung des Packs an sich, nicht aber auf die Erstellung der im Pack inkludierten Libraries eingegangen.
\end{warning}
\subsubsubsection{Inhalt}
\label{sec:cmsis-inhalt}
Der Inhalt des \gls{STDLib} \gls{CMSIS}-Packs kann in \fref{fig:cmsis-inhalt} gesehen werden.
% \dirtree{%
% .1 /.
% .2 Header.
% .3 armv10_serbus.h.
% .3 armv10_std.h.
% .3 STD_STM32_F103RB_ASM.INC.
% .3 STM32_F103RB_MEM_MAP.INC.
% .2 Library.
% .3 armv10_serbus.lib.
% .3 ARMV10_STD.lib.
% .2 HTBL_Hollabrunn.STD-Pack.pdsc.
% }
\begin{forest}
for tree={font=\sffamily, grow'=0,
folder indent=0.2em, folder icons,
edge=densely dotted}
[/
[Header
[armv10\_serbus.h, is file]
[armv10\_std.h, is file]
[STD\_STM32\_F103RB\_ASM.INC, is file]
[STM32\_F103RB\_MEM\_MAP.INC, is file]]
[Library
[armv10\_serbus.lib, is file]
[ARMV10\_STD.lib, is file]]
[HTBL Hollabrunn.STD-Pack.pdsc, is file]
]
\end{forest}