- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 13

Thema: Ganz einfach: Programm starten

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    12.04.2008
    Alter
    40
    Beiträge
    557
    Ich bin in dem Thema auch nicht 100% fit. Aber so habe ich es damals verstanden:

    Der Bootloader initialisiert einen Teil der Hardware (u.a. die Kommunikation über UART und Co.) damit du über den USB-Adapter oder was halt beiliegt programmieren kannst. Der Bootloader ist im Prinzip auch "nur" ein normal geschriebenes Programm welches aber in einem speziellen Bereich des Speichers abgelegt wird.

    In den Fuses kannst du einstellen, dass
    a) der Bereich mit dem Bootloader geschützt wird (so kannst du auch über ISP Programme flashen ohne den Bootloader zu beeinflussen) und
    b) wie groß der reservierte Bereich für den Bootloader sein soll.

    Wie es beim RP6 ist kann ich nicht genau sagen, ich weiß nur, dass wir bei einem Projekt auf Basis eines Asuros (ich war für die Mechanik zuständig) Teile des Bootloaders brauchten damit die vorgegebenen Funktionen (wie MotorSpeed(); MotorDir(); ect. funktioniert haben.
    Alles ist möglich. Unmögliches dauert nur etwas länger!

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Hallo,

    die RP6Library ist unabhängig vom Bootloader das funktioniert auch ohne (das geht natürlich auch auf dem ASURO Du musst nur die Hardware richtig initialisieren).

    Den RP6Loader / RobotLoader kannst Du dann nur noch als Terminal verwenden, aber nicht zum Flashen.


    Die normalen ISP Programmer löschen übrigens den ganzen Speicher, per ISP kannst Du keine einzelnen Speicherbereiche löschen wie im Bootloader da wird immer der ganze Chip gelöscht - inklusive Bootloader.
    Nein das können keine Fusebits verhindern die sind nur um den Bootloader vor sich selbst oder verrückt spielenden Anwenderprogrammen zu schützen.
    Wenn die Lockbits gesetzt sind ist ohnehin über ISP vorher ein komplettes löschen notwendig.

    Jaja man kann das device erase deaktivieren (bringt aber aus oben genanntem Grund nix) - das willst Du aber auch nicht wirklich machen denn Flash Speicher MUSS vor dem neuprogrammieren gelöscht werden. Man kann da nur Nullen speichern. Einsen werden gelassen wie sie sind. Daher muss vorher der Speicherbereich (eine Page oder der ganze Chip) komplett gelöscht werden damit zu beginn alles auf 1 steht.


    Du kannst aber natürlich den Bootloader mit den bereitgestellten hex Dateien wiederherstellen (wenn Du die Fusebits richtig einstellst - genau so wie in den PDFs die dabei sind angegeben). Beides gleichzeitig verwenden geht allerdings nicht so ohne weiteres.

    MfG,
    SlyD

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    34
    Sorry, nur um mich nochmals zu versichern.

    Wenn mein Programm auf der M32 läuft (mit SDA auf low) kann ich das Programm (die erzeugte hex file mit AVR studio4) in einen X-beliebigen ATMEGA32 mit ISP laden (mit passender periphery) und dann sollte es "funktionieren" - ist das so?

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von SlyD
    Registriert seit
    27.11.2003
    Ort
    Paderborn
    Alter
    40
    Beiträge
    1.516
    Die RP6lib interessiert sich nicht für den Pegel von SDA. Der sollte aber natürlich high sein im normalzustand.

    Wie schon gesagt - den Bootloader löschst Du so ja komplett.

    Unbedingt die Fusebits richtig einstellen insbesondere den Oszillator sonst kanns passieren das der nicht mehr startet!
    (und den Boot Reset Vector deaktivieren da ja kein Bootloader mehr drin ist)

    MfG,
    Dominik

    EDIT:
    Achso Du fragst ja nach beliebigem MEGA32:
    Prinzipiell ja, aber Du musst dann natürlich schauen das die Pins richtig initialisiert werden (Eingang/Ausgang - das wird in der RP6Control.h Header Datei definiert).
    Geändert von SlyD (19.09.2011 um 10:13 Uhr)

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    16.12.2009
    Beiträge
    34
    Genau (zu deinem Edit), ich habe auf der M32 eine Art prototypen gebaut, bzw. programmiert, da ich dort alles hatte was ich brauchte. Display, leds, buttons und eine lib um nicht ganz bei Null anzufangen - also quasi als eval board benutzt.

    Und dann, wenn ich soweit bin, werde ich auf meinem individuell hergestellen pcb, eben auch einen MEGA32 mit gering geänderter Periphery laufen lassen, welchen ich dann über ISP programmiere.

    Z.b. kommt eine RTC DS1338 bzw. 1307 drauf, da bin ich gerade am einarbeiten um dafür ein paar funktionen zum stellen und lesen zu schreiben. Falls diesbezüglich jemand eine Hilfe, link, o.ä. hat wo das schonmal verwendet wurde - als her damit

    Gruß und schönen Tag, Andreas

Ähnliche Themen

  1. Ist bestimmt ganz einfach habe aber einen Knoten im Kopf :-)
    Von becki133 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 19.04.2008, 16:53
  2. USB zu SERIELL ganz einfach
    Von gpsklaus im Forum Elektronik
    Antworten: 7
    Letzter Beitrag: 20.05.2006, 19:07
  3. lcd ansprechen mit winavr-c ganz einfach...
    Von super_castle im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 11.02.2006, 20:50
  4. Antworten: 18
    Letzter Beitrag: 25.02.2005, 14:32
  5. Roboter per Bluetooth steuern. Ganz einfach?!
    Von grind im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 22.01.2005, 16:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test