aboutsummaryrefslogtreecommitdiff
path: root/2019-installfest/nuttx-stm23
diff options
context:
space:
mode:
Diffstat (limited to '2019-installfest/nuttx-stm23')
-rw-r--r--2019-installfest/nuttx-stm23/NuttX_logo.pngbin0 -> 4961 bytes
-rw-r--r--2019-installfest/nuttx-stm23/STM32_Blue_Pill_perspective.jpgbin0 -> 2148096 bytes
-rw-r--r--2019-installfest/nuttx-stm23/makefile10
-rw-r--r--2019-installfest/nuttx-stm23/pres.pdfbin0 -> 2307449 bytes
-rw-r--r--2019-installfest/nuttx-stm23/pres.tex186
5 files changed, 196 insertions, 0 deletions
diff --git a/2019-installfest/nuttx-stm23/NuttX_logo.png b/2019-installfest/nuttx-stm23/NuttX_logo.png
new file mode 100644
index 0000000..360e657
--- /dev/null
+++ b/2019-installfest/nuttx-stm23/NuttX_logo.png
Binary files differ
diff --git a/2019-installfest/nuttx-stm23/STM32_Blue_Pill_perspective.jpg b/2019-installfest/nuttx-stm23/STM32_Blue_Pill_perspective.jpg
new file mode 100644
index 0000000..a48f212
--- /dev/null
+++ b/2019-installfest/nuttx-stm23/STM32_Blue_Pill_perspective.jpg
Binary files differ
diff --git a/2019-installfest/nuttx-stm23/makefile b/2019-installfest/nuttx-stm23/makefile
new file mode 100644
index 0000000..7b97a99
--- /dev/null
+++ b/2019-installfest/nuttx-stm23/makefile
@@ -0,0 +1,10 @@
+FILE=pres
+
+$(FILE).pdf: $(FILE).tex $(patsubst %.svg,%.pdf,$(wildcard *.svg))
+ pdflatex -shell-escape $<
+
+%.pdf: %.svg
+ inkscape -D -z --file=$< --export-pdf=$@ --export-latex
+
+clean:
+ ls | grep -v -E "($(FILE).tex|makefile|scheme|svg|png|jpg|eps)$$" | xargs rm -rf
diff --git a/2019-installfest/nuttx-stm23/pres.pdf b/2019-installfest/nuttx-stm23/pres.pdf
new file mode 100644
index 0000000..6dc878b
--- /dev/null
+++ b/2019-installfest/nuttx-stm23/pres.pdf
Binary files differ
diff --git a/2019-installfest/nuttx-stm23/pres.tex b/2019-installfest/nuttx-stm23/pres.tex
new file mode 100644
index 0000000..310acef
--- /dev/null
+++ b/2019-installfest/nuttx-stm23/pres.tex
@@ -0,0 +1,186 @@
+\documentclass[aspectratio=169]{beamer}
+\usetheme{metropolis}
+\usepackage{lmodern}
+\usepackage[czech]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{graphicx}
+\usepackage{wrapfig}
+\usepackage{color}
+\usepackage{mathtools}
+\usepackage{hyperref}
+\usepackage{epstopdf}
+\usepackage{amsmath}
+\usepackage{minted}
+\hypersetup{
+ colorlinks,
+ citecolor=black,
+ filecolor=black,
+ linkcolor=black,
+ urlcolor=black
+}
+\usepackage{pdflscape}
+\definecolor{omnia}{rgb}{0, 0.635, 0.886}
+
+\title{Nuttx na STM32}
+\author{Karel Kočí}
+\date{3.3.2018}
+
+\begin{document}
+
+\frame{\titlepage}
+
+\begin{frame}[fragile]
+ \frametitle{NuttX?}
+ \includegraphics[width=60px]{NuttX_logo.png}
+ \begin{itemize}
+ \item RTOS pro 8-bit až 32-bit
+ \item Vyvíjen Gregory Nuttem
+ \item Poprvé vydán v roce 2007
+ \item Posix a ANSI standardy + podobné API jako VxWorks
+ \item Dobré vrstvení (arch, board, config, app / lower, upper drivers)
+ \item Open-source
+ \end{itemize}
+ \url{https://nuttx.org}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Proč?}
+ \begin{itemize}
+ \item Posix a standardní API
+ \item Jednotná implementace
+ \item Velký výběr z driverů
+ \item Easy to hack
+ \item Dobře dokumentovaný kód
+ \item Dobře konfigurovatelný
+ \item Široká podpora architektur i prototypových desek
+ \item Podpora ELF
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Na čem?}
+ \begin{columns}[T]
+ \begin{column}[T]{5cm}
+ stm32f103-minimum
+
+ (Blue Pill)
+ \begin{itemize}
+ \item STM32F103C8
+ \item Flash: 64KB (128KB)
+ \item RAM: 20KB
+ \item Clock: 72MHz
+ \item Micro-USB, LED
+ \item Cena: \textasciitilde 50Kč
+ \end{itemize}
+ \end{column}
+ \begin{column}[T]{5cm}
+ \includegraphics[width=6cm]{STM32_Blue_Pill_perspective.jpg}
+ \end{column}
+ \end{columns}
+ \vspace{0.5cm}
+
+ \url{https://wiki.stm32duino.com/index.php?title=Blue_Pill}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Co potřebujeme?}
+ \begin{itemize}
+ \item Blue Pill
+ \item ST-link (v2)
+ \item USB to TTL (serial cable)
+ \end{itemize}
+
+ \begin{itemize}
+ \item NuttX (\url{https://bitbucket.org/nuttx/nuttx})
+ \item NuttX apps (\url{https://bitbucket.org/nuttx/apps})
+ \item Kconfig (NuttX tools: \url{https://bitbucket.org/nuttx/tools})
+ \item Toolchain: arm-none-eabi (\url{https://crosstool-ng.github.io/})
+ \item OpenOCD
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Clone me.. tool me..}
+ \begin{verbatim}
+git clone https://bitbucket.org/nuttx/nuttx
+git clone https://bitbucket.org/nuttx/apps
+git clone https://bitbucket.org/nuttx/tools
+\end{verbatim}
+
+ \begin{verbatim}
+cd tools/kconfig-frontends
+autoreconf -fi
+./configure --disable-shared --enable-static \
+ --enable-frontends=kconf,conf,mconf \
+ --prefix=$HOME/.local
+make install
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Konfigurace a build}
+ \begin{enumerate}
+ \item Vygeneruj výchozí konfiguraci
+ \item Použij mconf pro doladění
+ \end{enumerate}
+
+ \begin{verbatim}
+./tools/configure.sh stm32f103-minimum/nsh
+make menuconfig
+\end{verbatim}
+
+ \begin{verbatim}
+make -j$(nproc)
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Nahrání do pilulky}
+
+ \begin{verbatim}
+openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg \
+ -f /usr/share/openocd/scripts/target/stm32f1x.cfg
+
+telnet localhost 4444
+> reset halt
+> program nuttx.bin 0x08000000 verify
+> reset run
+\end{verbatim}
+
+ \begin{verbatim}
+NuttShell (NSH)
+nsh>
+\end{verbatim}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Vlastní aplikace}
+ Přečtěte si: apps/README.txt (Předvedu třetí metodu)
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Dokumentace k přečtení}
+ \begin{enumerate}
+ \item nuttx/configs/stm32f103-minimum/README.txt
+ \item nuttx/Documentation/NuttxUserGuide.html
+ \item nuttx/Documentation/NuttShell.html
+ \item nuttx/Documentation/NuttxPortingGuide.html
+ \end{enumerate}
+\end{frame}
+
+\begin{frame}
+ \Large Děkuji za pozornost.
+
+ \url{git.cynerd.cz}
+\end{frame}
+
+{
+\setbeamercolor{background canvas}{bg=omnia}
+\begin{frame}
+ \pagecolor{yellow!30!orange}
+ \center \color{white} \Huge play.turris.cz
+\end{frame}
+}
+
+\end{document}