Boot Loader

Hero_123

Mitglied
17 Sep 2010
88
2
8
Sprachen
C
Hallo LotadaC

Vielen Dank für Deine Hilfe :)


Der, den Du in #8 verlinkt hattest?
Ja, das ist der Programmieradapter.

Du meinst "nicht programmiert".
Ja, "gelöscht" ist etwas .... schwammig ;)

Beim eigentlichen Brennen (flashen) können nur gesetzte Bits gelöscht werden, das Erase setzt alle Bits.
Jetzt ist mir auch klar, warum im #4 im angehängten Bild 0xFF in den nicht vom Programm beschriebenen Zellen steht ...

Zu meiner "Entwicklungsumgebung" - programmiert wird mit dem AVRStudio 4.18 Build 700 auf einem WIN7 32-Bit PC.
Ich habe 2 ATMega8 Boards (beide von www.myavr.de):
ein Board (mein "Master") ist dieses: http://shop.myavr.de/Systemboards und Programmer/myAVR Board MK2, bestückt.htm?sp=article.sp.php&artID=40, es ist schon mit dem Programmer: http://shop.myavr.de/Systemboards und Programmer/mySmartUSB MK2 (Programmer und Bridge).htm?sp=article.sp.php&artID=42 bestückt.
So wie ich den Schaltplan dieses ATMega8 Boards verstehe, benutzt der Programmer die Ports für MISO, MOSI, SCK, SS zum Programmieren (nicht die UART Schnittstelle). Deshalb wird dieses Board m.E. mittels ISP programmiert (kein Boot Loader nötig). Zum flashen benutze ich das AVR Studio und hier den Eintrag "Tools/AVR Prog"

Das 2te ATMega8 Board (mein "Slave" )ist dieses: http://shop.myavr.de/Hardware - Bausätze/myAVR Board light, Bausatz.htm?sp=article.sp.php&artID=200084 und dieses benutzt m.E einen Boot Loader (denn es muss mittels myAVRProgTool programmiert werden; initiell ist KEIN ISP Anschluss vorhanden, nur ein USB_UART Connector); ich habe dann einen 6-poligen ISP Stecker auf das Board gelötet und flashe es jetzt mit http://www.nicai-systems.com/de/robotik/nibo2/ucom-ir2-x (dem Vorgängermodell) mittels AVR Studio (Eintrag "AVR - connect to the selected AVR programmer").

Beide Boards haben eine gemeinsame Spannungsversorgung, beide ATMega8 kommunizieren mittels SPI ("Master" gepollt, "Slave" mittels SPI-Interrupt).

Am "Master" hängt eine Bastelplatine (für SPI, LEDS & Taster) und eine Porterweiterung http://shop.myavr.de/Add-Ons und Zubehör/myTWI PortExpander.htm?sp=article.sp.php&artID=200000, die ein LCD versorgt http://shop.myavr.de/Add-Ons und Zubehör/myAVR LCD Add-On für Textausgaben, 5 V.htm?sp=article.sp.php&artID=15

Am "Slave" hängt eine Bastelplatine (für SPI, LEDS & Taster und Portexpander MCP23017), eine Porterweiterung http://shop.myavr.de/Add-Ons und Zubehör/myTWI PortExpander.htm?sp=article.sp.php&artID=200000 , die eine 6-stellige 7-Segmentanzeige versorgt http://shop.myavr.de/Add-Ons und Zubehör/my7-Segment Add-On, Bausatz.htm?sp=article.sp.php&artID=200018

Das ist mein Hardwareaufbau. Bei beiden ATMega8 ist BOOTRST nicht gesetzt, auch EESAVE ist nicht gesetzt.

Beim Master wird z.B ein Analogwert eingelesen und auf dem LCD ausgegeben und per SPI an den Salve geschickt (und LEDS toggeln per timer ISR und Taster schalten LEDs per Portexpander) ;
der Slave gibt den per SPI empfangenen Analogwert auf der 7-Segmentanzeige aus und toggelt LEDS per ISR und per PWM.
Slave und Master tauschen per SPI 8 byte Daten aus, diese lasse ich mir am PC per hTerm anzeigen.

Und je mehr ich mich damit beschäftige, desto klarer wird mir, dass ich vom ATMega8 keine Ahnung habe (und was das Programmieren angeht - dito).

mfg

Hero_123
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.207
58
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
So wie ich den Schaltplan dieses ATMega8 Boards verstehe, benutzt der Programmer die Ports für MISO, MOSI, SCK, SS zum Programmieren (nicht die UART Schnittstelle).
Es sollte beides möglich sein. "Leiste rechts" vom vorgesehenen Programmer ist sowohl mit dem SPI als auch mit dem UART verbunden (und Reset). Was wann wie genutzt wird, ist Sache des Programmers. Insbesondere solltest Du damit irgendeinen myBootloader flashen können (via SPI-ISP) - ist der drauf, sollte sich der Programmer als UART-Bridge nutzen lassen um den Loader im Controller mit Code zu füttern.

Bei Deinem Slave hast Du die vorgesehene ISP-Buchse selbst bestückt, beim Master wäre das statt des myProgrammers auch möglich gewesen. Bei beiden Boards könnte man ebenso über die untere Anschlußleiste an die ISP-Beine... oder an den Beinen direkt...

je mehr ich mich damit beschäftige, desto klarer wird mir, dass ich vom ATMega8 keine Ahnung habe
Dafür gibt's ja desch Handbüchle
 

Hero_123

Mitglied
17 Sep 2010
88
2
8
Sprachen
C
Hallo LotadaC

Vielen Dank für Hilfe!

Ja, das habe ich zwar und ich arbeite die relevanten Kapitel (mehrmals) durch, aber das ist kein Garant dafür, dass ich es auch verstehe ;)
Bei Deinem Slave hast Du die vorgesehene ISP-Buchse selbst bestückt, beim Master wäre das statt des myProgrammers auch möglich gewesen. Bei beiden Boards könnte man ebenso über die untere Anschlußleiste an die ISP-Beine... oder an den Beinen direkt...
Das "Master" Board, das ich habe, ist die Vorgängerversion des in #21 aufgeführten "Master" Boards, und bei meinem kann ich keinen ISP Anschluss auf dem Board einlöten, da hierfür nichts vorgesehen ist (beim "neuen" könnte man ja einen 10-poligen ISP Stecker einlöten)..
Ist zwar schade, macht aber nichts, da ich das "mysmartusb MK2" eh' benutze, um mir Daten auf dem PC mittels USB-USART anzuzeigen.

Ja, ich muss mir nun doch mal eine Lösung überlegen, wie ich die jetzt vorhandene SPI Verdrahtung aufdrösele um beide Boards per SPI flashen zu können (mit einem Programmer).

mfg

Hero_123
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.207
58
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Als Master hattest Du den bzw den verlinkt. An SV3 wird normalerweise Dein myProgrammer angesteckt - da kannst Du natürlich trotzdem irgend'nen anderen Programmer an die entsprechenden Pins stöpseln. Neben SV3 gäbe es noch die Möglichkeit, JP1 mit 'nem 6poligen Wannenstecker/Pfostenleiste zu bestücken. Die Löcher liegen wohl unter dem myProgrammer, der Wannemstecker würde mit diesem kollidieren.

Alle benötigten Beine kannst Du außerdem auch an SV1 erreichen - außer dem Reset (und dem UART).
Direkt über SV1 befinden sich offensichtlich Lötaugen, wo die Pins von SV1 erreicht werden könnten - dort könnte man also 'ne Stiftleiste bestücken und das SPI erreichen. Für den Reset gibt's links oben neben dem Controller ein entsprechendes Lötauge.
Ja, ich muss mir nun doch mal eine Lösung überlegen, wie ich die jetzt vorhandene SPI Verdrahtung aufdrösele um beide Boards per SPI flashen zu können (mit einem Programmer).
Unter anderem auf dem IRCOM-Programmer hast Du ja 'nen 6poligen Wannenstecker. Ich würde mir an Deiner Stelle (so nicht vorhanden) 'nen sechspoligen Hosenträger mit je sechspoligen Pfostenverbindern an beiden Enden … quetsch/klemmen.
Zusätzlich einen zweiten Hosenträger, wo nur an einem Ende 'n Pfostenverbinder sitzt, ans andere Ende dann entweder einzelne CV-Buchsen crimpen, oder CV-Einzelkontakte (fürs Breadboard <- die ISP-Peitsche hab ich inzwischen noch mit bedruckten Schrumpfschläuchen beschriftet).
Diese Hosenträger kannst Du natürlich mit allen kompatiblen Programmern verwenden.

Beim Light-Board hast Du auch JP1 und SV1 sowie die einzelnen Kontaktstellen/Lötaugen, nur eben nicht die Leiste für den myProgrammer...
 

Hero_123

Mitglied
17 Sep 2010
88
2
8
Sprachen
C
Hallo LotadaC

Vielen Dank für Deine Hilfe :)

Mein "Master" ist eine vorherige Version, da gibt es keine Möglichkeit, einen 6-poligen Wannenstecker einzulöten (leider, hätte ich schon gemacht, wenn's möglich gewesen wäre) - ein JP1 ist nicht vorgesehen.

Alle benötigten Beine kannst Du außerdem auch an SV1 erreichen - außer dem Reset (und dem UART).
Direkt über SV1 befinden sich offensichtlich Lötaugen, wo die Pins von SV1 erreicht werden könnten - dort könnte man also 'ne Stiftleiste bestücken und das SPI erreichen. Für den Reset gibt's links oben neben dem Controller ein entsprechendes Lötauge.
Ja, das ist eine Möglichkeit ;). Diese Lötaugen sind speziell dafür gedacht, eine "fliegende" Testverdrahtung zu machen (dito RESET-Lötauge)

Meinem Light-Board habe ich ja schon einen 6poligen Wannenstecker spendiert ...

Die "Hosenträgerlösung" - klingt gut, werde ich machen, muss mir aber noch die ganzen Utensilien besorgen (bin kein Elektronik Bastler, daher die fertigen Boards ;) )

mfg
Hero_123
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)