<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.xnick.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Julia</id>
	<title>Nicki Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.xnick.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Julia"/>
	<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php/Spezial:Beitr%C3%A4ge/Julia"/>
	<updated>2026-04-17T10:32:27Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.6</generator>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Raspberry_Pi_Kiosksystem&amp;diff=424</id>
		<title>Raspberry Pi Kiosksystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Raspberry_Pi_Kiosksystem&amp;diff=424"/>
		<updated>2020-04-02T09:10:45Z</updated>

		<summary type="html">&lt;p&gt;Julia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Kiosksystem für verschiedene Einsätze, hier für OpenHAB mit HABPanel.&lt;br /&gt;
&lt;br /&gt;
== Betreibsystem ==&lt;br /&gt;
=== FullPageOS ===&lt;br /&gt;
Das [https://github.com/guysoft/FullPageOS FullPageOS] für den Raspberry Pi lief leider nicht wie gewollt.&lt;br /&gt;
Ein Raspberry Pi 3 oder Raspberry Pi 2 B+ mit dem [https://www.rasppishop.de/Raspberry-Pi-7-Touchscreen-Display Raspberry Pi 7&amp;quot; Touchscreen Display] zeigte kein Bild. &lt;br /&gt;
Per HDMI an einem TV oder Monitor lief es ohne Probleme.&lt;br /&gt;
&lt;br /&gt;
=== Raspian ===&lt;br /&gt;
Was gut funktionierte und jetzt im Dauereinsatz ist, ist das [https://www.raspberrypi.org/downloads/raspbian/ Raspbian Buster with desktop].&lt;br /&gt;
Da der Raspberry Pi im 24/7-Betrieb läuft, wurden verschiedene Änderungen um die [https://wiki.xnick.de/index.php/Raspberry_Pi_Boot_konfiguration Lebensdauer SD-Karte zu erhöhen] vorgenommen.&lt;br /&gt;
&lt;br /&gt;
== Auto Login ==&lt;br /&gt;
Sollte sich der Raspberry Pi nicht automatisch einloggen, kann das mit raspi-config geändert werden:&lt;br /&gt;
&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
 3 Boot Options -&amp;gt; B1 Desktop / CLI -&amp;gt; B4 Desktop Autologin&lt;br /&gt;
&lt;br /&gt;
== Chromium ==&lt;br /&gt;
=== Mauszeiger ausblenden ===&lt;br /&gt;
Installation unclutter zur Ausblendung des Mauszeiger:&lt;br /&gt;
 sudo apt install unclutter&lt;br /&gt;
&lt;br /&gt;
=== Autostart ===&lt;br /&gt;
Autostart von Chromium und eines Scriptes:&lt;br /&gt;
 sudo vim /etc/xdg/lxsession/LXDE-pi/autostart&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 @lxpanel --profile LXDE-pi&lt;br /&gt;
 @pacmanfm --desktop --profile LXDE-pi&lt;br /&gt;
 @xscreensaver -no-splash&lt;br /&gt;
 &lt;br /&gt;
 #no cursor&lt;br /&gt;
 @unclutter&lt;br /&gt;
 &lt;br /&gt;
 #autostart chromium&lt;br /&gt;
 @chromium-browser --noerrordialogs --kiosk http://10.0.0.100:80&lt;br /&gt;
 &lt;br /&gt;
 #startup script&lt;br /&gt;
 /home/pi/startup_script.sh&lt;br /&gt;
&lt;br /&gt;
Nun startet der Chromium-Browser automatisch in den Vollbildmodus.&lt;br /&gt;
&lt;br /&gt;
=== Chromium Starteinstellungen ===&lt;br /&gt;
Der Chromium-Browser kann mit verschieden Einstellungen gestartet werden; hier eine kleine Übersicht:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|Chromium Starteinstellungen&lt;br /&gt;
|-&lt;br /&gt;
| --kiosk http://www.website.de || startet mit Website im Vollbildmodus&lt;br /&gt;
|-&lt;br /&gt;
| --noerrdialogs || unterdrückt alle Fehlerdialoge &lt;br /&gt;
|-&lt;br /&gt;
| --incognito || startet direkt im Inkognito-Modus&lt;br /&gt;
|}&lt;br /&gt;
Weiter Optionen unter [https://peter.sh/experiments/chromium-command-line-switches/ Chromium-Befehlszeilen-Optionen]&lt;br /&gt;
&lt;br /&gt;
== Energie sparen ==&lt;br /&gt;
=== Display auschalten ===&lt;br /&gt;
Um das [https://www.rasppishop.de/Raspberry-Pi-7-Touchscreen-Display Raspberry Pi 7&amp;quot; Touchscreen Display] nach einer bestimmten Zeit automatisch auszuschalten und bei Touch wieder einzuschalten, werden die Energiesparoptionen des Raspberry Pi genutzt:&lt;br /&gt;
 sudo vim /home/pi/startup_script.sh&lt;br /&gt;
&lt;br /&gt;
Mit fogendem Inhalt:&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 #wait 10 seconds&lt;br /&gt;
 sleep 10&lt;br /&gt;
 &lt;br /&gt;
 # dpms (display power management) switch on&lt;br /&gt;
 xset -display :0 dpms force on&lt;br /&gt;
 &lt;br /&gt;
 # dpms (Standby) (Suspend) (Off)&lt;br /&gt;
 # after 30 seconds without activity turn screen off&lt;br /&gt;
 xset -display :0 dpms 0 0 30&lt;br /&gt;
&lt;br /&gt;
Script ausführbar machen:&lt;br /&gt;
 sudo chmod +x /home/pi/startup_script.sh&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
[https://peter.sh/experiments/chromium-command-line-switches/ Chromium-Befehlszeilen-Optionen]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Raspberry_Pi_Boot_konfiguration&amp;diff=423</id>
		<title>Raspberry Pi Boot konfiguration</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Raspberry_Pi_Boot_konfiguration&amp;diff=423"/>
		<updated>2020-04-02T09:07:17Z</updated>

		<summary type="html">&lt;p&gt;Julia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Der Raspberry Pi läuft teilweise durchgehend, dadurch wird die SD-Karte belastet. Um die Lebensdauer der SD-Karte zu erhöhen und die Bootdauer zu verkürzen wird der Bootvorgang optimiert.&lt;br /&gt;
Zusätzlich wird die Bootdarstellung und das Bootlogo geändert.&lt;br /&gt;
&lt;br /&gt;
==Lebensdauer SD-Karte erhöhen==&lt;br /&gt;
Die SD-Karte sollte mind. Klasse 10 haben. &lt;br /&gt;
===Log-Datein ins RAM ausgelagern===&lt;br /&gt;
 sudo vim /etc/fstab&lt;br /&gt;
&lt;br /&gt;
Folgendes hinzufügen:&lt;br /&gt;
 tmpfs /tmp tmpfs defaults,size=8M 0 0&lt;br /&gt;
 tmpfs /var/tmp tmpfs defaults,size=8M 0 0&lt;br /&gt;
 tmpfs /var/log tmpfs defaults,size=8M 0 0&lt;br /&gt;
&lt;br /&gt;
===Logrotate===&lt;br /&gt;
Da der tmpfs Space klein ist -&amp;gt; logrotate auf 1 bzw. daily&lt;br /&gt;
 sudo vim /etc/logrotate.conf&lt;br /&gt;
&lt;br /&gt;
Änderung:&lt;br /&gt;
 weekly -&amp;gt; daily&lt;br /&gt;
&lt;br /&gt;
===SWAP===&lt;br /&gt;
SWAP auslagern (nur wenn swapping nicht notwendig ist)&lt;br /&gt;
 sudo dphys-swapfile swapoff&lt;br /&gt;
 sudo dphys-swapfile uninstall&lt;br /&gt;
 sudo update-rc.d dphys-swapfile remove&lt;br /&gt;
&lt;br /&gt;
===Logs abschalten===&lt;br /&gt;
 sudo vim /etc/rsyslog.conf&lt;br /&gt;
&lt;br /&gt;
Änderungen:&lt;br /&gt;
 #cron.* /var/log/cron.log&lt;br /&gt;
 daemon.* -/var/log/daemon.log&lt;br /&gt;
 kern.* -/var/log/kern.log&lt;br /&gt;
 #lpr.* -/var/log/lpr.log&lt;br /&gt;
 #mail.* -/var/log/mail.log&lt;br /&gt;
 #user.* -/var/log/user.log&lt;br /&gt;
 &lt;br /&gt;
 #mail.info -/var/log/mail.info&lt;br /&gt;
 #mail.warn -/var/log/mail.warn&lt;br /&gt;
 #mail.err /var/log/mail.err&lt;br /&gt;
&lt;br /&gt;
==Bootvorgang optimieren==&lt;br /&gt;
===Kernelmodule abschalten===&lt;br /&gt;
 sudo vim /etc/modprobe.d/raspi.conf&lt;br /&gt;
&lt;br /&gt;
Folgendes hinzufügen:&lt;br /&gt;
 blacklist ipv6&lt;br /&gt;
 &lt;br /&gt;
 blacklist snd_bcm2835&lt;br /&gt;
 blacklist snd_soc_bcm2708_i2s&lt;br /&gt;
 blacklist snd_soc_core&lt;br /&gt;
 blacklist snd_compress&lt;br /&gt;
 blacklist snd_pcm&lt;br /&gt;
 blacklist snd_page_alloc&lt;br /&gt;
 blacklist snd_seq&lt;br /&gt;
 blacklist snd_seq_device&lt;br /&gt;
 blacklist snd_timer&lt;br /&gt;
 blacklist snd&lt;br /&gt;
 &lt;br /&gt;
 blacklist btbcm&lt;br /&gt;
 blacklist hci_uart&lt;br /&gt;
 &lt;br /&gt;
 blacklist uio_pdrv_genirq&lt;br /&gt;
 blacklist uio&lt;br /&gt;
&lt;br /&gt;
===IPv6 abschalten===&lt;br /&gt;
 sudo vim /etc/modprobe.d/ipv6.conf&lt;br /&gt;
&lt;br /&gt;
Inhalt:&lt;br /&gt;
 alias net-pf-10 off&lt;br /&gt;
 alias ipv6 off&lt;br /&gt;
&lt;br /&gt;
===Bluetooth abschalten===&lt;br /&gt;
 sudo systemctl disable hciuart&lt;br /&gt;
 sudo vim /boot/config.txt&lt;br /&gt;
&lt;br /&gt;
Folgendes hinzufügen:&lt;br /&gt;
 dtoverlay=pi3-disable-bt&lt;br /&gt;
&lt;br /&gt;
==RASPI-CONFIG==&lt;br /&gt;
Raspberry Pi Konfiguration aufrufen:&lt;br /&gt;
 sudo raspi-config&lt;br /&gt;
&lt;br /&gt;
===Übertakten===&lt;br /&gt;
Beim Übertakten ist darauf zu achten, ordentlich zu kühlen -&amp;gt; Kühlkörper.&lt;br /&gt;
 -&amp;gt; 6 Overclock -&amp;gt; High&lt;br /&gt;
&lt;br /&gt;
===RAM-Aufteilung GPU===&lt;br /&gt;
Werden keine grafischen Oberflächen verwendet, kann der &amp;quot;Memory Split&amp;quot; auf 16 MB gestellt werden.&lt;br /&gt;
 -&amp;gt; 7 Advanced Options -&amp;gt; A3 Memory Split -&amp;gt; 16&lt;br /&gt;
&lt;br /&gt;
===Interfaces deaktivieren===&lt;br /&gt;
Alle nicht benötigten Schnittstellen deaktivieren.&lt;br /&gt;
 -&amp;gt; 5 Interfacing Options -&amp;gt; alle deaktivieren&lt;br /&gt;
&lt;br /&gt;
==Bootdarstellung==&lt;br /&gt;
=== Konsolenausgabe ===&lt;br /&gt;
Konsolenausgabe ändern:&lt;br /&gt;
 sudo vim /boot/cmdline.txt&lt;br /&gt;
&lt;br /&gt;
Consolenausgabe verschieben, folgendes ändern:&lt;br /&gt;
 console=tty1 -&amp;gt; console=tty3&lt;br /&gt;
&lt;br /&gt;
Entfernen der Beeren, folgendes hinzufügen:&lt;br /&gt;
 logo.nologo&lt;br /&gt;
&lt;br /&gt;
Logausgabe reduzieren, folgendes hinzufügen:&lt;br /&gt;
 loglevel=3&lt;br /&gt;
&lt;br /&gt;
Blinkenden Cursor entfernen, folgendes hinzufügen:&lt;br /&gt;
 vt.global_cursor_default=0&lt;br /&gt;
&lt;br /&gt;
=== Regenbogenbild ===&lt;br /&gt;
Regenbogenbild entfernen:&lt;br /&gt;
 sudo vim /boot/config.txt&lt;br /&gt;
&lt;br /&gt;
Folgendes am Ende hinzufügen:&lt;br /&gt;
 disable_splash=1&lt;br /&gt;
&lt;br /&gt;
=== Bootlogo anzeigen ===&lt;br /&gt;
==== Logo kopieren ====&lt;br /&gt;
Bild in der Displayauflösung unter folgendem Pfad speichern:&lt;br /&gt;
 /etc/splash.png&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel mit scp vom Linux-Host ins Raspberry Pi /home/pi Verzeichnis:&lt;br /&gt;
  scp logo.png pi@10.0.0.10:&lt;br /&gt;
  sudo cp logo.png /etc/splash.png&lt;br /&gt;
&lt;br /&gt;
==== Ohne systemd: ====&lt;br /&gt;
Für die Anzeige framebuffer imageviewer (fbi) installieren:&lt;br /&gt;
 sudo apt-get install fbi&lt;br /&gt;
&lt;br /&gt;
Script erstellen:&lt;br /&gt;
 sudo vim /etc/init.d/asplashscreen&lt;br /&gt;
&lt;br /&gt;
Inhalt:&lt;br /&gt;
 #! /bin/sh&lt;br /&gt;
 ### BEGIN INIT INFO&lt;br /&gt;
 # Provides:          asplashscreen&lt;br /&gt;
 # Required-Start:&lt;br /&gt;
 # Required-Stop:&lt;br /&gt;
 # Should-Start:      &lt;br /&gt;
 # Default-Start:     S&lt;br /&gt;
 # Default-Stop:&lt;br /&gt;
 # Short-Description: Show custom splashscreen&lt;br /&gt;
 # Description:       Show custom splashscreen&lt;br /&gt;
 ### END INIT INFO&lt;br /&gt;
 &lt;br /&gt;
 do_start () {&lt;br /&gt;
     /usr/bin/fbi -T 1 -noverbose -a /etc/splash.png    &lt;br /&gt;
     exit 0&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
   start|&amp;quot;&amp;quot;)&lt;br /&gt;
     do_start&lt;br /&gt;
     ;;&lt;br /&gt;
   restart|reload|force-reload)&lt;br /&gt;
     echo &amp;quot;Error: argument '$1' not supported&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
     exit 3&lt;br /&gt;
     ;;&lt;br /&gt;
   stop)&lt;br /&gt;
     # No-op&lt;br /&gt;
     ;;&lt;br /&gt;
   status)&lt;br /&gt;
     exit 0&lt;br /&gt;
     ;;&lt;br /&gt;
   *)&lt;br /&gt;
     echo &amp;quot;Usage: asplashscreen [start|stop]&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
     exit 3&lt;br /&gt;
     ;;&lt;br /&gt;
 esac&lt;br /&gt;
 :&lt;br /&gt;
&lt;br /&gt;
Script ausführbar machen:&lt;br /&gt;
 sudo chmod a+x /etc/init.d/asplashscreen&lt;br /&gt;
&lt;br /&gt;
und dauerhaft aktivieren:&lt;br /&gt;
 sudo insserv /etc/init.d/asplashscreen&lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
==== Mit systemd: ====&lt;br /&gt;
Für die Anzeige framebuffer imageviewer (fbi) installieren:&lt;br /&gt;
 sudo apt-get install fbi&lt;br /&gt;
&lt;br /&gt;
Script erstellen:&lt;br /&gt;
 sudo vim /etc/systemd/system/splashscreen.service&lt;br /&gt;
&lt;br /&gt;
Inhalt:&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Splash screen&lt;br /&gt;
 DefaultDependencies=no&lt;br /&gt;
 After=local-fs.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 ExecStart=/usr/bin/fbi -d /dev/fb0 --noverbose -a /etc/splash.png&lt;br /&gt;
 StandardInput=tty&lt;br /&gt;
 StandardOutput=tty&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=sysinit.target&lt;br /&gt;
&lt;br /&gt;
Dauerhaft aktivieren:&lt;br /&gt;
 systemctl enable splashscreen&lt;br /&gt;
 sudo reboot&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Thunderbird_und_PGP&amp;diff=366</id>
		<title>Thunderbird und PGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Thunderbird_und_PGP&amp;diff=366"/>
		<updated>2018-03-15T16:44:43Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* PGP-Schlüssel erzeugen oder importieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Email Verschlüsselung (PGP) in Thunderbird nutzen.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
[https://www.mozilla.org/de/thunderbird/ Mozilla Thunderbird]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.gnupg.org/download/index.de.html#auto-ref-3 GnuPG binary]&lt;br /&gt;
&lt;br /&gt;
Installation des Addons Enigmail in Thunderbird.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Thunderbird Menüleiste''' -&amp;gt; '''Extras''' -&amp;gt; '''Add-ons''' -&amp;gt; '''Suchleiste''' -&amp;gt; '''&amp;quot;Enigmail&amp;quot;''' -&amp;gt; installieren.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:thunderbird_pgp_enigmail_install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
'''Thunderbird Menüleiste''' -&amp;gt; '''Enigmail''' -&amp;gt; '''Einstellungen''' -&amp;gt; '''Allgemein''' -&amp;gt; '''Dateien und Verzeichnisse''' -&amp;gt; hier sollte der Pfad auf die zuvor installierten GnuPG '''gpg.exe''' zeigen, z.B. unter Windows:&lt;br /&gt;
 C:\Program Files (x86)\GnuPG\bin\gpg.exe&lt;br /&gt;
&lt;br /&gt;
[[Datei:thunderbird_pgp_gnupg_pfad.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==PGP-Schlüssel erzeugen oder importieren==&lt;br /&gt;
'''Thunderbird Menüleiste''' -&amp;gt; '''Enigmail''' -&amp;gt; '''Schlüssel verwalten''' -&amp;gt; '''Datei''' -&amp;gt; '''Importieren...''' um einen vorhandenen Schlüssel zu imortieren &amp;lt;br/&amp;gt;&lt;br /&gt;
oder '''Thunderbird Menüleiste''' -&amp;gt; '''Enigmail''' -&amp;gt; '''Schlüssel verwalten''' -&amp;gt; '''Erzeugen''' -&amp;gt; '''Neues Schlüsselpaar...''' , um einen neuen Schlüssel zu erzeugen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:thunderbird_pgp_schluessel_verwalten.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Bei der Erzeugung ist eine Passphrase zu empfehlen und unter '''Erweitert...''' sollte eine '''Schlüssellänge''' von mindestens '''4096''' ausgewählt werden. Mit '''Schlüsselpaar erzeugen''' wird der Schlüssel erzeugt.&amp;lt;br/&amp;gt;&lt;br /&gt;
Beim Verfassen einer Nachricht kann über die '''Menüleiste''' -&amp;gt; '''Enigmail''' -&amp;gt; '''Öffentlicher Schlüssel anhängen...''' der öffentliche Schlüssel als Anhang versendet werden.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quellen==&lt;br /&gt;
[https://support.mozilla.org/de/kb/nachrichten-digital-signieren-und-verschlusseln Mozilla E-Mails digital signieren und verschlüsseln]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Thunderbird_und_PGP&amp;diff=365</id>
		<title>Thunderbird und PGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Thunderbird_und_PGP&amp;diff=365"/>
		<updated>2018-03-15T16:43:48Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Download */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Email Verschlüsselung (PGP) in Thunderbird nutzen.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
[https://www.mozilla.org/de/thunderbird/ Mozilla Thunderbird]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://www.gnupg.org/download/index.de.html#auto-ref-3 GnuPG binary]&lt;br /&gt;
&lt;br /&gt;
Installation des Addons Enigmail in Thunderbird.&amp;lt;br/&amp;gt;&lt;br /&gt;
'''Thunderbird Menüleiste''' -&amp;gt; '''Extras''' -&amp;gt; '''Add-ons''' -&amp;gt; '''Suchleiste''' -&amp;gt; '''&amp;quot;Enigmail&amp;quot;''' -&amp;gt; installieren.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:thunderbird_pgp_enigmail_install.png|300px]]&lt;br /&gt;
&lt;br /&gt;
'''Thunderbird Menüleiste''' -&amp;gt; '''Enigmail''' -&amp;gt; '''Einstellungen''' -&amp;gt; '''Allgemein''' -&amp;gt; '''Dateien und Verzeichnisse''' -&amp;gt; hier sollte der Pfad auf die zuvor installierten GnuPG '''gpg.exe''' zeigen, z.B. unter Windows:&lt;br /&gt;
 C:\Program Files (x86)\GnuPG\bin\gpg.exe&lt;br /&gt;
&lt;br /&gt;
[[Datei:thunderbird_pgp_gnupg_pfad.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==PGP-Schlüssel erzeugen oder importieren==&lt;br /&gt;
'''Thunderbird Menüleiste''' -&amp;gt; '''Enigmail''' -&amp;gt; '''Schlüssel verwalten''' -&amp;gt; '''Datei''' -&amp;gt; '''Importieren...''' um einen vorhandenen Schlüssel zu imortieren.&amp;lt;br/&amp;gt;&lt;br /&gt;
Oder '''Thunderbird Menüleiste''' -&amp;gt; '''Enigmail''' -&amp;gt; '''Schlüssel verwalten''' -&amp;gt; '''Erzeugen''' -&amp;gt; '''Neues Schlüsselpaar...''' um einen neuen Schlüssel zu erzeugen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:thunderbird_pgp_schluessel_verwalten.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Bei der Erzeugung ist eine Passphrase zu empfehlen und unter '''Erweitert...''' sollte eine '''Schlüssellänge''' von mindestens '''4096''' ausgewählt werden. Mit '''Schlüsselpaar erzeugen''' wird der Schlüssel erzeugt.&amp;lt;br/&amp;gt;&lt;br /&gt;
Beim Verfassen einer Nachricht kann über die '''Menüleiste''' -&amp;gt; '''Enigmail''' -&amp;gt; '''Öffentlicher Schlüssel anhängen...''' der öffentliche Schlüssel als Anhang versendet werden.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Quellen==&lt;br /&gt;
[https://support.mozilla.org/de/kb/nachrichten-digital-signieren-und-verschlusseln Mozilla E-Mails digital signieren und verschlüsseln]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse&amp;diff=364</id>
		<title>STM32 programmieren und debuggen mit der Standard IDE Eclipse</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse&amp;diff=364"/>
		<updated>2018-03-15T16:14:24Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* GNU Arm Toolchain */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es gibt verschiedene fertige IDEs um Mikrocontroller von [http://www.st.com/content/st_com/en.html STMicroelectronics] zu programmieren, wie z.B. [https://atollic.com/truestudio/ Attolic TrueSTUDIO], [http://www.st.com/en/development-tools/sw4stm32.html SW4STM32], [https://www.iar.com/iar-embedded-workbench/partners/stmicroelectronics/ IAR-EWARM] oder [http://www2.keil.com/mdk5 MDK].&lt;br /&gt;
Jedoch bieten diese IDEs mehr oder weniger Einschränkungen und/oder nerven durch Werbung.&lt;br /&gt;
Diese Anleitung zeigt wie Mikrocontroller von STM mit der Standard '''Eclipse IDE C/C++''' programmiert und debuggt werden kann.&lt;br /&gt;
&lt;br /&gt;
Unterstützte Betriebssysteme: Windows, Linux und Mac (Unter Linux und Mac ist die Installationsanleitungen auf den jeweiligen Websites zu beachten)&amp;lt;br /&amp;gt;&lt;br /&gt;
In diesem Tutorial wird das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] von STMicroelectronics verwendet.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
[https://www.eclipse.org/downloads/eclipse-packages/ Eclipse IDE C/C++]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://github.com/gnu-mcu-eclipse/eclipse-plugins/releases/tag/v4.2.1-201711101735 GNU MCU Eclipse plugin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://launchpad.net/gcc-arm-embedded GNU ARM Embedded Toolchain]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://github.com/gnuarmeclipse/openocd/releases GNU MCU Eclipse OpenOCD]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gnuarmeclipse.github.io/openocd/install/ How to install the OpenOCD binaries]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link009.html ST-Link USB-Treiber]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://zadig.akeo.ie/ Zadig generischer USB-Treiber] (Nur bei Problemen mit OpenOCD)&lt;br /&gt;
&lt;br /&gt;
Die Pakete können normal installiert werden; später ist es nur wichtig, die Pfade zu kennen.&amp;lt;br /&amp;gt; &lt;br /&gt;
In dieser Anleitung wird alles in einem Pfad unter „D:\Programme\eclipse“ installiert und entpackt.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eclipse Installation ==&lt;br /&gt;
&lt;br /&gt;
Eclipse in dem gewünschten Ordnerpfad entpacken - danach kann es schon gestartet werden.&lt;br /&gt;
Pfad für den workspace festlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_workspace.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== GNU MCU Eclipse plug-ins Installation ==&lt;br /&gt;
&lt;br /&gt;
In der Menüleiste auf '''Help''' -&amp;gt; '''Eclipse Marketplace…''' - in der Suchleiste '''gnu arm''', ab Eclipse Oxygen '''gnu mcu''' eingeben und bestätigen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Plugin GNU MCU Eclipse 4.2.1 oder neuer mit install installieren; dabei sind alle Häkchen zu setzen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_marketplace.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen, dass die Installation über den Marketplace fehlschlägt. Eine andere Option ist die manuelle Installation.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download [https://sourceforge.net/projects/gnuarmeclipse/?source=typ_redirect GNU ARM Eclipse plug-in] bzw. [https://github.com/gnuarmeclipse GNU MCU Eclipse]&lt;br /&gt;
&lt;br /&gt;
In der Menüleiste von eclipse:  '''Help''' -&amp;gt; '''Install New Software…''' -&amp;gt; '''Add…''' -&amp;gt; '''Archive…''' -&amp;gt; das zuvor heruntergeladene zip '''Archiv auswählen''' -&amp;gt; '''OK''' -&amp;gt; alle '''Häkchen setzen''' -&amp;gt; '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Lizenz akzeptieren''' -&amp;gt; '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_install_software.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== GNU Arm Toolchain ==&lt;br /&gt;
&lt;br /&gt;
Die heruntergeladene GNU Arm Toolchain, wenn nicht schon geschehen, installieren und den Toolchainpfad merken. Die Einrichtung erfolgt mittels des Testprojekts HelloWorld.&amp;lt;br /&amp;gt;&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C Projekt''' unter '''Project type:''' -&amp;gt; '''STM32F4xx C/C++ Project''' -&amp;gt; '''Cross Arm GCC''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Einen Projektnamen vergeben - hier '''Project name:''' HelloWorld. Weiter mit '''Next'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Chip-Familie auswählen - hier '''Chip family:''' STM32F407xx.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_processor_settings.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Jetzt den Toolchainpfad bis Ordner &amp;quot;bin&amp;quot; angeben, hier '''Toolchain path:''' D:\Programme\eclipse\GNU_ARM_Toolchain\5.4 2016q3\bin.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_toolchain.png|300px]]&lt;br /&gt;
&lt;br /&gt;
und mit '''Finish''' bestätigen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Auf den Hammer klicken, das Programm sollte nun erfolgreich kompilieren!&lt;br /&gt;
&lt;br /&gt;
== GNU MCU Eclipse OpenOCD Debugging ==&lt;br /&gt;
Das GNU MCU Eclipse OpenOCD ist ein für Eclipse angepasster fork von OpenOCD, welches ein freies und offenes On-Chip-Debugging mit In-System-Programmierung und Boundary-Scan-Tests ist.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das heruntergeladene GNU MCU Eclipse OpenOCD, wenn nicht schon geschehen, installieren und den OpenOCD Pfad merken.&amp;lt;br /&amp;gt;&lt;br /&gt;
In '''Eclipse''' -&amp;gt; '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''Run/Debug''' -&amp;gt; '''OpenOCD''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ab '''Eclipse Oxygen''' -&amp;gt; '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''MCU''' -&amp;gt; '''Global OpenOCD Path'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Jetzt den OpenOCD Pfad bis zum Ordner &amp;quot;bin&amp;quot; eingeben, hier '''Folder:''' D:/Programme/eclipse/OpenOCD/bin und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_openocd_pfad.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In '''Eclipse''' -&amp;gt; '''Run''' -&amp;gt; '''Debug Configurations…''' Doppelklick auf '''GDB OpenOCD Debugging''' -&amp;gt; '''HelloWorld Debug'''&lt;br /&gt;
Bevor debuggt werden kann muss noch die Debbuging-Konfigurationsdatei erstellt werden.&lt;br /&gt;
&lt;br /&gt;
== OpenOCD Debugging Konfigurationsdatei ==&lt;br /&gt;
Es muss für jeden Chip oder Discovery-Bord eine Debbuging Konfigurationsdatei auch config-Datei erstellt werden sowie die richtige Konfigurationsdatei für die Debuggingverbindung ausgewählt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Als erstes ist das Discovery-Board o.ä. mit dem PC über USB zu verbinden. Im '''Geräte-Manager''' (Systemsteuerung -&amp;gt; Geräte-Manager) -&amp;gt; '''Anschlüsse(COM &amp;amp; LPT)''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_geraet.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Doppelklick -&amp;gt; '''STMicroelectronics STLink Virtual COM Port''' -&amp;gt; '''Details'''. Unter '''Eigenschaften''' -&amp;gt; '''Hardware-IDs''' die '''ID''' nach USB\VID merken, hier (… 0483&amp;amp;PID_374B …).&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_geraet_details.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In dem '''OpenOCD Ordner''' -&amp;gt; '''scripts''' -&amp;gt; '''interface''' -&amp;gt; '''stlink-v2-1.cfg''' öffnen und die IDs vergleichen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_stlink_cfg.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Wird eine andere ST-Link Version genutzt, muss die entsprechende config Datei ausgewählt werden. Stimmen die IDs überein, ist die richtige Datei gefunden -&amp;gt; '''Dateinamen merken'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im nächsten Schritt wird die Debbugíng Konfigurationsdatei ausgewählt.&amp;lt;br /&amp;gt; Da hier ein Discovery-Board verwendet wird, kann das Skript unter '''OpenOCD''' -&amp;gt; '''scripts''' -&amp;gt; '''board''' -&amp;gt; '''stm32f4discovery.cfg''' in den Projectordner kopiert werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_discovery_cfg.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Wird ein Chip verwendet, ist aus dem &amp;quot;cpu&amp;quot; Ordner ein Skript auszuwählen. Die Datei wird jetzt an unser Board angepasst und dazu als erstes von ''stm32f4discovery.cfg'' in ''stm32f407g.cfg'' umbenannt.&lt;br /&gt;
Danach wird die umbenannte Datei stm32f407g.cfg geöffnet und unter dem Punkt source der Dateiname der Debuggingverbindung korrigiert - hier '''source [find interface/stlink-v2-1.cfg]'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_discovery_stm_cfg.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Zurück in '''Eclipse''' -&amp;gt; '''Run''' -&amp;gt; '''Debug Configuration...''' -&amp;gt; '''GDB OpenOCD Debugging''' -&amp;gt; '''HelloWorld Debug'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Registerkarte '''Debugger''' -&amp;gt; '''OpenOCD Setup''' den Dateinamen mit der Option -f für File in Config options eintragen - hier '''Config options: -f stm32f407g.cfg'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_openocd_debugger.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Registerkarte '''Common''' die Option Shared file mit dem Projektnamen auswählen - hier '''Shared file: \HelloWorld'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_shared.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Mit Apply speichern oder mit Debug speichern und debuggen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_debugging.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Ordnerstruktur ==&lt;br /&gt;
Nach dem entpacken und installieren der Pakete erhält man folgende Ordnerstruktur:&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_folderstruktur.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
OpenOCD konnte nicht starten -&amp;gt; Als Administrator (sudo) starten&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenOCD startet es kommt aber zu einem Fehler -&amp;gt; Zadig -&amp;gt; starten -&amp;gt; Install WCID Driver&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
https://launchpad.net/gcc-arm-embedded&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/install/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/openocd/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/openocd/install/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/debug/openocd/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/plugins/install/&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse&amp;diff=363</id>
		<title>STM32 programmieren und debuggen mit der Standard IDE Eclipse</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse&amp;diff=363"/>
		<updated>2018-03-15T16:13:09Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* GNU MCU Eclipse plug-ins Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es gibt verschiedene fertige IDEs um Mikrocontroller von [http://www.st.com/content/st_com/en.html STMicroelectronics] zu programmieren, wie z.B. [https://atollic.com/truestudio/ Attolic TrueSTUDIO], [http://www.st.com/en/development-tools/sw4stm32.html SW4STM32], [https://www.iar.com/iar-embedded-workbench/partners/stmicroelectronics/ IAR-EWARM] oder [http://www2.keil.com/mdk5 MDK].&lt;br /&gt;
Jedoch bieten diese IDEs mehr oder weniger Einschränkungen und/oder nerven durch Werbung.&lt;br /&gt;
Diese Anleitung zeigt wie Mikrocontroller von STM mit der Standard '''Eclipse IDE C/C++''' programmiert und debuggt werden kann.&lt;br /&gt;
&lt;br /&gt;
Unterstützte Betriebssysteme: Windows, Linux und Mac (Unter Linux und Mac ist die Installationsanleitungen auf den jeweiligen Websites zu beachten)&amp;lt;br /&amp;gt;&lt;br /&gt;
In diesem Tutorial wird das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] von STMicroelectronics verwendet.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
[https://www.eclipse.org/downloads/eclipse-packages/ Eclipse IDE C/C++]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://github.com/gnu-mcu-eclipse/eclipse-plugins/releases/tag/v4.2.1-201711101735 GNU MCU Eclipse plugin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://launchpad.net/gcc-arm-embedded GNU ARM Embedded Toolchain]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://github.com/gnuarmeclipse/openocd/releases GNU MCU Eclipse OpenOCD]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gnuarmeclipse.github.io/openocd/install/ How to install the OpenOCD binaries]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link009.html ST-Link USB-Treiber]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://zadig.akeo.ie/ Zadig generischer USB-Treiber] (Nur bei Problemen mit OpenOCD)&lt;br /&gt;
&lt;br /&gt;
Die Pakete können normal installiert werden; später ist es nur wichtig, die Pfade zu kennen.&amp;lt;br /&amp;gt; &lt;br /&gt;
In dieser Anleitung wird alles in einem Pfad unter „D:\Programme\eclipse“ installiert und entpackt.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eclipse Installation ==&lt;br /&gt;
&lt;br /&gt;
Eclipse in dem gewünschten Ordnerpfad entpacken - danach kann es schon gestartet werden.&lt;br /&gt;
Pfad für den workspace festlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_workspace.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== GNU MCU Eclipse plug-ins Installation ==&lt;br /&gt;
&lt;br /&gt;
In der Menüleiste auf '''Help''' -&amp;gt; '''Eclipse Marketplace…''' - in der Suchleiste '''gnu arm''', ab Eclipse Oxygen '''gnu mcu''' eingeben und bestätigen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Plugin GNU MCU Eclipse 4.2.1 oder neuer mit install installieren; dabei sind alle Häkchen zu setzen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_marketplace.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen, dass die Installation über den Marketplace fehlschlägt. Eine andere Option ist die manuelle Installation.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download [https://sourceforge.net/projects/gnuarmeclipse/?source=typ_redirect GNU ARM Eclipse plug-in] bzw. [https://github.com/gnuarmeclipse GNU MCU Eclipse]&lt;br /&gt;
&lt;br /&gt;
In der Menüleiste von eclipse:  '''Help''' -&amp;gt; '''Install New Software…''' -&amp;gt; '''Add…''' -&amp;gt; '''Archive…''' -&amp;gt; das zuvor heruntergeladene zip '''Archiv auswählen''' -&amp;gt; '''OK''' -&amp;gt; alle '''Häkchen setzen''' -&amp;gt; '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Lizenz akzeptieren''' -&amp;gt; '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_install_software.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== GNU Arm Toolchain ==&lt;br /&gt;
&lt;br /&gt;
Die heruntergeladene GNU Arm Toolchain, wenn nicht schon geschehen, installieren und den Toolchainpfad merken. Die Einrichtung erfolgt mittels des Testprojekts HelloWorld.&amp;lt;br /&amp;gt;&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C Projekt''' unter '''Project type:''' -&amp;gt; '''STM32F4xx C/C++ Project''' -&amp;gt; '''Cross Arm GCC''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Einen Projektnamen vergeben - hier '''Project name:''' HelloWorld. Weiter mit '''Next'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Chip-Familie auswählen - hier '''Chip family:''' STM32F407xx.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_processor_settings.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Jetzt den Toolchainpfad bis Ordner &amp;quot;bin&amp;quot; angeben, hier '''Toolchain path:''' D:\Programme\eclipse\GNU_ARM_Toolchain\5.4 2016q3\bin.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_toolchain.png|300px]]&lt;br /&gt;
&lt;br /&gt;
und mit '''Finish''' bestätigen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Auf den Hammer klicken, das Programm sollte nun erfolgreich compilieren!&lt;br /&gt;
&lt;br /&gt;
== GNU MCU Eclipse OpenOCD Debugging ==&lt;br /&gt;
Das GNU MCU Eclipse OpenOCD ist ein für Eclipse angepasster fork von OpenOCD, welches ein freies und offenes On-Chip-Debugging mit In-System-Programmierung und Boundary-Scan-Tests ist.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das heruntergeladene GNU MCU Eclipse OpenOCD, wenn nicht schon geschehen, installieren und den OpenOCD Pfad merken.&amp;lt;br /&amp;gt;&lt;br /&gt;
In '''Eclipse''' -&amp;gt; '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''Run/Debug''' -&amp;gt; '''OpenOCD''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ab '''Eclipse Oxygen''' -&amp;gt; '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''MCU''' -&amp;gt; '''Global OpenOCD Path'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Jetzt den OpenOCD Pfad bis zum Ordner &amp;quot;bin&amp;quot; eingeben, hier '''Folder:''' D:/Programme/eclipse/OpenOCD/bin und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_openocd_pfad.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In '''Eclipse''' -&amp;gt; '''Run''' -&amp;gt; '''Debug Configurations…''' Doppelklick auf '''GDB OpenOCD Debugging''' -&amp;gt; '''HelloWorld Debug'''&lt;br /&gt;
Bevor debuggt werden kann muss noch die Debbuging-Konfigurationsdatei erstellt werden.&lt;br /&gt;
&lt;br /&gt;
== OpenOCD Debugging Konfigurationsdatei ==&lt;br /&gt;
Es muss für jeden Chip oder Discovery-Bord eine Debbuging Konfigurationsdatei auch config-Datei erstellt werden sowie die richtige Konfigurationsdatei für die Debuggingverbindung ausgewählt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Als erstes ist das Discovery-Board o.ä. mit dem PC über USB zu verbinden. Im '''Geräte-Manager''' (Systemsteuerung -&amp;gt; Geräte-Manager) -&amp;gt; '''Anschlüsse(COM &amp;amp; LPT)''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_geraet.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Doppelklick -&amp;gt; '''STMicroelectronics STLink Virtual COM Port''' -&amp;gt; '''Details'''. Unter '''Eigenschaften''' -&amp;gt; '''Hardware-IDs''' die '''ID''' nach USB\VID merken, hier (… 0483&amp;amp;PID_374B …).&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_geraet_details.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In dem '''OpenOCD Ordner''' -&amp;gt; '''scripts''' -&amp;gt; '''interface''' -&amp;gt; '''stlink-v2-1.cfg''' öffnen und die IDs vergleichen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_stlink_cfg.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Wird eine andere ST-Link Version genutzt, muss die entsprechende config Datei ausgewählt werden. Stimmen die IDs überein, ist die richtige Datei gefunden -&amp;gt; '''Dateinamen merken'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im nächsten Schritt wird die Debbugíng Konfigurationsdatei ausgewählt.&amp;lt;br /&amp;gt; Da hier ein Discovery-Board verwendet wird, kann das Skript unter '''OpenOCD''' -&amp;gt; '''scripts''' -&amp;gt; '''board''' -&amp;gt; '''stm32f4discovery.cfg''' in den Projectordner kopiert werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_discovery_cfg.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Wird ein Chip verwendet, ist aus dem &amp;quot;cpu&amp;quot; Ordner ein Skript auszuwählen. Die Datei wird jetzt an unser Board angepasst und dazu als erstes von ''stm32f4discovery.cfg'' in ''stm32f407g.cfg'' umbenannt.&lt;br /&gt;
Danach wird die umbenannte Datei stm32f407g.cfg geöffnet und unter dem Punkt source der Dateiname der Debuggingverbindung korrigiert - hier '''source [find interface/stlink-v2-1.cfg]'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_discovery_stm_cfg.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Zurück in '''Eclipse''' -&amp;gt; '''Run''' -&amp;gt; '''Debug Configuration...''' -&amp;gt; '''GDB OpenOCD Debugging''' -&amp;gt; '''HelloWorld Debug'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Registerkarte '''Debugger''' -&amp;gt; '''OpenOCD Setup''' den Dateinamen mit der Option -f für File in Config options eintragen - hier '''Config options: -f stm32f407g.cfg'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_openocd_debugger.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Registerkarte '''Common''' die Option Shared file mit dem Projektnamen auswählen - hier '''Shared file: \HelloWorld'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_shared.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Mit Apply speichern oder mit Debug speichern und debuggen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_debugging.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Ordnerstruktur ==&lt;br /&gt;
Nach dem entpacken und installieren der Pakete erhält man folgende Ordnerstruktur:&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_standard_eclipse_debuggen_folderstruktur.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
OpenOCD konnte nicht starten -&amp;gt; Als Administrator (sudo) starten&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenOCD startet es kommt aber zu einem Fehler -&amp;gt; Zadig -&amp;gt; starten -&amp;gt; Install WCID Driver&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
https://launchpad.net/gcc-arm-embedded&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/install/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/openocd/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/openocd/install/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/debug/openocd/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/plugins/install/&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_C%2B%2B&amp;diff=362</id>
		<title>STM32 programmieren und debuggen mit C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_C%2B%2B&amp;diff=362"/>
		<updated>2018-03-15T16:11:06Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Boardkonfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Tutorial zeigt wie mit der Standard IDE Eclipse Mikrocontrollern von [http://www.st.com/content/st_com/en.html STMicroelectronics] mit C++ programmiert und debbugt werden kann. Voraussetzung ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&amp;lt;br /&amp;gt;&lt;br /&gt;
Ebenfalls wird auch hier das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] verwendet.&lt;br /&gt;
&lt;br /&gt;
== Projektbeispiel ==&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C++''' -&amp;gt; '''STM32F4xx C/C++ Project''' auswählen.&lt;br /&gt;
Einen Projektnamen vergeben - hier '''Project name:''' HelloWorld.&lt;br /&gt;
Den Zielprozessor auswählen - hier Target '''processor settings:''' STM32F407.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_c++_project_processor_settings.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next'''.&lt;br /&gt;
Jetzt den Toolchain Pfad bis Ordner &amp;quot;bin&amp;quot; angeben, hier Toolchain path: D:\Programme\eclipse\GNU_ARM_Toolchain\5.4 2016q3\bin&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_c++_project_gnu_toolchain.png|300px]]&lt;br /&gt;
&lt;br /&gt;
und mit Finish bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Siehe [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&lt;br /&gt;
&lt;br /&gt;
== Boardkonfiguration ==&lt;br /&gt;
Die grundlegende Bord oder Chipconfiguration wird mit CubeMX durchgeführt.&lt;br /&gt;
Nach der Konfiguration in CubeMX '''Project''' -&amp;gt; '''Settings...''' einen '''Project Namen''' vergeben, hier '''Project Namen''' HelloWorld, sowie einen Speicherort auswählen.&lt;br /&gt;
Im Dropdown Menü '''Toolchain/IDE''' -&amp;gt; '''Other Toolchain''' auswählen und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_c++_cubemx_prject_settings.png|300px]]&lt;br /&gt;
 &lt;br /&gt;
Jetzt ist das Projekt unter '''Project''' –&amp;gt; '''Generate Code''' zu erzeugen. Im Anschluss mit '''Open Folder''' den Projekt-Ordner im Explorer öffnen oder manuell zum erzeugten Projekt-Ordner navigieren.&lt;br /&gt;
Die '''main.h''' vom CubeMX Projekt in den '''inc''' Ordner kopieren und in die '''_initialize_hardware.c''' einbinden. Die '''Funktionen''' für die '''Hardwarekonfiguration''' aus der '''main.c''' vom CubeMX Projekt in die  '''_initialize_hardware.c''' kopieren (ersetzen).&lt;br /&gt;
&lt;br /&gt;
Funktion Beispiel:&lt;br /&gt;
 void SystemClock_Config(void)&lt;br /&gt;
 void Error_Handler(void)&lt;br /&gt;
 static void MX_GPIO_Init(void)&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_c++_main.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Die '''main.h''' kann natürlich umbenannt werden (z.B. '''_initialize_hardware.h'''), damit es nicht zu Missverständnissen kommt.&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_C%2B%2B&amp;diff=361</id>
		<title>STM32 programmieren und debuggen mit C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_C%2B%2B&amp;diff=361"/>
		<updated>2018-03-15T16:09:32Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Projektbeispiel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Tutorial zeigt wie mit der Standard IDE Eclipse Mikrocontrollern von [http://www.st.com/content/st_com/en.html STMicroelectronics] mit C++ programmiert und debbugt werden kann. Voraussetzung ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&amp;lt;br /&amp;gt;&lt;br /&gt;
Ebenfalls wird auch hier das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] verwendet.&lt;br /&gt;
&lt;br /&gt;
== Projektbeispiel ==&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C++''' -&amp;gt; '''STM32F4xx C/C++ Project''' auswählen.&lt;br /&gt;
Einen Projektnamen vergeben - hier '''Project name:''' HelloWorld.&lt;br /&gt;
Den Zielprozessor auswählen - hier Target '''processor settings:''' STM32F407.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_c++_project_processor_settings.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next'''.&lt;br /&gt;
Jetzt den Toolchain Pfad bis Ordner &amp;quot;bin&amp;quot; angeben, hier Toolchain path: D:\Programme\eclipse\GNU_ARM_Toolchain\5.4 2016q3\bin&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_c++_project_gnu_toolchain.png|300px]]&lt;br /&gt;
&lt;br /&gt;
und mit Finish bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Siehe [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&lt;br /&gt;
&lt;br /&gt;
== Boardkonfiguration ==&lt;br /&gt;
Die grundlegende Bord oder Chipconfiguration wird mit CubeMX durchgeführt.&lt;br /&gt;
Nach der Konfiguration in CubeMX '''Project''' -&amp;gt; '''Settings...''' einen '''Project Namen''' vergeben, hier '''Project Namen''' HelloWorld, sowie einen Speicherort auswählen.&lt;br /&gt;
Im Dropdown Menü '''Toolchain/IDE''' -&amp;gt; '''Other Toolchain''' auswählen und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_c++_cubemx_prject_settings.png|300px]]&lt;br /&gt;
 &lt;br /&gt;
Jetzt ist das Projekt unter '''Project''' –&amp;gt; '''Generate Code''' zu erzeugen. Im Anschluss mit '''Open Folder''' den Projekt-Ordner im Explorer öffnen. Oder Manuell zum erzeugten Projekt-Ordner navigieren.&lt;br /&gt;
Die '''main.h''' vom CubeMX Projekt in den '''inc''' Ordner kopieren und in die '''_initialize_hardware.c''' einbinden. Die '''Funktionen''' für die '''Hardwarekonfiguration''' aus der '''main.c''' vom CubeMX Projekt in die  '''_initialize_hardware.c''' kopieren (ersetzen).&lt;br /&gt;
&lt;br /&gt;
Funktion Beispiel:&lt;br /&gt;
 void SystemClock_Config(void)&lt;br /&gt;
 void Error_Handler(void)&lt;br /&gt;
 static void MX_GPIO_Init(void)&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_c++_main.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Die '''main.h''' kann natürlich umbenannt werden (z.B. '''_initialize_hardware.h''') damit es nicht zu Missverständnissen kommt.&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=360</id>
		<title>STM32 mit der Standart IDE Eclipse und CubeMX</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=360"/>
		<updated>2018-03-15T16:08:39Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Probleme */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Tutorial zeigt wie die Hardwarekonfiguration von CubeMX in der Standard IDE Eclipse genutzt werden kann. '''Voraussetzung''' ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse]. Das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] dient wieder als Beispiel.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt erstellen ==&lt;br /&gt;
Download und Installation von [http://www.st.com/en/development-tools/stm32cubemx.html#getsoftware-scroll CubeMX]. Im Anschluss wird CubeMX gestartet und entsprechende Einstellungen für sein Chip oder Board  vorgenommen.&amp;lt;br /&amp;gt;&lt;br /&gt;
In CubeMX '''Project''' -&amp;gt; '''Settings…''' -&amp;gt; '''Project Namen''' vergeben, hier ''STM32F407G_CubeMX'' und den Speicherort '''Project Location''' bestimmen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unter '''Toolchain/IDE''' im Dropdown-Menü '''Other Toolchain (GPDSC)''' auswählen und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Der Code wird unter '''Project''' –&amp;gt; '''Generate Code''' generiert. Entweder man geht direkt über die Option '''Open Folder''' oder navigiert manuell in das Projektverzeichnis.&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt erstellen ==&lt;br /&gt;
Vor der Erstellung des Projektes müssen noch die [https://github.com/gnu-mcu-eclipse/windows-build-tools/releases GNU MCU Eclipse Windows Build Tools] heruntergeladen und installiert werden&amp;lt;br /&amp;gt;&lt;br /&gt;
sowie in Eclipse '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''C/C++''' -&amp;gt; '''Build''' -&amp;gt; '''Global Tools Path''' unter '''Build tools folder:''' der Pfad bis zum '''bin''' Ordner von den zuvor installierten '''GNU MCU Eclipse Windows Build Tools''' eingetragen werden. Mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_global_tools_path.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C Project''' unter '''Project type:''' -&amp;gt; '''Executable''' -&amp;gt; '''Hello World ARM Cortex-M C/C++ Projekt''' -&amp;gt; '''Cross Arm GCC''' auswählen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Die entsprechenden Werte bei '''Prozessor core:''', '''Clock (Hz):''', '''Flash size (kB):''', '''RAM size (kB)''', '''Use system calls:''' und '''Trace output:''' eintragen bzw. auswählen. &lt;br /&gt;
Einen Projektnamen  unter '''Project name:''' eintragen; hier ''STM32F407G_Eclipse''. Weiter mit '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_c_project_prozessor_settings.png|300px]] [[Datei:stm32_eclipse_cubemx_c_project_folders.png|300px]] [[Datei:stm32_eclipse_cubemx_toolchain.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt in Eclipse Projekt integrieren ==&lt;br /&gt;
Jetzt müssen die mit CubeMX erstellten Bibliotheken (.h und .c Datein) in das Eclipse Projekt kopiert werden.&lt;br /&gt;
&lt;br /&gt;
 CubeMX Projekt:  STM32F407G_CubeMX&lt;br /&gt;
 Eclipse Projekt: STM32F407G_Eclipse&lt;br /&gt;
&lt;br /&gt;
'''Alles in folgenden Ordnern Löschen:'''&lt;br /&gt;
 STM32F407G_Eclipse\src&lt;br /&gt;
 STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Den kompletten Inhalt Kopieren und ggf. ersetzen!'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Inc	&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\src&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Inc&lt;br /&gt;
 NACH STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien kopieren ggf. ersetzen:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 '''system_stm32f4xx.c''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''startup_stm32f407xx.s''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\gcc\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h, stm32f407xx.h''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien Löschen:'''&lt;br /&gt;
 '''system_stm32f4xx.c, vectors_stm32f4xx.c'''&lt;br /&gt;
 STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h'''&lt;br /&gt;
 STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
Unter Linux oder mit cygwin unter Windows kann folgender [https://gitlab.xnick.de/scripts/Linux-Integration-CubeMx-to-Eclipse Skript] zum automatisierten kopieren und löschen eingesetzt werden.&lt;br /&gt;
'''Hinweis: Der Skript ist noch nicht vollständig getestet!!'''&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt konfigurieren ==&lt;br /&gt;
In Eclipse '''Project Explorer''' -&amp;gt; '''rechte Maustaste''' auf das '''Projekt''' und unter '''Refresh''' werden die Dateien aktualisiert.&lt;br /&gt;
Die Datei '''Project Explorer''' unter dem '''Projekt''' -&amp;gt; '''ldscripts''' -&amp;gt; '''mem.ld''' öffnen&lt;br /&gt;
und die Speicheradressen im Abschnitt '''MEMORY''' je nach Chip anpassen.&lt;br /&gt;
&lt;br /&gt;
 MEMORY&lt;br /&gt;
 {&lt;br /&gt;
   FLASH (rx)   : ORIGIN = 0x08000000, LENGTH = 1024K&lt;br /&gt;
   RAM (xrw)    : ORIGIN = 0x20000000, LENGTH = 128K&lt;br /&gt;
   CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_ldscript.png|300px]]&lt;br /&gt;
&lt;br /&gt;
'''Rechte Maustaste''' auf das '''Projekt''' -&amp;gt; '''Properties''' im Fenster '''C/C++ Build''' -&amp;gt; '''Settings''' erste Registerkarte '''Tool Settings''' -&amp;gt; '''Cross ARM C Compiler''' -&amp;gt; '''Preprocessor'''&lt;br /&gt;
im Abschnitt '''Defined symbols (-D)''' auf das '''Plus Symbol''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols.png|300px]]&lt;br /&gt;
&lt;br /&gt;
und je nach Chip das entsprechende Symbol einfügen; hier '''STM32F407xx''' aus der hinzugefügten Headerdatei „stm32f407xx.h&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols_enter.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
Das Projekt kompiliert erfolgreich aber die ''Warnings'' verschwinden nicht.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''Projekt''' -&amp;gt; '''C/C++ General''' -&amp;gt; '''Paths and Symbols''' in der Registerkarte  '''Includes''' auf '''Add…''' im Fenster auf '''Workspace…''' -&amp;gt; auf das Projekt, hier '''STM32F407G_Eclipse''' -&amp;gt; '''system''' -&amp;gt; '''include''' -&amp;gt;'''sytm32f4xx''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' und erneut kompilieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_select_folder.png|300px]] [[Datei:stm32_eclipse_cubemx_problem_symbol.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Bei dem Fehler '''Error „multiple definition of …“'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle Headerdateien im Namen template im Projektordner unter '''system''' -&amp;gt; '''include''' -&amp;gt; '''stm32f4xx''' löschen.&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen, dass Eclipse den startup-script „startup_stm32f407xx.s“ nicht erkennt.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''startup_stm32f407xx.s''' -&amp;gt; '''Rename''' und das kleine '''s''' am Ende groß '''S''' schreiben -&amp;gt; '''OK'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_startup_script.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Debuggen ==&lt;br /&gt;
Siehe [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/download/&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=359</id>
		<title>STM32 mit der Standart IDE Eclipse und CubeMX</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=359"/>
		<updated>2018-03-15T16:07:22Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Eclipse Projekt konfigurieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Tutorial zeigt wie die Hardwarekonfiguration von CubeMX in der Standard IDE Eclipse genutzt werden kann. '''Voraussetzung''' ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse]. Das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] dient wieder als Beispiel.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt erstellen ==&lt;br /&gt;
Download und Installation von [http://www.st.com/en/development-tools/stm32cubemx.html#getsoftware-scroll CubeMX]. Im Anschluss wird CubeMX gestartet und entsprechende Einstellungen für sein Chip oder Board  vorgenommen.&amp;lt;br /&amp;gt;&lt;br /&gt;
In CubeMX '''Project''' -&amp;gt; '''Settings…''' -&amp;gt; '''Project Namen''' vergeben, hier ''STM32F407G_CubeMX'' und den Speicherort '''Project Location''' bestimmen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unter '''Toolchain/IDE''' im Dropdown-Menü '''Other Toolchain (GPDSC)''' auswählen und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Der Code wird unter '''Project''' –&amp;gt; '''Generate Code''' generiert. Entweder man geht direkt über die Option '''Open Folder''' oder navigiert manuell in das Projektverzeichnis.&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt erstellen ==&lt;br /&gt;
Vor der Erstellung des Projektes müssen noch die [https://github.com/gnu-mcu-eclipse/windows-build-tools/releases GNU MCU Eclipse Windows Build Tools] heruntergeladen und installiert werden&amp;lt;br /&amp;gt;&lt;br /&gt;
sowie in Eclipse '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''C/C++''' -&amp;gt; '''Build''' -&amp;gt; '''Global Tools Path''' unter '''Build tools folder:''' der Pfad bis zum '''bin''' Ordner von den zuvor installierten '''GNU MCU Eclipse Windows Build Tools''' eingetragen werden. Mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_global_tools_path.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C Project''' unter '''Project type:''' -&amp;gt; '''Executable''' -&amp;gt; '''Hello World ARM Cortex-M C/C++ Projekt''' -&amp;gt; '''Cross Arm GCC''' auswählen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Die entsprechenden Werte bei '''Prozessor core:''', '''Clock (Hz):''', '''Flash size (kB):''', '''RAM size (kB)''', '''Use system calls:''' und '''Trace output:''' eintragen bzw. auswählen. &lt;br /&gt;
Einen Projektnamen  unter '''Project name:''' eintragen; hier ''STM32F407G_Eclipse''. Weiter mit '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_c_project_prozessor_settings.png|300px]] [[Datei:stm32_eclipse_cubemx_c_project_folders.png|300px]] [[Datei:stm32_eclipse_cubemx_toolchain.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt in Eclipse Projekt integrieren ==&lt;br /&gt;
Jetzt müssen die mit CubeMX erstellten Bibliotheken (.h und .c Datein) in das Eclipse Projekt kopiert werden.&lt;br /&gt;
&lt;br /&gt;
 CubeMX Projekt:  STM32F407G_CubeMX&lt;br /&gt;
 Eclipse Projekt: STM32F407G_Eclipse&lt;br /&gt;
&lt;br /&gt;
'''Alles in folgenden Ordnern Löschen:'''&lt;br /&gt;
 STM32F407G_Eclipse\src&lt;br /&gt;
 STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Den kompletten Inhalt Kopieren und ggf. ersetzen!'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Inc	&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\src&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Inc&lt;br /&gt;
 NACH STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien kopieren ggf. ersetzen:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 '''system_stm32f4xx.c''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''startup_stm32f407xx.s''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\gcc\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h, stm32f407xx.h''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien Löschen:'''&lt;br /&gt;
 '''system_stm32f4xx.c, vectors_stm32f4xx.c'''&lt;br /&gt;
 STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h'''&lt;br /&gt;
 STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
Unter Linux oder mit cygwin unter Windows kann folgender [https://gitlab.xnick.de/scripts/Linux-Integration-CubeMx-to-Eclipse Skript] zum automatisierten kopieren und löschen eingesetzt werden.&lt;br /&gt;
'''Hinweis: Der Skript ist noch nicht vollständig getestet!!'''&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt konfigurieren ==&lt;br /&gt;
In Eclipse '''Project Explorer''' -&amp;gt; '''rechte Maustaste''' auf das '''Projekt''' und unter '''Refresh''' werden die Dateien aktualisiert.&lt;br /&gt;
Die Datei '''Project Explorer''' unter dem '''Projekt''' -&amp;gt; '''ldscripts''' -&amp;gt; '''mem.ld''' öffnen&lt;br /&gt;
und die Speicheradressen im Abschnitt '''MEMORY''' je nach Chip anpassen.&lt;br /&gt;
&lt;br /&gt;
 MEMORY&lt;br /&gt;
 {&lt;br /&gt;
   FLASH (rx)   : ORIGIN = 0x08000000, LENGTH = 1024K&lt;br /&gt;
   RAM (xrw)    : ORIGIN = 0x20000000, LENGTH = 128K&lt;br /&gt;
   CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_ldscript.png|300px]]&lt;br /&gt;
&lt;br /&gt;
'''Rechte Maustaste''' auf das '''Projekt''' -&amp;gt; '''Properties''' im Fenster '''C/C++ Build''' -&amp;gt; '''Settings''' erste Registerkarte '''Tool Settings''' -&amp;gt; '''Cross ARM C Compiler''' -&amp;gt; '''Preprocessor'''&lt;br /&gt;
im Abschnitt '''Defined symbols (-D)''' auf das '''Plus Symbol''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols.png|300px]]&lt;br /&gt;
&lt;br /&gt;
und je nach Chip das entsprechende Symbol einfügen; hier '''STM32F407xx''' aus der hinzugefügten Headerdatei „stm32f407xx.h&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols_enter.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
Das Projekt kompiliert erfolgreich aber die ''Warnings'' verschwinden nicht.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''Projekt''' -&amp;gt; '''C/C++ General''' -&amp;gt; '''Paths and Symbols''' in der Registerkarte  '''Includes''' auf '''Add…''' im Fenster auf '''Workspace…''' -&amp;gt; auf das Projekt, hier '''STM32F407G_Eclipse''' -&amp;gt; '''system''' -&amp;gt; '''include''' -&amp;gt;'''sytm32f4xx''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' und erneut kompilieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_select_folder.png|300px]] [[Datei:stm32_eclipse_cubemx_problem_symbol.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Bei dem Fehler '''Error „multiple definition of …“'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle Headerdateien im Namen template haben im Projektordner unter '''system''' -&amp;gt; '''include''' -&amp;gt; '''stm32f4xx''' löschen.&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen das Eclipse den startup-script „startup_stm32f407xx.s“ nicht erkennt.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''startup_stm32f407xx.s''' -&amp;gt; '''Rename''' und das kleine '''s''' am Ende groß '''S''' schreiben -&amp;gt; '''OK'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_startup_script.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Debuggen ==&lt;br /&gt;
Siehe [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/download/&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=358</id>
		<title>STM32 mit der Standart IDE Eclipse und CubeMX</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=358"/>
		<updated>2018-03-15T16:06:29Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Eclipse Projekt konfigurieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Tutorial zeigt wie die Hardwarekonfiguration von CubeMX in der Standard IDE Eclipse genutzt werden kann. '''Voraussetzung''' ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse]. Das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] dient wieder als Beispiel.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt erstellen ==&lt;br /&gt;
Download und Installation von [http://www.st.com/en/development-tools/stm32cubemx.html#getsoftware-scroll CubeMX]. Im Anschluss wird CubeMX gestartet und entsprechende Einstellungen für sein Chip oder Board  vorgenommen.&amp;lt;br /&amp;gt;&lt;br /&gt;
In CubeMX '''Project''' -&amp;gt; '''Settings…''' -&amp;gt; '''Project Namen''' vergeben, hier ''STM32F407G_CubeMX'' und den Speicherort '''Project Location''' bestimmen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unter '''Toolchain/IDE''' im Dropdown-Menü '''Other Toolchain (GPDSC)''' auswählen und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Der Code wird unter '''Project''' –&amp;gt; '''Generate Code''' generiert. Entweder man geht direkt über die Option '''Open Folder''' oder navigiert manuell in das Projektverzeichnis.&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt erstellen ==&lt;br /&gt;
Vor der Erstellung des Projektes müssen noch die [https://github.com/gnu-mcu-eclipse/windows-build-tools/releases GNU MCU Eclipse Windows Build Tools] heruntergeladen und installiert werden&amp;lt;br /&amp;gt;&lt;br /&gt;
sowie in Eclipse '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''C/C++''' -&amp;gt; '''Build''' -&amp;gt; '''Global Tools Path''' unter '''Build tools folder:''' der Pfad bis zum '''bin''' Ordner von den zuvor installierten '''GNU MCU Eclipse Windows Build Tools''' eingetragen werden. Mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_global_tools_path.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C Project''' unter '''Project type:''' -&amp;gt; '''Executable''' -&amp;gt; '''Hello World ARM Cortex-M C/C++ Projekt''' -&amp;gt; '''Cross Arm GCC''' auswählen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Die entsprechenden Werte bei '''Prozessor core:''', '''Clock (Hz):''', '''Flash size (kB):''', '''RAM size (kB)''', '''Use system calls:''' und '''Trace output:''' eintragen bzw. auswählen. &lt;br /&gt;
Einen Projektnamen  unter '''Project name:''' eintragen; hier ''STM32F407G_Eclipse''. Weiter mit '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_c_project_prozessor_settings.png|300px]] [[Datei:stm32_eclipse_cubemx_c_project_folders.png|300px]] [[Datei:stm32_eclipse_cubemx_toolchain.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt in Eclipse Projekt integrieren ==&lt;br /&gt;
Jetzt müssen die mit CubeMX erstellten Bibliotheken (.h und .c Datein) in das Eclipse Projekt kopiert werden.&lt;br /&gt;
&lt;br /&gt;
 CubeMX Projekt:  STM32F407G_CubeMX&lt;br /&gt;
 Eclipse Projekt: STM32F407G_Eclipse&lt;br /&gt;
&lt;br /&gt;
'''Alles in folgenden Ordnern Löschen:'''&lt;br /&gt;
 STM32F407G_Eclipse\src&lt;br /&gt;
 STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Den kompletten Inhalt Kopieren und ggf. ersetzen!'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Inc	&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\src&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Inc&lt;br /&gt;
 NACH STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien kopieren ggf. ersetzen:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 '''system_stm32f4xx.c''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''startup_stm32f407xx.s''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\gcc\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h, stm32f407xx.h''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien Löschen:'''&lt;br /&gt;
 '''system_stm32f4xx.c, vectors_stm32f4xx.c'''&lt;br /&gt;
 STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h'''&lt;br /&gt;
 STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
Unter Linux oder mit cygwin unter Windows kann folgender [https://gitlab.xnick.de/scripts/Linux-Integration-CubeMx-to-Eclipse Skript] zum automatisierten kopieren und löschen eingesetzt werden.&lt;br /&gt;
'''Hinweis: Der Skript ist noch nicht vollständig getestet!!'''&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt konfigurieren ==&lt;br /&gt;
In Eclipse '''Project Explorer''' -&amp;gt; '''rechte Maustaste''' auf das '''Projekt''' und unter '''Refresh''' werden die Dateien aktualisiert.&lt;br /&gt;
Die Datei '''Project Explorer''' unter dem '''Projekt''' -&amp;gt; '''ldscripts''' -&amp;gt; '''mem.ld''' öffnen&lt;br /&gt;
und die Speicheradressen im Abschnitt '''MEMORY''' je nach Chip anpassen.&lt;br /&gt;
&lt;br /&gt;
 MEMORY&lt;br /&gt;
 {&lt;br /&gt;
   FLASH (rx)   : ORIGIN = 0x08000000, LENGTH = 1024K&lt;br /&gt;
   RAM (xrw)    : ORIGIN = 0x20000000, LENGTH = 128K&lt;br /&gt;
   CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_ldscript.png|300px]]&lt;br /&gt;
&lt;br /&gt;
'''Rechte Maustaste''' auf das '''Projekt''' -&amp;gt; '''Properties''' im Fenster '''C/C++ Build''' -&amp;gt; '''Settings''' erste Registerkarte '''Tool Settings''' -&amp;gt; '''Cross ARM C Compiler''' -&amp;gt; '''Preprocessor'''&lt;br /&gt;
im Abschnitt '''Defined symbols (-D)''' auf das '''Plus Symbol''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols.png|300px]]&lt;br /&gt;
&lt;br /&gt;
und je nach Chip das entsprechende Symbol einfügen, hier '''STM32F407xx''' aus der Hinzugefügten Headerdatei „stm32f407xx.h&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols_enter.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
Das Projekt kompiliert erfolgreich aber die ''Warnings'' verschwinden nicht.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''Projekt''' -&amp;gt; '''C/C++ General''' -&amp;gt; '''Paths and Symbols''' in der Registerkarte  '''Includes''' auf '''Add…''' im Fenster auf '''Workspace…''' -&amp;gt; auf das Projekt, hier '''STM32F407G_Eclipse''' -&amp;gt; '''system''' -&amp;gt; '''include''' -&amp;gt;'''sytm32f4xx''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' und erneut kompilieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_select_folder.png|300px]] [[Datei:stm32_eclipse_cubemx_problem_symbol.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Bei dem Fehler '''Error „multiple definition of …“'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle Headerdateien im Namen template haben im Projektordner unter '''system''' -&amp;gt; '''include''' -&amp;gt; '''stm32f4xx''' löschen.&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen das Eclipse den startup-script „startup_stm32f407xx.s“ nicht erkennt.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''startup_stm32f407xx.s''' -&amp;gt; '''Rename''' und das kleine '''s''' am Ende groß '''S''' schreiben -&amp;gt; '''OK'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_startup_script.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Debuggen ==&lt;br /&gt;
Siehe [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/download/&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=357</id>
		<title>STM32 mit der Standart IDE Eclipse und CubeMX</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=357"/>
		<updated>2018-03-15T16:04:52Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Eclipse Projekt erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Tutorial zeigt wie die Hardwarekonfiguration von CubeMX in der Standard IDE Eclipse genutzt werden kann. '''Voraussetzung''' ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse]. Das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] dient wieder als Beispiel.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt erstellen ==&lt;br /&gt;
Download und Installation von [http://www.st.com/en/development-tools/stm32cubemx.html#getsoftware-scroll CubeMX]. Im Anschluss wird CubeMX gestartet und entsprechende Einstellungen für sein Chip oder Board  vorgenommen.&amp;lt;br /&amp;gt;&lt;br /&gt;
In CubeMX '''Project''' -&amp;gt; '''Settings…''' -&amp;gt; '''Project Namen''' vergeben, hier ''STM32F407G_CubeMX'' und den Speicherort '''Project Location''' bestimmen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unter '''Toolchain/IDE''' im Dropdown-Menü '''Other Toolchain (GPDSC)''' auswählen und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Der Code wird unter '''Project''' –&amp;gt; '''Generate Code''' generiert. Entweder man geht direkt über die Option '''Open Folder''' oder navigiert manuell in das Projektverzeichnis.&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt erstellen ==&lt;br /&gt;
Vor der Erstellung des Projektes müssen noch die [https://github.com/gnu-mcu-eclipse/windows-build-tools/releases GNU MCU Eclipse Windows Build Tools] heruntergeladen und installiert werden&amp;lt;br /&amp;gt;&lt;br /&gt;
sowie in Eclipse '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''C/C++''' -&amp;gt; '''Build''' -&amp;gt; '''Global Tools Path''' unter '''Build tools folder:''' der Pfad bis zum '''bin''' Ordner von den zuvor installierten '''GNU MCU Eclipse Windows Build Tools''' eingetragen werden. Mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_global_tools_path.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C Project''' unter '''Project type:''' -&amp;gt; '''Executable''' -&amp;gt; '''Hello World ARM Cortex-M C/C++ Projekt''' -&amp;gt; '''Cross Arm GCC''' auswählen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Die entsprechenden Werte bei '''Prozessor core:''', '''Clock (Hz):''', '''Flash size (kB):''', '''RAM size (kB)''', '''Use system calls:''' und '''Trace output:''' eintragen bzw. auswählen. &lt;br /&gt;
Einen Projektnamen  unter '''Project name:''' eintragen; hier ''STM32F407G_Eclipse''. Weiter mit '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_c_project_prozessor_settings.png|300px]] [[Datei:stm32_eclipse_cubemx_c_project_folders.png|300px]] [[Datei:stm32_eclipse_cubemx_toolchain.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt in Eclipse Projekt integrieren ==&lt;br /&gt;
Jetzt müssen die mit CubeMX erstellten Bibliotheken (.h und .c Datein) in das Eclipse Projekt kopiert werden.&lt;br /&gt;
&lt;br /&gt;
 CubeMX Projekt:  STM32F407G_CubeMX&lt;br /&gt;
 Eclipse Projekt: STM32F407G_Eclipse&lt;br /&gt;
&lt;br /&gt;
'''Alles in folgenden Ordnern Löschen:'''&lt;br /&gt;
 STM32F407G_Eclipse\src&lt;br /&gt;
 STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Den kompletten Inhalt Kopieren und ggf. ersetzen!'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Inc	&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\src&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Inc&lt;br /&gt;
 NACH STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien kopieren ggf. ersetzen:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 '''system_stm32f4xx.c''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''startup_stm32f407xx.s''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\gcc\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h, stm32f407xx.h''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien Löschen:'''&lt;br /&gt;
 '''system_stm32f4xx.c, vectors_stm32f4xx.c'''&lt;br /&gt;
 STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h'''&lt;br /&gt;
 STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
Unter Linux oder mit cygwin unter Windows kann folgender [https://gitlab.xnick.de/scripts/Linux-Integration-CubeMx-to-Eclipse Skript] zum automatisierten kopieren und löschen eingesetzt werden.&lt;br /&gt;
'''Hinweis: Der Skript ist noch nicht vollständig getestet!!'''&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt konfigurieren ==&lt;br /&gt;
In Eclipse '''Project Explorer''' -&amp;gt; '''rechten Maustaste''' auf das '''Projekt''' und unter '''Refresh''' werden die Dateien aktualisiert.&lt;br /&gt;
Die Datei '''Project Explorer''' unter dem '''Projekt''' -&amp;gt; '''ldscripts''' -&amp;gt; '''mem.ld''' öffnen.&lt;br /&gt;
Und die Speicheradressen im Abschnitt '''MEMORY''' je nach Chip anpassen.&lt;br /&gt;
&lt;br /&gt;
 MEMORY&lt;br /&gt;
 {&lt;br /&gt;
   FLASH (rx)   : ORIGIN = 0x08000000, LENGTH = 1024K&lt;br /&gt;
   RAM (xrw)    : ORIGIN = 0x20000000, LENGTH = 128K&lt;br /&gt;
   CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_ldscript.png|300px]]&lt;br /&gt;
&lt;br /&gt;
'''Rechte Maustaste''' auf das '''Projekt''' -&amp;gt; '''Properties''' im Fenster '''C/C++ Build''' -&amp;gt; '''Settings''' erste Registerkarte '''Tool Settings''' -&amp;gt; '''Cross ARM C Compiler''' -&amp;gt; '''Preprocessor'''&lt;br /&gt;
im Abschnitt '''Defined symbols (-D)''' auf das '''Plus Symbol''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols.png|300px]]&lt;br /&gt;
&lt;br /&gt;
und je nach Chip das entsprechende Symbol einfügen, hier '''STM32F407xx''' aus der Hinzugefügten Headerdatei „stm32f407xx.h&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols_enter.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
Das Projekt kompiliert erfolgreich aber die ''Warnings'' verschwinden nicht.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''Projekt''' -&amp;gt; '''C/C++ General''' -&amp;gt; '''Paths and Symbols''' in der Registerkarte  '''Includes''' auf '''Add…''' im Fenster auf '''Workspace…''' -&amp;gt; auf das Projekt, hier '''STM32F407G_Eclipse''' -&amp;gt; '''system''' -&amp;gt; '''include''' -&amp;gt;'''sytm32f4xx''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' und erneut kompilieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_select_folder.png|300px]] [[Datei:stm32_eclipse_cubemx_problem_symbol.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Bei dem Fehler '''Error „multiple definition of …“'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle Headerdateien im Namen template haben im Projektordner unter '''system''' -&amp;gt; '''include''' -&amp;gt; '''stm32f4xx''' löschen.&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen das Eclipse den startup-script „startup_stm32f407xx.s“ nicht erkennt.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''startup_stm32f407xx.s''' -&amp;gt; '''Rename''' und das kleine '''s''' am Ende groß '''S''' schreiben -&amp;gt; '''OK'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_startup_script.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Debuggen ==&lt;br /&gt;
Siehe [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/download/&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=356</id>
		<title>STM32 mit der Standart IDE Eclipse und CubeMX</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX&amp;diff=356"/>
		<updated>2018-03-15T16:03:16Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* CubeMX Projekt erstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Tutorial zeigt wie die Hardwarekonfiguration von CubeMX in der Standard IDE Eclipse genutzt werden kann. '''Voraussetzung''' ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse]. Das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] dient wieder als Beispiel.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt erstellen ==&lt;br /&gt;
Download und Installation von [http://www.st.com/en/development-tools/stm32cubemx.html#getsoftware-scroll CubeMX]. Im Anschluss wird CubeMX gestartet und entsprechende Einstellungen für sein Chip oder Board  vorgenommen.&amp;lt;br /&amp;gt;&lt;br /&gt;
In CubeMX '''Project''' -&amp;gt; '''Settings…''' -&amp;gt; '''Project Namen''' vergeben, hier ''STM32F407G_CubeMX'' und den Speicherort '''Project Location''' bestimmen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unter '''Toolchain/IDE''' im Dropdown-Menü '''Other Toolchain (GPDSC)''' auswählen und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Der Code wird unter '''Project''' –&amp;gt; '''Generate Code''' generiert. Entweder man geht direkt über die Option '''Open Folder''' oder navigiert manuell in das Projektverzeichnis.&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt erstellen ==&lt;br /&gt;
Vor der Erstellung des Projektes müssen noch die [https://github.com/gnu-mcu-eclipse/windows-build-tools/releases GNU MCU Eclipse Windows Build Tools] heruntergeladen und installiert werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Und in Eclipse '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''C/C++''' -&amp;gt; '''Build''' -&amp;gt; '''Global Tools Path''' unter '''Build tools folder:''' der Pfad bis zum '''bin''' Ordner von den zuvor installierten '''GNU MCU Eclipse Windows Build Tools''' eingetragen werden. Mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_global_tools_path.png|300px]]&lt;br /&gt;
&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C Project''' unter '''Project type:''' -&amp;gt; '''Executable''' -&amp;gt; '''Hello World ARM Cortex-M C/C++ Projekt''' -&amp;gt; '''Cross Arm GCC''' auswählen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_project_settings.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Die entsprechenden Werte bei '''Prozessor core:''', '''Clock (Hz):''', '''Flash size (kB):''', '''RAM size (kB)''', '''Use system calls:''' und '''Trace output:''' eintragen bzw. auswählen. &lt;br /&gt;
Einen Projektnamen  unter '''Project name:''' eintragen, hier ''STM32F407G_Eclipse''. Weiter mit '''Next'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_c_project_prozessor_settings.png|300px]] [[Datei:stm32_eclipse_cubemx_c_project_folders.png|300px]] [[Datei:stm32_eclipse_cubemx_toolchain.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
== CubeMX Projekt in Eclipse Projekt integrieren ==&lt;br /&gt;
Jetzt müssen die mit CubeMX erstellten Bibliotheken (.h und .c Datein) in das Eclipse Projekt kopiert werden.&lt;br /&gt;
&lt;br /&gt;
 CubeMX Projekt:  STM32F407G_CubeMX&lt;br /&gt;
 Eclipse Projekt: STM32F407G_Eclipse&lt;br /&gt;
&lt;br /&gt;
'''Alles in folgenden Ordnern Löschen:'''&lt;br /&gt;
 STM32F407G_Eclipse\src&lt;br /&gt;
 STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Den kompletten Inhalt Kopieren und ggf. ersetzen!'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Inc	&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\STM32F4xx_HAL_Driver\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\stm32f4xx&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Src&lt;br /&gt;
 NACH STM32F407G_Eclipse\src&lt;br /&gt;
&lt;br /&gt;
 VON  STM32F407G_CubeMX\Inc&lt;br /&gt;
 NACH STM32F407G_Eclipse\include&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien kopieren ggf. ersetzen:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
 '''system_stm32f4xx.c''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''startup_stm32f407xx.s''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\gcc\&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h, stm32f407xx.h''' &lt;br /&gt;
 VON  STM32F407G_CubeMX\Drivers\CMSIS\Device\ST\STM32F4xx\Include&lt;br /&gt;
 NACH STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
'''Einzelne Dateien Löschen:'''&lt;br /&gt;
 '''system_stm32f4xx.c, vectors_stm32f4xx.c'''&lt;br /&gt;
 STM32F407G_Eclipse\system\src\cmsis&lt;br /&gt;
&lt;br /&gt;
 '''system_stm32f4xx.h, stm32f4xx.h'''&lt;br /&gt;
 STM32F407G_Eclipse\system\include\cmsis&lt;br /&gt;
&lt;br /&gt;
Unter Linux oder mit cygwin unter Windows kann folgender [https://gitlab.xnick.de/scripts/Linux-Integration-CubeMx-to-Eclipse Skript] zum automatisierten kopieren und löschen eingesetzt werden.&lt;br /&gt;
'''Hinweis: Der Skript ist noch nicht vollständig getestet!!'''&lt;br /&gt;
&lt;br /&gt;
== Eclipse Projekt konfigurieren ==&lt;br /&gt;
In Eclipse '''Project Explorer''' -&amp;gt; '''rechten Maustaste''' auf das '''Projekt''' und unter '''Refresh''' werden die Dateien aktualisiert.&lt;br /&gt;
Die Datei '''Project Explorer''' unter dem '''Projekt''' -&amp;gt; '''ldscripts''' -&amp;gt; '''mem.ld''' öffnen.&lt;br /&gt;
Und die Speicheradressen im Abschnitt '''MEMORY''' je nach Chip anpassen.&lt;br /&gt;
&lt;br /&gt;
 MEMORY&lt;br /&gt;
 {&lt;br /&gt;
   FLASH (rx)   : ORIGIN = 0x08000000, LENGTH = 1024K&lt;br /&gt;
   RAM (xrw)    : ORIGIN = 0x20000000, LENGTH = 128K&lt;br /&gt;
   CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_ldscript.png|300px]]&lt;br /&gt;
&lt;br /&gt;
'''Rechte Maustaste''' auf das '''Projekt''' -&amp;gt; '''Properties''' im Fenster '''C/C++ Build''' -&amp;gt; '''Settings''' erste Registerkarte '''Tool Settings''' -&amp;gt; '''Cross ARM C Compiler''' -&amp;gt; '''Preprocessor'''&lt;br /&gt;
im Abschnitt '''Defined symbols (-D)''' auf das '''Plus Symbol''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols.png|300px]]&lt;br /&gt;
&lt;br /&gt;
und je nach Chip das entsprechende Symbol einfügen, hier '''STM32F407xx''' aus der Hinzugefügten Headerdatei „stm32f407xx.h&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_symbols_enter.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
Das Projekt kompiliert erfolgreich aber die ''Warnings'' verschwinden nicht.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''Projekt''' -&amp;gt; '''C/C++ General''' -&amp;gt; '''Paths and Symbols''' in der Registerkarte  '''Includes''' auf '''Add…''' im Fenster auf '''Workspace…''' -&amp;gt; auf das Projekt, hier '''STM32F407G_Eclipse''' -&amp;gt; '''system''' -&amp;gt; '''include''' -&amp;gt;'''sytm32f4xx''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' -&amp;gt; '''OK''' und erneut kompilieren.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_select_folder.png|300px]] [[Datei:stm32_eclipse_cubemx_problem_symbol.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Bei dem Fehler '''Error „multiple definition of …“'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Alle Headerdateien im Namen template haben im Projektordner unter '''system''' -&amp;gt; '''include''' -&amp;gt; '''stm32f4xx''' löschen.&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen das Eclipse den startup-script „startup_stm32f407xx.s“ nicht erkennt.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Rechte Maustaste''' auf '''startup_stm32f407xx.s''' -&amp;gt; '''Rename''' und das kleine '''s''' am Ende groß '''S''' schreiben -&amp;gt; '''OK'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:stm32_eclipse_cubemx_problem_startup_script.png|300px]]&lt;br /&gt;
&lt;br /&gt;
== Debuggen ==&lt;br /&gt;
Siehe [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/download/&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Raspberry_Pi_Access_Point_mit_systemd&amp;diff=355</id>
		<title>Raspberry Pi Access Point mit systemd</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Raspberry_Pi_Access_Point_mit_systemd&amp;diff=355"/>
		<updated>2018-03-15T15:56:31Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Routing und Firewall */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ab Raspbian Jessie läuft der Raspi mit dem Init-Systems &amp;quot;systemd&amp;quot;. Auf diesem System wird ein WLAN AccessPoint mit eigenem DHCP realisiert. Die Internetdaten werden vom Ethernet zum AccessPoint geroutet.&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung systemd==&lt;br /&gt;
Prüfen ob systemd-networkd vorhanden ist. Es sollte Loaded: loaded ... da stehen.&lt;br /&gt;
 systemctl status systemd-networkd&lt;br /&gt;
&lt;br /&gt;
Alte Netzwerkkonfigurationen deaktivieren.&lt;br /&gt;
 sudo update-rc.d networking remove&lt;br /&gt;
&lt;br /&gt;
DNS systemd-resolved aktivieren und auf (Loaded: loaded ... enabled) prüfen.&lt;br /&gt;
 sudo systemctl enable systemd-resolved&lt;br /&gt;
 sudo systemctl start systemd-resolved&lt;br /&gt;
 sudo systemctl status systemd-resolved&lt;br /&gt;
&lt;br /&gt;
Link für DNS Konfiguration setzen.&lt;br /&gt;
 sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Unter systemd kann die Netzwerkkonfiguration in mehreren Dateien eingetragen werden und muss im Verzeichnis /etc/systemd/network/ liegen. Dabei müssen die Netzwerkkonfigurationdateien auf '''.network''' enden, wie z.B. unsere Ethernetkonfiguration '''eth0_dhcp.network''' mit folgendem Inhalt:&lt;br /&gt;
 [Match]&lt;br /&gt;
 Name=eth0&lt;br /&gt;
 &lt;br /&gt;
 [Network]&lt;br /&gt;
 DHCP=yes&lt;br /&gt;
&lt;br /&gt;
Das systemd-networkd aktivieren und prüfen. (Configured, Fehler no Hostname -&amp;gt; reboot)&lt;br /&gt;
 sudo systemctl enable systemd-networkd&lt;br /&gt;
 sudo systemctl start systemd-networkd&lt;br /&gt;
 sudo systemctl status systemd-networkd&lt;br /&gt;
&lt;br /&gt;
In der DNS-Konfigurationsdatei sollte hinter nameserver die IP des DNS-Servers stehen.&lt;br /&gt;
cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
==WLAN AccessPoint==&lt;br /&gt;
Bearbeiten der WLAN Netzwerkkonfigurationdatei.&lt;br /&gt;
 sudo vim /etc/systemd/network/wlan0_AP.network&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 [Match]&lt;br /&gt;
 Name=wlan0&lt;br /&gt;
 &lt;br /&gt;
 [Network]&lt;br /&gt;
 Address=192.168.1.1/24&lt;br /&gt;
&lt;br /&gt;
=== Hostpad ===&lt;br /&gt;
Installation von Hostpad.&lt;br /&gt;
 sudo apt-get install hostapd -y&lt;br /&gt;
&lt;br /&gt;
Bearbeiten der AccesPoint-Konfigurationdatei.&lt;br /&gt;
 sudo vim /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 # WLAN-Router-Betrieb&lt;br /&gt;
 &lt;br /&gt;
 # Schnittstelle und Treiber&lt;br /&gt;
 interface=wlan0&lt;br /&gt;
 #driver=nl80211&lt;br /&gt;
 &lt;br /&gt;
 # WLAN-Konfiguration&lt;br /&gt;
 ssid=SSID&lt;br /&gt;
 channel=1&lt;br /&gt;
 hw_mode=g&lt;br /&gt;
 ieee80211n=1&lt;br /&gt;
 ieee80211d=1&lt;br /&gt;
 country_code=DE&lt;br /&gt;
 wmm_enabled=1&lt;br /&gt;
 &lt;br /&gt;
 # WLAN-Verschlüsselung&lt;br /&gt;
 auth_algs=1&lt;br /&gt;
 wpa=2&lt;br /&gt;
 wpa_key_mgmt=WPA-PSK&lt;br /&gt;
 rsn_pairwise=CCMP&lt;br /&gt;
 wpa_passphrase=testtest&lt;br /&gt;
&lt;br /&gt;
Ausführbar machen.&lt;br /&gt;
 sudo chmod 600 /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
Konfiguration für automatisches starten.&lt;br /&gt;
 sudo vim /etc/default/hostapd&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 RUN_DAEMON=yes&lt;br /&gt;
 DAEMON_CONF=&amp;quot;/etc/hostapd/hostapd.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==DNS-Server dnsmasq==&lt;br /&gt;
Installation des DNS-Servers.&lt;br /&gt;
 sudo apt-get install dnsmasq -y&lt;br /&gt;
&lt;br /&gt;
Konfiguration der DNS-Servers.&lt;br /&gt;
 sudo vim /etc/dnsmasq.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 #DHCP-Server aktiv für WLAN-Interface&lt;br /&gt;
 interface=wlan0&lt;br /&gt;
 &lt;br /&gt;
 #DHCP-Server nicht aktiv für bestehendes Netzwerk&lt;br /&gt;
 no-dhcp-interface=eth0&lt;br /&gt;
 &lt;br /&gt;
 # IPv4-Adressbereich und Lease-Time&lt;br /&gt;
 dhcp-range=192.168.1.100,192.168.1.150,24h&lt;br /&gt;
 &lt;br /&gt;
 #DNS&lt;br /&gt;
 dhcp-option=option:dns-server,192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Test des DNS-Servers.&lt;br /&gt;
 dnsmasq --test -C /etc/dnsmasq.conf&lt;br /&gt;
 sudo systemctl restart dnsmasq&lt;br /&gt;
 sudo systemctl status dnsmasq&lt;br /&gt;
 sudo systemctl enable dnsmasq&lt;br /&gt;
&lt;br /&gt;
==Routing und Firewall==&lt;br /&gt;
Konfiguration des routings.&lt;br /&gt;
 sudo vim /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
 net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
Firewall-Konfiguration.&lt;br /&gt;
 sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;
 sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
 sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT&lt;br /&gt;
Damit die Firewall-Konfiguration nach einem Neustart erhalten bleibt.&lt;br /&gt;
 sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==Quellen==&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm Elektronik Kompendium: Raspberry Pi als WLAN-Router einrichten]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Raspberry_Pi_Access_Point_mit_systemd&amp;diff=354</id>
		<title>Raspberry Pi Access Point mit systemd</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Raspberry_Pi_Access_Point_mit_systemd&amp;diff=354"/>
		<updated>2018-03-15T15:56:20Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* DNS-Server dnsmasq */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ab Raspbian Jessie läuft der Raspi mit dem Init-Systems &amp;quot;systemd&amp;quot;. Auf diesem System wird ein WLAN AccessPoint mit eigenem DHCP realisiert. Die Internetdaten werden vom Ethernet zum AccessPoint geroutet.&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung systemd==&lt;br /&gt;
Prüfen ob systemd-networkd vorhanden ist. Es sollte Loaded: loaded ... da stehen.&lt;br /&gt;
 systemctl status systemd-networkd&lt;br /&gt;
&lt;br /&gt;
Alte Netzwerkkonfigurationen deaktivieren.&lt;br /&gt;
 sudo update-rc.d networking remove&lt;br /&gt;
&lt;br /&gt;
DNS systemd-resolved aktivieren und auf (Loaded: loaded ... enabled) prüfen.&lt;br /&gt;
 sudo systemctl enable systemd-resolved&lt;br /&gt;
 sudo systemctl start systemd-resolved&lt;br /&gt;
 sudo systemctl status systemd-resolved&lt;br /&gt;
&lt;br /&gt;
Link für DNS Konfiguration setzen.&lt;br /&gt;
 sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Unter systemd kann die Netzwerkkonfiguration in mehreren Dateien eingetragen werden und muss im Verzeichnis /etc/systemd/network/ liegen. Dabei müssen die Netzwerkkonfigurationdateien auf '''.network''' enden, wie z.B. unsere Ethernetkonfiguration '''eth0_dhcp.network''' mit folgendem Inhalt:&lt;br /&gt;
 [Match]&lt;br /&gt;
 Name=eth0&lt;br /&gt;
 &lt;br /&gt;
 [Network]&lt;br /&gt;
 DHCP=yes&lt;br /&gt;
&lt;br /&gt;
Das systemd-networkd aktivieren und prüfen. (Configured, Fehler no Hostname -&amp;gt; reboot)&lt;br /&gt;
 sudo systemctl enable systemd-networkd&lt;br /&gt;
 sudo systemctl start systemd-networkd&lt;br /&gt;
 sudo systemctl status systemd-networkd&lt;br /&gt;
&lt;br /&gt;
In der DNS-Konfigurationsdatei sollte hinter nameserver die IP des DNS-Servers stehen.&lt;br /&gt;
cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
==WLAN AccessPoint==&lt;br /&gt;
Bearbeiten der WLAN Netzwerkkonfigurationdatei.&lt;br /&gt;
 sudo vim /etc/systemd/network/wlan0_AP.network&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 [Match]&lt;br /&gt;
 Name=wlan0&lt;br /&gt;
 &lt;br /&gt;
 [Network]&lt;br /&gt;
 Address=192.168.1.1/24&lt;br /&gt;
&lt;br /&gt;
=== Hostpad ===&lt;br /&gt;
Installation von Hostpad.&lt;br /&gt;
 sudo apt-get install hostapd -y&lt;br /&gt;
&lt;br /&gt;
Bearbeiten der AccesPoint-Konfigurationdatei.&lt;br /&gt;
 sudo vim /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 # WLAN-Router-Betrieb&lt;br /&gt;
 &lt;br /&gt;
 # Schnittstelle und Treiber&lt;br /&gt;
 interface=wlan0&lt;br /&gt;
 #driver=nl80211&lt;br /&gt;
 &lt;br /&gt;
 # WLAN-Konfiguration&lt;br /&gt;
 ssid=SSID&lt;br /&gt;
 channel=1&lt;br /&gt;
 hw_mode=g&lt;br /&gt;
 ieee80211n=1&lt;br /&gt;
 ieee80211d=1&lt;br /&gt;
 country_code=DE&lt;br /&gt;
 wmm_enabled=1&lt;br /&gt;
 &lt;br /&gt;
 # WLAN-Verschlüsselung&lt;br /&gt;
 auth_algs=1&lt;br /&gt;
 wpa=2&lt;br /&gt;
 wpa_key_mgmt=WPA-PSK&lt;br /&gt;
 rsn_pairwise=CCMP&lt;br /&gt;
 wpa_passphrase=testtest&lt;br /&gt;
&lt;br /&gt;
Ausführbar machen.&lt;br /&gt;
 sudo chmod 600 /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
Konfiguration für automatisches starten.&lt;br /&gt;
 sudo vim /etc/default/hostapd&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 RUN_DAEMON=yes&lt;br /&gt;
 DAEMON_CONF=&amp;quot;/etc/hostapd/hostapd.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==DNS-Server dnsmasq==&lt;br /&gt;
Installation des DNS-Servers.&lt;br /&gt;
 sudo apt-get install dnsmasq -y&lt;br /&gt;
&lt;br /&gt;
Konfiguration der DNS-Servers.&lt;br /&gt;
 sudo vim /etc/dnsmasq.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 #DHCP-Server aktiv für WLAN-Interface&lt;br /&gt;
 interface=wlan0&lt;br /&gt;
 &lt;br /&gt;
 #DHCP-Server nicht aktiv für bestehendes Netzwerk&lt;br /&gt;
 no-dhcp-interface=eth0&lt;br /&gt;
 &lt;br /&gt;
 # IPv4-Adressbereich und Lease-Time&lt;br /&gt;
 dhcp-range=192.168.1.100,192.168.1.150,24h&lt;br /&gt;
 &lt;br /&gt;
 #DNS&lt;br /&gt;
 dhcp-option=option:dns-server,192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Test des DNS-Servers.&lt;br /&gt;
 dnsmasq --test -C /etc/dnsmasq.conf&lt;br /&gt;
 sudo systemctl restart dnsmasq&lt;br /&gt;
 sudo systemctl status dnsmasq&lt;br /&gt;
 sudo systemctl enable dnsmasq&lt;br /&gt;
&lt;br /&gt;
==Routing und Firewall==&lt;br /&gt;
Konfiguration des routings.&lt;br /&gt;
 sudo vim /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgenden Inhalt:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
 net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
Firewall-Konfiguration.&lt;br /&gt;
 sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;
 sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
 sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT&lt;br /&gt;
Damit die Firewall-Konfiguration nach einem Neustart erhalten bleibt.&lt;br /&gt;
 sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==Quellen==&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm Elektronik Kompendium: Raspberry Pi als WLAN-Router einrichten]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Raspberry_Pi_Access_Point_mit_systemd&amp;diff=353</id>
		<title>Raspberry Pi Access Point mit systemd</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Raspberry_Pi_Access_Point_mit_systemd&amp;diff=353"/>
		<updated>2018-03-15T15:55:45Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* WLAN AccessPoint */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ab Raspbian Jessie läuft der Raspi mit dem Init-Systems &amp;quot;systemd&amp;quot;. Auf diesem System wird ein WLAN AccessPoint mit eigenem DHCP realisiert. Die Internetdaten werden vom Ethernet zum AccessPoint geroutet.&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung systemd==&lt;br /&gt;
Prüfen ob systemd-networkd vorhanden ist. Es sollte Loaded: loaded ... da stehen.&lt;br /&gt;
 systemctl status systemd-networkd&lt;br /&gt;
&lt;br /&gt;
Alte Netzwerkkonfigurationen deaktivieren.&lt;br /&gt;
 sudo update-rc.d networking remove&lt;br /&gt;
&lt;br /&gt;
DNS systemd-resolved aktivieren und auf (Loaded: loaded ... enabled) prüfen.&lt;br /&gt;
 sudo systemctl enable systemd-resolved&lt;br /&gt;
 sudo systemctl start systemd-resolved&lt;br /&gt;
 sudo systemctl status systemd-resolved&lt;br /&gt;
&lt;br /&gt;
Link für DNS Konfiguration setzen.&lt;br /&gt;
 sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Unter systemd kann die Netzwerkkonfiguration in mehreren Dateien eingetragen werden und muss im Verzeichnis /etc/systemd/network/ liegen. Dabei müssen die Netzwerkkonfigurationdateien auf '''.network''' enden, wie z.B. unsere Ethernetkonfiguration '''eth0_dhcp.network''' mit folgendem Inhalt:&lt;br /&gt;
 [Match]&lt;br /&gt;
 Name=eth0&lt;br /&gt;
 &lt;br /&gt;
 [Network]&lt;br /&gt;
 DHCP=yes&lt;br /&gt;
&lt;br /&gt;
Das systemd-networkd aktivieren und prüfen. (Configured, Fehler no Hostname -&amp;gt; reboot)&lt;br /&gt;
 sudo systemctl enable systemd-networkd&lt;br /&gt;
 sudo systemctl start systemd-networkd&lt;br /&gt;
 sudo systemctl status systemd-networkd&lt;br /&gt;
&lt;br /&gt;
In der DNS-Konfigurationsdatei sollte hinter nameserver die IP des DNS-Servers stehen.&lt;br /&gt;
cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
==WLAN AccessPoint==&lt;br /&gt;
Bearbeiten der WLAN Netzwerkkonfigurationdatei.&lt;br /&gt;
 sudo vim /etc/systemd/network/wlan0_AP.network&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 [Match]&lt;br /&gt;
 Name=wlan0&lt;br /&gt;
 &lt;br /&gt;
 [Network]&lt;br /&gt;
 Address=192.168.1.1/24&lt;br /&gt;
&lt;br /&gt;
=== Hostpad ===&lt;br /&gt;
Installation von Hostpad.&lt;br /&gt;
 sudo apt-get install hostapd -y&lt;br /&gt;
&lt;br /&gt;
Bearbeiten der AccesPoint-Konfigurationdatei.&lt;br /&gt;
 sudo vim /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 # WLAN-Router-Betrieb&lt;br /&gt;
 &lt;br /&gt;
 # Schnittstelle und Treiber&lt;br /&gt;
 interface=wlan0&lt;br /&gt;
 #driver=nl80211&lt;br /&gt;
 &lt;br /&gt;
 # WLAN-Konfiguration&lt;br /&gt;
 ssid=SSID&lt;br /&gt;
 channel=1&lt;br /&gt;
 hw_mode=g&lt;br /&gt;
 ieee80211n=1&lt;br /&gt;
 ieee80211d=1&lt;br /&gt;
 country_code=DE&lt;br /&gt;
 wmm_enabled=1&lt;br /&gt;
 &lt;br /&gt;
 # WLAN-Verschlüsselung&lt;br /&gt;
 auth_algs=1&lt;br /&gt;
 wpa=2&lt;br /&gt;
 wpa_key_mgmt=WPA-PSK&lt;br /&gt;
 rsn_pairwise=CCMP&lt;br /&gt;
 wpa_passphrase=testtest&lt;br /&gt;
&lt;br /&gt;
Ausführbar machen.&lt;br /&gt;
 sudo chmod 600 /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
Konfiguration für automatisches starten.&lt;br /&gt;
 sudo vim /etc/default/hostapd&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 RUN_DAEMON=yes&lt;br /&gt;
 DAEMON_CONF=&amp;quot;/etc/hostapd/hostapd.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==DNS-Server dnsmasq==&lt;br /&gt;
Installation des DNS-Servers.&lt;br /&gt;
 sudo apt-get install dnsmasq -y&lt;br /&gt;
&lt;br /&gt;
Konfiguration der DNS-Servers.&lt;br /&gt;
 sudo vim /etc/dnsmasq.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgenden Inhalt:&lt;br /&gt;
 #DHCP-Server aktiv für WLAN-Interface&lt;br /&gt;
 interface=wlan0&lt;br /&gt;
 &lt;br /&gt;
 #DHCP-Server nicht aktiv für bestehendes Netzwerk&lt;br /&gt;
 no-dhcp-interface=eth0&lt;br /&gt;
 &lt;br /&gt;
 # IPv4-Adressbereich und Lease-Time&lt;br /&gt;
 dhcp-range=192.168.1.100,192.168.1.150,24h&lt;br /&gt;
 &lt;br /&gt;
 #DNS&lt;br /&gt;
 dhcp-option=option:dns-server,192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Test des DNS-Servers.&lt;br /&gt;
 dnsmasq --test -C /etc/dnsmasq.conf&lt;br /&gt;
 sudo systemctl restart dnsmasq&lt;br /&gt;
 sudo systemctl status dnsmasq&lt;br /&gt;
 sudo systemctl enable dnsmasq&lt;br /&gt;
&lt;br /&gt;
==Routing und Firewall==&lt;br /&gt;
Konfiguration des routings.&lt;br /&gt;
 sudo vim /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgenden Inhalt:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
 net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
Firewall-Konfiguration.&lt;br /&gt;
 sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;
 sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
 sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT&lt;br /&gt;
Damit die Firewall-Konfiguration nach einem Neustart erhalten bleibt.&lt;br /&gt;
 sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==Quellen==&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm Elektronik Kompendium: Raspberry Pi als WLAN-Router einrichten]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Raspberry_Pi_Access_Point_mit_systemd&amp;diff=352</id>
		<title>Raspberry Pi Access Point mit systemd</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Raspberry_Pi_Access_Point_mit_systemd&amp;diff=352"/>
		<updated>2018-03-15T15:54:50Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Vorbereitung systemd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ab Raspbian Jessie läuft der Raspi mit dem Init-Systems &amp;quot;systemd&amp;quot;. Auf diesem System wird ein WLAN AccessPoint mit eigenem DHCP realisiert. Die Internetdaten werden vom Ethernet zum AccessPoint geroutet.&lt;br /&gt;
&lt;br /&gt;
==Vorbereitung systemd==&lt;br /&gt;
Prüfen ob systemd-networkd vorhanden ist. Es sollte Loaded: loaded ... da stehen.&lt;br /&gt;
 systemctl status systemd-networkd&lt;br /&gt;
&lt;br /&gt;
Alte Netzwerkkonfigurationen deaktivieren.&lt;br /&gt;
 sudo update-rc.d networking remove&lt;br /&gt;
&lt;br /&gt;
DNS systemd-resolved aktivieren und auf (Loaded: loaded ... enabled) prüfen.&lt;br /&gt;
 sudo systemctl enable systemd-resolved&lt;br /&gt;
 sudo systemctl start systemd-resolved&lt;br /&gt;
 sudo systemctl status systemd-resolved&lt;br /&gt;
&lt;br /&gt;
Link für DNS Konfiguration setzen.&lt;br /&gt;
 sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
Unter systemd kann die Netzwerkkonfiguration in mehreren Dateien eingetragen werden und muss im Verzeichnis /etc/systemd/network/ liegen. Dabei müssen die Netzwerkkonfigurationdateien auf '''.network''' enden, wie z.B. unsere Ethernetkonfiguration '''eth0_dhcp.network''' mit folgendem Inhalt:&lt;br /&gt;
 [Match]&lt;br /&gt;
 Name=eth0&lt;br /&gt;
 &lt;br /&gt;
 [Network]&lt;br /&gt;
 DHCP=yes&lt;br /&gt;
&lt;br /&gt;
Das systemd-networkd aktivieren und prüfen. (Configured, Fehler no Hostname -&amp;gt; reboot)&lt;br /&gt;
 sudo systemctl enable systemd-networkd&lt;br /&gt;
 sudo systemctl start systemd-networkd&lt;br /&gt;
 sudo systemctl status systemd-networkd&lt;br /&gt;
&lt;br /&gt;
In der DNS-Konfigurationsdatei sollte hinter nameserver die IP des DNS-Servers stehen.&lt;br /&gt;
cat /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
==WLAN AccessPoint==&lt;br /&gt;
Bearbeiten der WLAN Netzwerkkonfigurationdatei.&lt;br /&gt;
 sudo vim /etc/systemd/network/wlan0_AP.network&lt;br /&gt;
&lt;br /&gt;
Mit folgenden Inhalt:&lt;br /&gt;
 [Match]&lt;br /&gt;
 Name=wlan0&lt;br /&gt;
 &lt;br /&gt;
 [Network]&lt;br /&gt;
 Address=192.168.1.1/24&lt;br /&gt;
&lt;br /&gt;
=== Hostpad ===&lt;br /&gt;
Installation von Hostpad.&lt;br /&gt;
 sudo apt-get install hostapd -y&lt;br /&gt;
&lt;br /&gt;
Bearbeiten der AccesPoint-Konfigurationdatei.&lt;br /&gt;
 sudo vim /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 # WLAN-Router-Betrieb&lt;br /&gt;
 &lt;br /&gt;
 # Schnittstelle und Treiber&lt;br /&gt;
 interface=wlan0&lt;br /&gt;
 #driver=nl80211&lt;br /&gt;
 &lt;br /&gt;
 # WLAN-Konfiguration&lt;br /&gt;
 ssid=SSID&lt;br /&gt;
 channel=1&lt;br /&gt;
 hw_mode=g&lt;br /&gt;
 ieee80211n=1&lt;br /&gt;
 ieee80211d=1&lt;br /&gt;
 country_code=DE&lt;br /&gt;
 wmm_enabled=1&lt;br /&gt;
 &lt;br /&gt;
 # WLAN-Verschlüsselung&lt;br /&gt;
 auth_algs=1&lt;br /&gt;
 wpa=2&lt;br /&gt;
 wpa_key_mgmt=WPA-PSK&lt;br /&gt;
 rsn_pairwise=CCMP&lt;br /&gt;
 wpa_passphrase=testtest&lt;br /&gt;
&lt;br /&gt;
Ausführbar machen.&lt;br /&gt;
 sudo chmod 600 /etc/hostapd/hostapd.conf&lt;br /&gt;
&lt;br /&gt;
Konfiguration für automatisches starten.&lt;br /&gt;
 sudo vim /etc/default/hostapd&lt;br /&gt;
&lt;br /&gt;
Mit folgendem Inhalt:&lt;br /&gt;
 RUN_DAEMON=yes&lt;br /&gt;
 DAEMON_CONF=&amp;quot;/etc/hostapd/hostapd.conf&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==DNS-Server dnsmasq==&lt;br /&gt;
Installation des DNS-Servers.&lt;br /&gt;
 sudo apt-get install dnsmasq -y&lt;br /&gt;
&lt;br /&gt;
Konfiguration der DNS-Servers.&lt;br /&gt;
 sudo vim /etc/dnsmasq.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgenden Inhalt:&lt;br /&gt;
 #DHCP-Server aktiv für WLAN-Interface&lt;br /&gt;
 interface=wlan0&lt;br /&gt;
 &lt;br /&gt;
 #DHCP-Server nicht aktiv für bestehendes Netzwerk&lt;br /&gt;
 no-dhcp-interface=eth0&lt;br /&gt;
 &lt;br /&gt;
 # IPv4-Adressbereich und Lease-Time&lt;br /&gt;
 dhcp-range=192.168.1.100,192.168.1.150,24h&lt;br /&gt;
 &lt;br /&gt;
 #DNS&lt;br /&gt;
 dhcp-option=option:dns-server,192.168.1.1&lt;br /&gt;
&lt;br /&gt;
Test des DNS-Servers.&lt;br /&gt;
 dnsmasq --test -C /etc/dnsmasq.conf&lt;br /&gt;
 sudo systemctl restart dnsmasq&lt;br /&gt;
 sudo systemctl status dnsmasq&lt;br /&gt;
 sudo systemctl enable dnsmasq&lt;br /&gt;
&lt;br /&gt;
==Routing und Firewall==&lt;br /&gt;
Konfiguration des routings.&lt;br /&gt;
 sudo vim /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
Mit folgenden Inhalt:&lt;br /&gt;
 net.ipv4.ip_forward=1&lt;br /&gt;
 net.ipv6.conf.all.forwarding=1&lt;br /&gt;
&lt;br /&gt;
Firewall-Konfiguration.&lt;br /&gt;
 sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;
 sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
 sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT&lt;br /&gt;
Damit die Firewall-Konfiguration nach einem Neustart erhalten bleibt.&lt;br /&gt;
 sudo apt-get install iptables-persistent&lt;br /&gt;
&lt;br /&gt;
==Quellen==&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2002171.htm Elektronik Kompendium: Raspberry Pi als WLAN-Router einrichten]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Android_K-9_Mail_und_PGP&amp;diff=348</id>
		<title>Android K-9 Mail und PGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Android_K-9_Mail_und_PGP&amp;diff=348"/>
		<updated>2018-03-15T15:51:12Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* K-9 Mail */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das E-Mail Programm '''K-9 Mail''' und das PGP Programm '''OpenKeychain''' sind Open Source Programme für Android.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
K-9 Mail über [https://play.google.com/store/apps/details?id=com.fsck.k9 Google Play Store] oder [https://f-droid.org/packages/com.fsck.k9/ F-Droid]&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenKeychain: Easy PGP über [https://play.google.com/store/apps/details?id=org.sufficientlysecure.keychain Google Play Store] oder [https://f-droid.org/packages/org.sufficientlysecure.keychain/ F-Droid]&lt;br /&gt;
&lt;br /&gt;
== OpenKeychain ==&lt;br /&gt;
Wenn vorhanden das eigene PGP-Schlüsselpaar auf das Smartphone kopieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenKeychain öffnen und das kopierte PGP-Schlüsselpaar importieren. ('''+'''  -&amp;gt;  '''Aus Datei importieren''')&lt;br /&gt;
&lt;br /&gt;
== K-9 Mail ==&lt;br /&gt;
K-9 Mail öffnen und unter dem jeweiligem Emailaccount in den '''Kontoeinstellungen''' die Option '''Kryptographie''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dort unter '''OpenPGP App''' die '''OpenKeychain App''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unter '''Mein Schlüssel''' das kopierte PGP-Schlüsselpaar auswählen oder ein neues PGP-Schlüsselpaar erzeugen. Fertig.&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
[https://www.openkeychain.org/ OpenKeychain]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://k9mail.github.io/ K-9 Mail]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Hauptseite&amp;diff=347</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Hauptseite&amp;diff=347"/>
		<updated>2018-03-15T15:49:48Z</updated>

		<summary type="html">&lt;p&gt;Julia: /* Willkommen im Nicki Wiki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Willkommen im Nicki Wiki ==&lt;br /&gt;
&lt;br /&gt;
Dieses Wiki ist hauptsächlich privat. Es ist kein Problem Inhalte zu kopieren oder weiter zu verwenden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Da Inhalte von anderen Webseiten o.ä. stammen, sind bei weiterer Verwendung die Quellen mit anzugeben.&amp;lt;br /&amp;gt;&lt;br /&gt;
Sind weitere Informationen zu bestimmten Themen erwünscht, bietet [https://www.google.de/ Google] eine super Suchfunktion.&lt;br /&gt;
&lt;br /&gt;
Da ich sehr viel mit unterschiedlicher Technik arbeite und viele Probleme öfters auftauchen, habe ich dieses Wiki erstellt,&amp;lt;br /&amp;gt;&lt;br /&gt;
um nicht jedesmal im Internet nach der passenden und vor allem KURZEN Lösung (ohne viel Vorgeplänkel) suchen zu müssen.&amp;lt;br /&amp;gt; &lt;br /&gt;
Dieses Wiki enthält hauptsächlich Lösungen zu technischen Problemen und Einstellungen.&lt;br /&gt;
&lt;br /&gt;
== Wiki Liste ==&lt;br /&gt;
[https://wiki.xnick.de/index.php/Android_K-9_Mail_und_PGP Android K-9 Mail und PGP]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.xnick.de/index.php/Android_LinageOS_Error Android LinageOS Error]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.xnick.de/index.php/Raspberry_Pi_Access_Point_mit_systemd Raspberry Pi Access Point mit systemd]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.xnick.de/index.php/STM32_mit_der_Standart_IDE_Eclipse_und_CubeMX STM32 mit der Standart IDE Eclipse und CubeMX]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_C%2B%2B STM32 programmieren und debuggen mit C++]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.xnick.de/index.php/Thunderbird_und_PGP Thunderbird und PGP]&amp;lt;br&amp;gt;&lt;br /&gt;
[https://wiki.xnick.de/index.php/SSH_als_HTTP_Proxy SSH als HTTP Proxy]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Starthilfen ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Liste der Konfigurationsvariablen]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki-FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Übersetze MediaWiki für deine Sprache]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Erfahre, wie du Spam auf deinem Wiki bekämpfen kannst]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse&amp;diff=222</id>
		<title>STM32 programmieren und debuggen mit der Standard IDE Eclipse</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse&amp;diff=222"/>
		<updated>2018-01-04T15:39:47Z</updated>

		<summary type="html">&lt;p&gt;Julia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es gibt verschiedene fertige IDEs um Mikrocontroller von [http://www.st.com/content/st_com/en.html STMicroelectronics] zu programmieren, wie z.B. [https://atollic.com/truestudio/ Attolic TrueSTUDIO], [http://www.st.com/en/development-tools/sw4stm32.html SW4STM32], [https://www.iar.com/iar-embedded-workbench/partners/stmicroelectronics/ IAR-EWARM] oder [http://www2.keil.com/mdk5 MDK].&lt;br /&gt;
Jedoch bieten diese IDEs mehr oder weniger Einschränkungen und/oder nerven durch Werbung.&lt;br /&gt;
Diese Anleitung zeigt wie Mikrocontroller von STM mit der Standard '''Eclipse IDE C/C++''' programmiert und debuggt werden kann.&lt;br /&gt;
&lt;br /&gt;
Unterstützte Betriebssysteme: Windows, Linux und Mac (Unter Linux und Mac ist die Installationsanleitungen auf den jeweiligen Websites zu beachten)&amp;lt;br /&amp;gt;&lt;br /&gt;
In diesem Tutorial wird das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] von STMicroelectronics verwendet.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
[https://www.eclipse.org/downloads/eclipse-packages/ Eclipse IDE C/C++]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://github.com/gnu-mcu-eclipse/eclipse-plugins/releases/tag/v4.2.1-201711101735 GNU MCU Eclipse plugin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://launchpad.net/gcc-arm-embedded GNU ARM Embedded Toolchain]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://github.com/gnuarmeclipse/openocd/releases GNU MCU Eclipse OpenOCD]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gnuarmeclipse.github.io/openocd/install/ How to install the OpenOCD binaries]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link009.html ST-Link USB-Treiber]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://zadig.akeo.ie/ Zadig generischer USB-Treiber] (Nur bei Problemen mit OpenOCD)&lt;br /&gt;
&lt;br /&gt;
Die Pakete können normal installiert werden; später ist es nur wichtig, die Pfade zu kennen.&amp;lt;br /&amp;gt; &lt;br /&gt;
In dieser Anleitung wird alles in einem Pfad unter „D:\Programme\eclipse“ installiert und entpackt.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eclipse Installation ==&lt;br /&gt;
&lt;br /&gt;
Eclipse in dem gewünschten Ordnerpfad entpacken - danach kann es schon gestartet werden.&lt;br /&gt;
Pfad für den workspace festlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
== GNU MCU Eclipse plug-ins Installation ==&lt;br /&gt;
&lt;br /&gt;
In der Menüleiste auf '''Help''' -&amp;gt; '''Eclipse Marketplace…''' In der Suchleiste '''gnu arm''', ab Eclipse Oxygen '''gnu mcu''' eingeben und bestätigen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das plugin GNU MCU Eclipse 4.2.1 oder neuer mit install installieren; dabei sind alle Häkchen zu setzen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Es kann vorkommen, dass die Installation über den Marketplace fehlschlägt. Eine andere Option ist die manuelle Installation.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download [https://sourceforge.net/projects/gnuarmeclipse/?source=typ_redirect GNU ARM Eclipse plug-in] bzw. [https://github.com/gnuarmeclipse GNU MCU Eclipse]&lt;br /&gt;
&lt;br /&gt;
In der Menüleiste von eclipse:  '''Help''' -&amp;gt; '''Install New Software…''' -&amp;gt; '''Add…''' -&amp;gt; '''Archive…''' -&amp;gt; das zuvor heruntergeladene zip '''Archiv auswählen''' -&amp;gt; '''OK''' -&amp;gt; alle '''Häkchen setzen''' -&amp;gt; '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Lizenz akzeptieren''' -&amp;gt; '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
== GNU Arm Toolchain ==&lt;br /&gt;
&lt;br /&gt;
Die heruntergeladene GNU Arm Toolchain, wenn nicht schon geschehen, installieren und den Toolchainpfad merken. Die Einrichtung erfolgt mittels des Testprojekts HelloWorld.&amp;lt;br /&amp;gt;&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C Projekt''' unter '''Project type:''' -&amp;gt; '''STM32F4xx C/C++ Project''' -&amp;gt; '''Cross Arm GCC''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Einen Projektnamen vergeben - hier '''Project name:''' HelloWorld. Weiter mit '''Next'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Chip-Familie auswählen - hier '''Chip family:''' STM32F407xx.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Jetzt den Toolchainpfad bis Ordner &amp;quot;bin&amp;quot; angeben, hier '''Toolchain path:''' D:\Programme\eclipse\GNU_ARM_Toolchain\5.4 2016q3\bin.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
und mit '''Finish''' bestätigen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Auf den Hammer klicken, das Programm sollte nun erfolgreich compilieren!&lt;br /&gt;
&lt;br /&gt;
== GNU MCU Eclipse OpenOCD Debugging ==&lt;br /&gt;
Das GNU MCU Eclipse OpenOCD ist ein für Eclipse angepasster fork von OpenOCD, welches ein freies und offenes On-Chip-Debugging mit In-System-Programmierung und Boundary-Scan-Tests ist.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das heruntergeladene GNU MCU Eclipse OpenOCD, wenn nicht schon geschehen, installieren und den OpenOCD Pfad merken.&amp;lt;br /&amp;gt;&lt;br /&gt;
In '''Eclipse''' -&amp;gt; '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''Run/Debug''' -&amp;gt; '''OpenOCD''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ab '''Eclipse Oxygen''' -&amp;gt; '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''MCU''' -&amp;gt; '''Global OpenOCD Path'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Jetzt den OpenOCD Pfad bis zum Ordner &amp;quot;bin&amp;quot; eingeben, hier '''Folder:''' D:/Programme/eclipse/OpenOCD/bin und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
In '''Eclipse''' -&amp;gt; '''Run''' -&amp;gt; '''Debug Configurations…''' Doppelklick auf '''GDB OpenOCD Debugging''' -&amp;gt; '''HelloWorld Debug'''&lt;br /&gt;
Bevor debuggt werden kann muss noch die Debbuging-Konfigurationsdatei erstellt werden.&lt;br /&gt;
&lt;br /&gt;
== OpenOCD Debugging Konfigurationsdatei ==&lt;br /&gt;
Es muss für jeden Chip oder Discovery-Bord eine Debbuging Konfigurationsdatei auch config-Datei erstellt werden sowie die richtige Konfigurationsdatei für die Debuggingverbindung ausgewählt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Als erstes ist das Discovery-Board o.ä. mit dem PC über USB zu verbinden. Im '''Geräte-Manager''' (Systemsteuerung -&amp;gt; Geräte-Manager) -&amp;gt; '''Anschlüsse(COM &amp;amp; LPT)''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Doppelklick -&amp;gt; '''STMicroelectronics STLink Virtual COM Port''' -&amp;gt; '''Details'''. Unter '''Eigenschaften''' -&amp;gt; '''Hardware-IDs''' die '''ID''' nach USB\VID merken, hier (… 0483&amp;amp;PID_374B …).&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
In dem '''OpenOCD Ordner''' -&amp;gt; '''scripts''' -&amp;gt; '''interface''' -&amp;gt; '''stlink-v2-1.cfg''' öffnen und die IDs vergleichen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Wird eine andere ST-Link Version genutzt, muss die entsprechende config Datei ausgewählt werden. Stimmen die IDs überein, ist die richtige Datei gefunden -&amp;gt; '''Dateinamen merken'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im nächsten Schritt wird die Debbugíng Konfigurationsdatei ausgewählt.&amp;lt;br /&amp;gt; Da hier ein Discovery-Board verwendet wird, kann das Skript unter '''OpenOCD''' -&amp;gt; '''scripts''' -&amp;gt; '''board''' -&amp;gt; '''stm32f4discovery.cfg''' in den Projectordner kopiert werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Wird ein Chip verwendet, ist aus dem &amp;quot;cpu&amp;quot; Ordner ein Skript auszuwählen. Die Datei wird jetzt an unser Board angepasst und dazu als erstes von ''stm32f4discovery.cfg'' in ''stm32f407g.cfg'' umbenannt.&lt;br /&gt;
Danach wird die umbenannte Datei stm32f407g.cfg geöffnet und unter dem Punkt source der Dateiname der Debuggingverbindung korrigiert - hier '''source [find interface/stlink-v2-1.cfg]'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Zurück in '''Eclipse''' -&amp;gt; '''Run''' -&amp;gt; '''Debug Configuration...''' -&amp;gt; '''GDB OpenOCD Debugging''' -&amp;gt; '''HelloWorld Debug'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Registerkarte '''Debugger''' -&amp;gt; '''OpenOCD Setup''' den Dateinamen mit der Option -f für File in Config options eintragen - hier '''Config options: -f stm32f407g.cfg'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Registerkarte '''Common''' die Option Shared file mit dem Projektnamen auswählen - hier '''Shared file: \HelloWorld'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Mit Apply speichern oder mit Debug speichern und debuggen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Ordnerstruktur ==&lt;br /&gt;
Nach dem entpacken und installieren der Pakete erhält man folgende Ordnerstruktur:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
OpenOCD konnte nicht starten -&amp;gt; Als Administrator (sudo) starten&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenOCD startet es kommt aber zu einem Fehler -&amp;gt; Zadig -&amp;gt; starten -&amp;gt; Install WCID Driver&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
https://launchpad.net/gcc-arm-embedded&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/install/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/openocd/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/openocd/install/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/debug/openocd/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/plugins/install/&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Android_K-9_Mail_und_PGP&amp;diff=221</id>
		<title>Android K-9 Mail und PGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Android_K-9_Mail_und_PGP&amp;diff=221"/>
		<updated>2018-01-04T15:30:15Z</updated>

		<summary type="html">&lt;p&gt;Julia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Das E-Mail Programm '''K-9 Mail''' und das PGP Programm '''OpenKeychain''' sind Open Source Programme für Android.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
K-9 Mail über [https://play.google.com/store/apps/details?id=com.fsck.k9 Google Play Store] oder [https://f-droid.org/packages/com.fsck.k9/ F-Droid]&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenKeychain: Easy PGP über [https://play.google.com/store/apps/details?id=org.sufficientlysecure.keychain Google Play Store] oder [https://f-droid.org/packages/org.sufficientlysecure.keychain/ F-Droid]&lt;br /&gt;
&lt;br /&gt;
== OpenKeychain ==&lt;br /&gt;
Wenn vorhanden das eigene PGP-Schlüsselpaar auf das Smartphone kopieren.&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenKeychain öffnen und das kopierte PGP-Schlüsselpaar importieren. ('''+'''  -&amp;gt;  '''Aus Datei importieren''')&lt;br /&gt;
&lt;br /&gt;
== K-9 Mail ==&lt;br /&gt;
K-9 Mail öffnen und unter dem jeweiligem Emailaccount in den '''Kontoeinstellungen''' die option '''Kryptographie''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Dort unter '''OpenPGP App''' die '''OpenKeychain App''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Unter '''Mein Schlüssel''' das kopierte PGP-Schlüsselpaar auswählen oder ein neues PGP-Schlüsselpaar erzeugen. Fertig.&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
[https://www.openkeychain.org/ OpenKeychain]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://k9mail.github.io/ K-9 Mail]&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_C%2B%2B&amp;diff=220</id>
		<title>STM32 programmieren und debuggen mit C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_C%2B%2B&amp;diff=220"/>
		<updated>2018-01-04T15:28:29Z</updated>

		<summary type="html">&lt;p&gt;Julia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Tutorial zeigt wie mit der Standard IDE Eclipse Mikrocontrollern von [http://www.st.com/content/st_com/en.html STMicroelectronics] mit C++ programmiert und debbugt werden kann. Voraussetzung ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&amp;lt;br /&amp;gt;&lt;br /&gt;
Ebenfalls wird auch hier das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] verwendet.&lt;br /&gt;
&lt;br /&gt;
== Projektbeispiel ==&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C++''' -&amp;gt; '''STM32F4xx C/C++ Project''' auswählen.&lt;br /&gt;
Einen Projektnamen vergeben - hier '''Project name:''' HelloWorld.&lt;br /&gt;
Den Zielprozessor auswählen - hier Target '''processor settings:''' STM32F407.&lt;br /&gt;
&lt;br /&gt;
[[Datei:target-prozessor-settings.jpg]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next'''.&lt;br /&gt;
Jetzt den Toolchain Pfad bis Ordner &amp;quot;bin&amp;quot; angeben, hier Toolchain path: D:\Programme\eclipse\GNU_ARM_Toolchain\5.4 2016q3\bin.&lt;br /&gt;
&lt;br /&gt;
[[Datei:cross-gnu-arm-toolchain.jpg]]&lt;br /&gt;
&lt;br /&gt;
und mit Finish bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Siehe [https://wiki.xnick.de/index.php/STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse STM32 programmieren und debuggen mit der Standard IDE Eclipse].&lt;br /&gt;
&lt;br /&gt;
== Boardkonfiguration ==&lt;br /&gt;
Die grundlegende Bord oder Chipconfiguration wird mit CubeMX durchgeführt.&lt;br /&gt;
Nach der Konfiguration in CubeMX '''Project''' -&amp;gt; '''Settings...''' einen '''Project Namen''' vergeben, hier '''Project Namen''' HelloWorld, sowie einen Speicherort auswählen.&lt;br /&gt;
Im Dropdown Menü '''Toolchain/IDE''' -&amp;gt; '''Other Toolchain''' auswählen und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:project-settings.jpg]]&lt;br /&gt;
 &lt;br /&gt;
Jetzt ist das Projekt unter '''Project''' –&amp;gt; '''Generate Code''' zu erzeugen. Im Anschluss mit '''Open Folder''' den Projekt-Ordner im Explorer öffnen. Oder Manuell zum erzeugten Projekt-Ordner navigieren.&lt;br /&gt;
Die '''main.h''' vom CubeMX Projekt in den '''inc''' Ordner kopieren und in die '''_initialize_hardware.c''' einbinden. Die '''Funktionen''' für die '''Hardwarekonfiguration''' aus der '''main.c''' vom CubeMX Projekt in die  '''_initialize_hardware.c''' kopieren (ersetzen).&lt;br /&gt;
&lt;br /&gt;
Funktion Beispiel:&lt;br /&gt;
 void SystemClock_Config(void)&lt;br /&gt;
 void Error_Handler(void)&lt;br /&gt;
 static void MX_GPIO_Init(void)&lt;br /&gt;
&lt;br /&gt;
[[Datei:workspace.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die '''main.h''' kann natürlich umbenannt werden (z.B. '''_initialize_hardware.h''') damit es nicht zu Missverständnissen kommt.&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=Programmieren_und_Debuggen_des_STM32_mit_C%2B%2B&amp;diff=219</id>
		<title>Programmieren und Debuggen des STM32 mit C++</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=Programmieren_und_Debuggen_des_STM32_mit_C%2B%2B&amp;diff=219"/>
		<updated>2018-01-04T15:23:21Z</updated>

		<summary type="html">&lt;p&gt;Julia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Tutorial zeigt wie mit der Standard IDE Eclipse Mikrocontrollern von [http://www.st.com/content/st_com/en.html STMicroelectronics] mit C++ programmiert und debbugt werden kann. Voraussetzung ist die Einrichtung von Eclipse nach dem Tutorial [https://wiki.xnick.de/index.php/Programmieren_und_Debuggen_des_STM32_mit_der_Standard_IDE_Eclipse Programmieren und Debuggen des STM32 mit der Standard IDE Eclipse].&amp;lt;br /&amp;gt;&lt;br /&gt;
Ebenfalls wird auch hier das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] verwendet.&lt;br /&gt;
&lt;br /&gt;
== Projektbeispiel ==&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C++''' -&amp;gt; '''STM32F4xx C/C++ Project''' auswählen,&lt;br /&gt;
einen Projektnamen vergeben - hier '''Project name:''' HelloWorld.&lt;br /&gt;
Den Zielprozessor auswählen - hier Target '''processor settings:''' STM32F407.&lt;br /&gt;
&lt;br /&gt;
[[Datei:target-prozessor-settings.jpg]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next'''.&lt;br /&gt;
Jetzt den Toolchainpfad bis Ordner &amp;quot;bin&amp;quot; angeben, hier Toolchain path: D:\Programme\eclipse\GNU_ARM_Toolchain\5.4 2016q3\bin.&lt;br /&gt;
&lt;br /&gt;
[[Datei:cross-gnu-arm-toolchain.jpg]]&lt;br /&gt;
&lt;br /&gt;
und mit Finish bestätigen.&lt;br /&gt;
&lt;br /&gt;
== Debugging ==&lt;br /&gt;
Siehe [https://wiki.xnick.de/index.php/Programmieren_und_Debuggen_des_STM32_mit_der_Standard_IDE_Eclipse Programmieren und Debuggen des STM32 mit der Standard IDE Eclipse].&lt;br /&gt;
&lt;br /&gt;
== Boardkonfiguration ==&lt;br /&gt;
Die grundlegende Bord oder Chipconfiguration wird mit CubeMX durchgeführt.&lt;br /&gt;
Nach der Konfiguration in CubeMX '''Project''' -&amp;gt; '''Settings...''' einen '''Project Namen''' vergeben, hier '''Project Namen''' HelloWorld, sowie einen Speicherort auswählen.&lt;br /&gt;
Im Dropdown Menü '''Toolchain/IDE''' -&amp;gt; '''Other Toolchain''' auswählen und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:project-settings.jpg]]&lt;br /&gt;
 &lt;br /&gt;
Jetzt ist das Projekt unter '''Project''' –&amp;gt; '''Generate Code''' zu erzeugen. Im Anschluss mit '''Open Folder''' den Projekt-Ordner im Explorer öffnen. Oder Manuell zum erzeugten Projekt-Ordner navigieren.&lt;br /&gt;
Die '''main.h''' vom CubeMX Projekt in den '''inc''' Ordner kopieren und in die '''_initialize_hardware.c''' einbinden. Die '''Funktionen''' für die '''Hardwarekonfiguration''' aus der '''main.c''' vom CubeMX Projekt in die  '''_initialize_hardware.c''' kopieren (ersetzen).&lt;br /&gt;
&lt;br /&gt;
Funktion Beispiel:&lt;br /&gt;
 void SystemClock_Config(void)&lt;br /&gt;
 void Error_Handler(void)&lt;br /&gt;
 static void MX_GPIO_Init(void)&lt;br /&gt;
&lt;br /&gt;
[[Datei:workspace.jpg]]&lt;br /&gt;
&lt;br /&gt;
Die '''main.h''' kann natürlich umbenannt werden (z.B. '''_initialize_hardware.h''') damit es nicht zu Missverständnissen kommt.&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
	<entry>
		<id>https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse&amp;diff=218</id>
		<title>STM32 programmieren und debuggen mit der Standard IDE Eclipse</title>
		<link rel="alternate" type="text/html" href="https://wiki.xnick.de/index.php?title=STM32_programmieren_und_debuggen_mit_der_Standard_IDE_Eclipse&amp;diff=218"/>
		<updated>2018-01-04T15:18:58Z</updated>

		<summary type="html">&lt;p&gt;Julia: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es gibt verschiedene fertige IDEs um Mikrocontroller von [http://www.st.com/content/st_com/en.html STMicroelectronics] zu programmieren, wie z.B. [https://atollic.com/truestudio/ Attolic TrueSTUDIO], [http://www.st.com/en/development-tools/sw4stm32.html SW4STM32], [https://www.iar.com/iar-embedded-workbench/partners/stmicroelectronics/ IAR-EWARM] oder [http://www2.keil.com/mdk5 MDK].&lt;br /&gt;
Jedoch bieten diese IDEs mehr oder weniger Einschränkungen und/oder nerven durch Werbung.&lt;br /&gt;
Diese Anleitung zeigt wie Mikrocontroller von STM mit der Standard '''Eclipse IDE C/C++''' programmiert und debuggt werden kann.&lt;br /&gt;
&lt;br /&gt;
Unterstützte Betriebssysteme: Windows, Linux und Mac (Unter Linux und Mac ist die Installationsanleitungen auf den jeweiligen Websites zu beachten)&amp;lt;br /&amp;gt;&lt;br /&gt;
In diesem Tutorial wird das Discovery-Board: [http://www.st.com/en/evaluation-tools/stm32f4discovery.html STM32F407G-DISC1] von STMicroelectronics verwendet.&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
&lt;br /&gt;
[https://www.eclipse.org/downloads/eclipse-packages/ Eclipse IDE C/C++]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://github.com/gnu-mcu-eclipse/eclipse-plugins/releases/tag/v4.2.1-201711101735 GNU MCU Eclipse plugin]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://launchpad.net/gcc-arm-embedded GNU ARM Embedded Toolchain]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://github.com/gnuarmeclipse/openocd/releases GNU MCU Eclipse OpenOCD]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://gnuarmeclipse.github.io/openocd/install/ How to install the OpenOCD binaries]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.st.com/content/st_com/en/products/embedded-software/development-tool-software/stsw-link009.html ST-Link USB-Treiber]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://zadig.akeo.ie/ Zadig generischer USB-Treiber] (Nur bei Problemen mit OpenOCD)&lt;br /&gt;
&lt;br /&gt;
Die Pakete können normal installiert werden; später ist es nur wichtig, die Pfade zu kennen.&amp;lt;br /&amp;gt; &lt;br /&gt;
In dieser Anleitung wird alles in einem Pfad unter „D:\Programme\eclipse“ installiert und entpackt.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Eclipse Installation ==&lt;br /&gt;
&lt;br /&gt;
Eclipse in dem gewünschten Ordnerpfad entpacken - danach kann es schon gestartet werden.&lt;br /&gt;
Pfad für den workspace festlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
== GNU MCU Eclipse plug-ins Installation ==&lt;br /&gt;
&lt;br /&gt;
In der Menüleiste auf '''Help''' -&amp;gt; '''Eclipse Marketplace…''' In der Suchleiste '''gnu arm''', ab Eclipse Oxygen '''gnu mcu''', eingeben und bestätigen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Und das plugin GNU MCU Eclipse 4.2.1 oder neuer mit install installieren. Dabei sind alle Häkchen zu setzen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Es kann vor kommen das die Installation über den Marketplace fehlschlägt. Eine andere Option ist die manuelle Installation.&amp;lt;br /&amp;gt;&lt;br /&gt;
Download [https://sourceforge.net/projects/gnuarmeclipse/?source=typ_redirect GNU ARM Eclipse plug-in] bzw. [https://github.com/gnuarmeclipse GNU MCU Eclipse]&lt;br /&gt;
&lt;br /&gt;
In der Menüleiste von eclipse:  '''Help''' -&amp;gt; '''Install New Software…''' -&amp;gt; '''Add…''' -&amp;gt; '''Archive…''' -&amp;gt; das zuvor heruntergeladene zip '''Archiv auswählen''' -&amp;gt; '''OK''' -&amp;gt; alle '''Häkchen setzen''' -&amp;gt; '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Lizenz akzeptieren''' -&amp;gt; '''Finish'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
== GNU Arm Toolchain ==&lt;br /&gt;
&lt;br /&gt;
Die Heruntergeladene GNU Arm Toolchain wenn nicht schon geschehen installieren und den Toolchain Pfad merken. Die Einrichtung erfolgt mittels des Testprojekts HelloWorld.&amp;lt;br /&amp;gt;&lt;br /&gt;
In Eclipse '''File''' -&amp;gt; '''New''' -&amp;gt; '''C Projekt''' unter '''Project type:''' -&amp;gt; '''STM32F4xx C/C++ Project''' -&amp;gt; '''Cross Arm GCC''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Einen Projektnamen vergeben, hier '''Project name:''' HelloWorld. Weiter mit '''Next'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Chip-Familie auswählen, hier '''Chip family:''' STM32F407xx.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Danach '''Next''' -&amp;gt; '''Next''' -&amp;gt; '''Next'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Jetzt den Toolchain Pfad bis Ordner &amp;quot;bin&amp;quot; angeben, hier '''Toolchain path:''' D:\Programme\eclipse\GNU_ARM_Toolchain\5.4 2016q3\bin.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Und mit '''Finish''' bestätigen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Auf den Hammer klicken, das Programm sollte nun erfolgreich compilieren!&lt;br /&gt;
&lt;br /&gt;
== GNU MCU Eclipse OpenOCD Debugging ==&lt;br /&gt;
Das GNU MCU Eclipse OpenOCD ist ein für Eclipse angepasster fork von OpenOCD welches ein freies und offenes On-Chip-Debugging mit In-System-Programmierung und Boundary-Scan-Tests ist.&amp;lt;br /&amp;gt;&lt;br /&gt;
Das Heruntergeladene GNU MCU Eclipse OpenOCD wenn nicht schon geschehen installieren und den OpenOCD Pfad merken.&amp;lt;br /&amp;gt;&lt;br /&gt;
In '''Eclipse''' -&amp;gt; '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''Run/Debug''' -&amp;gt; '''OpenOCD''' auswählen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Ab '''Eclipse Oxygen''' -&amp;gt; '''Window''' -&amp;gt; '''Preferences''' -&amp;gt; '''MCU''' -&amp;gt; '''Global OpenOCD Path'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Jetzt den OpenOCD Pfad bis zum Ordner &amp;quot;bin&amp;quot; eingeben, hier '''Folder:''' D:/Programme/eclipse/OpenOCD/bin und mit '''OK''' bestätigen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
In '''Eclipse''' -&amp;gt; '''Run''' -&amp;gt; '''Debug Configurations…''' Doppelklick auf '''GDB OpenOCD Debugging''' -&amp;gt; '''HelloWorld Debug'''&lt;br /&gt;
Bevor debuggt werden kann muss noch die Debbuging-Konfigurationsdatei erstellt werden.&lt;br /&gt;
&lt;br /&gt;
== OpenOCD Debugging Konfigurationsdatei ==&lt;br /&gt;
Es muss für jeden Chip oder Discovery-Bord eine Debbugíng Konfigurationsdatei auch config-Datei erstellt werden. Sowie die richtige Konfigurationsdatei für die Debuggingverbindung ausgewählt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
Als erstes ist das Discovery-Board o.ä. mit dem PC über USB zu verbinden. Im '''Geräte-Manager''' (Systemsteuerung -&amp;gt; Geräte-Manager) -&amp;gt; '''Anschlüsse(COM &amp;amp; LPT)''' &lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Doppelklick -&amp;gt; '''STMicroelectronics STLink Virtual COM Port''' -&amp;gt; '''Details'''. Unter '''Eigenschaften''' -&amp;gt; '''Hardware-IDs''' die '''ID''' nach USB\VID merken, hier (… 0483&amp;amp;PID_374B …).&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
In dem '''OpenOCD Ordner''' -&amp;gt; '''scripts''' -&amp;gt; '''interface''' -&amp;gt; '''stlink-v2-1.cfg''' öffnen und die IDs vergleichen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Wird eine andere ST-Link Version genutzt muss die entsprechende config Datei ausgewählt werden. Stimmen die IDs überein ist die richtige Datei gefunden -&amp;gt; '''Dateinamen merken'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Im nächsten Schritt wird die Debbugíng Konfigurationsdatei ausgewählt.&amp;lt;br /&amp;gt; Da hier ein Discovery-Board verwendet wird, kann das skript unter '''OpenOCD''' -&amp;gt; '''scripts''' -&amp;gt; '''board''' -&amp;gt; '''stm32f4discovery.cfg''' in den Project Ordner kopiert werden.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Wird ein Chip verwendet ist aus dem &amp;quot;cpu&amp;quot; Ordner ein Skript auszuwählen. Die Datei wird jetzt an unseres Board angepasst und dazu als erstes von ''stm32f4discovery.cfg'' in ''stm32f407g.cfg'' umbenannt.&lt;br /&gt;
Danach wird die umbenannte Datei stm32f407g.cfg geöffnet und unter dem Punkt source der Dateiname der Debuggingverbindung korrigiert, hier '''source [find interface/stlink-v2-1.cfg]'''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Zurück in '''Eclipse''' -&amp;gt; '''Run''' -&amp;gt; '''Debug Configuration...''' -&amp;gt; '''GDB OpenOCD Debugging''' -&amp;gt; '''HelloWorld Debug'''&amp;lt;br /&amp;gt;&lt;br /&gt;
Registerkarte '''Debugger''' -&amp;gt; '''OpenOCD Setup''' den Dateinamen mit der Option -f für File in Config options eintragen, hier '''Config options: -f stm32f407g.cfg'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Registerkarte '''Common''' die Option Shared file mit dem Projektnamen auswählen, hier '''Shared file: \HelloWorld'''&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
Mit Apply speichern oder mit Debug speichern und debuggen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Ordnerstruktur ==&lt;br /&gt;
Nach dem entpacken und installieren der Pakete erhält man folgende Ordnerstruktur:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
OpenOCD konnte nicht starten -&amp;gt; Als Administrator (sudo) starten&amp;lt;br /&amp;gt;&lt;br /&gt;
OpenOCD startet es kommt aber zu einem Fehler -&amp;gt; Zadig -&amp;gt; starten -&amp;gt; Install WCID Driver&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
https://launchpad.net/gcc-arm-embedded&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/windows-build-tools/install/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/openocd/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/openocd/install/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/debug/openocd/&amp;lt;br /&amp;gt;&lt;br /&gt;
http://gnuarmeclipse.github.io/plugins/install/&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Julia</name></author>
	</entry>
</feed>