-
        

Ergebnis 1 bis 9 von 9

Thema: PIC Bootloader ?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    11.01.2006
    Beiträge
    29

    PIC Bootloader ?

    Anzeige

    Hallo,
    kennt jemand einen PIC-Bootloader ,
    bei dem ich Quarzfrequenzen ändern kann.
    Freeware selbstverständlich.
    für PIC16-Familie.
    Grüß,
    el_net_fun

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    http://microchipc.com/PIC16bootload/

    Benütze ich auch - geht problemlos und ist schnell.

    PIC Code als ASM, Windows als Pascal (glaub ich) und für Linux in C

    Freeware und ev. sogar Open Source


    Gruess
    Fritzli

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.10.2004
    Ort
    ferd. Waldmüllerg. 7/2
    Alter
    32
    Beiträge
    456
    Stimmt ist freeware, zumindest auf den ersten Blick

    oder aber du benutzt AN851 von Microchip. Windows Exe ist mitgeliefert, ink source code, wie auch der Bootloader in asm mit Docu.

    Aber bei der 16F Familie ist ein Bootloader sowieso nicht wirklich relevat (oder zumindest für mich), da es nur recht wenige und dafür aber teure PICs gibt, die das beschreiben des eigenen Speichers unterstützten. Meines Wissens eigentlich nur die PIC16F87X...

    MfG
    Mobius

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    11.01.2006
    Beiträge
    29
    Hallo, ich benutze die erste, nur da ist das problem, das ich nur mit im Program vorhandenen Quarzfrequenzen arbeiten muss. Ich möchte aber
    meine Quarzfrequenzen beibehalten.
    Ich arbeite mit 16f876, da ich die fast umsonst kriege.
    Danke für die Antworten.
    Grüß,
    el_net_fun

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    10.03.2005
    Ort
    Mannheim
    Alter
    33
    Beiträge
    32
    Was verstehst du unter Quarzfrequenzen ändern?

    Die Frequenz eines Quarzes lässt sich ja nicht über den Programmcode ändern. Der Quarz ist ja immerhin Teil der "externen" Hardware.

    Wenn du jetzt jedoch ein und die selbe Software auf einem Schnelleren bzw. langsameren getakteten PIC laufen lassen willst, musst du entweder die Software umschreiben oder du programmierst ne Software, die automatisch erkennt mit welcher Taktfrequenz der PIC läuft.
    Ob sich die Erkennung realisieren lässt, kann ich leider nicht sagen. Bei den Atmel's funktioniert das (siehe irgendwo im Atmel-Forum).
    Bei dem Atmel, misst du einfach die Zeit, die er brauch umd Daten in den internen EEPROM zu schreiben, da dieser Taktunabhängig (eigene Taktversorgung) arbeit.


    Gruß
    Stefan

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    11.01.2006
    Beiträge
    29
    Ich meinte, dass bei den Bootloader von Microchip nur die fertige hex-files
    gibt. Und wenn ich in meiner Schaltung ein Quarz mit Z.B. 4,9MHz drin habe, wird es nicht von Bootloader unterstutzt. Das heisst, dass ich immer
    den Quarz nehmen muss für welchen die Bootloader-hex-files existieren.
    Oder muss ich in den Bootloader Source-Code ein Eingriff vornehmen, was
    mir aber nicht gelungen...
    Grüß
    el_net_fun

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    10.03.2005
    Ort
    Mannheim
    Alter
    33
    Beiträge
    32
    aso....mmmhhh.....jetzt verstehe ich dein Problem.

    Ja also die Bootloader die ich kenne, bzw. auch der von Microchip, müssten ne autoamtische Baudratenerkennung haben. Somit sollte die Frequenz des Quarzes doch kein Problem darstellen?!

    AN851.pdf <- Schau mal in das PDF.....da ist übrigens auch der Quellcode zum Bootloader drin.

    Gruß
    Stefan

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.10.2004
    Ort
    Nordschwarzwald
    Alter
    34
    Beiträge
    506
    Die "automatische Baudratenerkennung" funktioniert bei den Bootloadern nur nach dem try-and-error-Verfahren - alles andere bräuchte zuviel Speicher.
    Die Folge ist, dass er Konfigurationen für verschiedene typische Taktraten durchgeht und schaut wo er was sinnvolles empfängt. Nun, 4,9MHz ist nicht wirklich eine typische Taktrate, daher wirst du dafür auch kein Hex-File finden. Du kannst natürlich den Quelltext des Bootloaders (EinsamerUser hat ja das passende AppNote gepostet) dahingehend ändern, dass er direkt deine Konfiguration verwendet. Die musst du natürlich passend für den Takt ausrechnen, wie das geht steht im Datenblatt

    Zu beachten ist, dass du nicht mit allen Taktraten auch eine serielle Kommunikation bei jeder Baudrate aufbauen kannst. Das ganze ist ja asynchron, daher darf der Versatz innerhalb eines Wortes nur relativ klein sein (steht aber auch alles im Datenblatt - einfach unter UART schaun)

    MfG
    Stefan

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    07.11.2004
    Beiträge
    332
    Hallo Zusammen,

    hat von Euch jemand einen Bootloader für den PIC16F88.
    am liebsten in ASM, da ich mir diesen auf I2C umschreiben würde.

    Leider arbeitet diese nicht mit dem oben angegeben Bootloader, da dieser Chip Blockschreiben verlangt.

    1. Block löschen
    1. Block schleiben

    ...
    n. Block löschen
    n. Block schleiben

    Edit:
    Meiner läuft jetzt. Ein paar kleine Fehler unter anderem auch in der Dokumentation.

    Hier wird das FLAG FREE nicht bei schreiben gelöscht. Da man dieses Flag für das Löschen des Blocks setzt, muss es danach wieder gelöscht werden.
    Ansonsten sind die Schreibbefehle = Löschbefehle


    Gruss Ritchie

Berechtigungen

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