====== Bootloader programmieren ====== ===== Arduino Uno als Programmer ===== {{ :weiteres:arduino:ardu_bootloader_01.png?direct&400|}}Aufbauend auf den Arduino-Seiten * [[https://www.arduino.cc/en/Tutorial/ArduinoISP|ArduinoISP]] * [[https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard|ArduinoToBreadboard]] habe ich den Encoder-Controller folgendermaßen programmiert: * Herstellen eines Verbindungskabels von den Arduino-Pins (am Controller Steckverbinder J1) * ''Arduino 5 V -> 5 V (J1-Pin9)'' * ''Arduino D10 -> RESET (J1-Pin5)'' * ''Arduino D11 -> MOSI (J1-Pin6)'' * ''Arduino D12 -> MISO (J1-Pin8)'' * ''Arduino D13 -> SCK (J1-Pin2)'' * ''Arduino GND -> GND (J1-Pin7)'' * Sketch in einen Arduino Uno laden: Datei -> Beispiele -> ArduinoISP * Board und Port auswählen, auf das der **ArduinoISP** installiert werden soll * Werkzeuge -> Board -> Arduino/Genuino Uno (Beispiel) * Werkzeuge -> Port ... * Sketch -> Hochladen * Board und Port auswählen, auf das der **Bootloader** installiert werden soll * Werkzeuge -> Board -> Arduino Pro or Pro Mini (Beispiel für ARDU-ENC) * Werkzeuge -> Port ... * Werkzeuge -> Programmer -> Arduino as ISP * Werkzeuge -> Bootloader brennen {{:weiteres:arduino:ardu_bootloader_02.png?direct&400|}} Anschließend kann der Controller mit einem [[weiteres:arduino:flightsim_panel#USB-Seriell-Adapter|USB-Seriell-Adapter]] am Steckverbinder FTDI mit der IDE wie ein Arduino Pro Mini programmiert werden. ===== STK500 Programmer ===== Von Pololu gibt es einen [[https://www.pololu.com/product/3172|AVR-USB-Programmer]], der kompatibel ist zum STK500. Im System meldet sich der Programmer mit zwei COM-Ports an. Ein Port dient als Programmer-Port und der andere als TTL-kompatibler serieller Port. Der Programmer kann für 5V- und 3,3V-Systeme programmiert werden:\\ {{:weiteres:arduino:pololu-avr-programmer_01.png|}} In der Arduino-IDE muss unter Werkzeuge das **Zielsystem**, der **Programmer-Port** und der **Programmer** eingetragen werden. {{:weiteres:arduino:pololu-avr-programmer_02.png?direct&400|}} Auf dem Zielsystem muss der entsprechende 6-polige ICP-Steckverbinder vorhanden sein oder es wird eine Verbindung zu den oben benannten Signalen hergestellt werden. {{:weiteres:arduino:pololu-avr-programmer_03.png?direct&300|}} Wenn das erfolgt ist, kann der Bootloader programmiert werden. Das Programmieren kann nach der Bestückung aller Bauteile rund um den ATmega328 erfolgen. Wenn der Bootloader vorhanden ist, kann der Controller über den sechspoligen Anschluss (FTDI-kompatibel) und einem [[weiteres:arduino:flightsim_panel#usb-seriell-adapter|USB-Seriell-Adapter]] mit der Arduino-IDE programmiert werden.