- 3D-Druck Einstieg und Tipps         
Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte
Ergebnis 51 bis 60 von 65

Thema: Asuro Eval Board Frage

  1. #51
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Anzeige

    Praxistest und DIY Projekte
    Muss der Bootloader dann auch 1024 Worte lang sein oder was hat es damit auf sich?
    Der Bootloader muß nicht, er darf max. 1024Worte lang sein. Entscheidend ist die sich daraus ergebende Startadresse. Die Fusebits Einstellungen müssen mit dem erzeugten Hex-File übereinstimmen, sonst startet der Boootloader nicht. Über die BOOTSIZ Fusebits wird ja durch die Länge des Bootloaders gleichzeitig die Startadresse des Bootloaders festgelegt.
    Wenn dein Bootloader fertig ist und kleiner als 512 Worte ist, kannst du das ja immer noch ändern.

    Kann ich eigentlich den ATmega168 auch mit einem 20 MHz Quarz betreiben, wenn ich den vorhandenen durch solch einen ersetze?
    Warum nicht, probier es halt aus. Bei 20Mhz läuft der mega168 allerdings nur ab 4,5V.

  2. #52
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.068
    denk daran umzurechnen, 1 wort = 2 bytes
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  3. #53
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.09.2007
    Beiträge
    168
    Also muss ich zum Schluss von meinem assemblierten Code die Größe in Wörter umrechnen?

  4. #54
    Benutzer Stammmitglied
    Registriert seit
    07.08.2007
    Beiträge
    36
    Hab da mal ne Frage zu den was MARVIN geschreiben hat

    Auf welche Startadresse wird gelinkt? Dies wird im Makefile mit
    Code: [View More of this Code] [View Even More of this Code] [View Less of this Code] [Select All of this Code]
    --section-start=.text=0x3800

    als Linkeroption übergeben.
    Ok so macht man das wenn man C hat. Aber wie macht man wenn man nur ASM hat da gibt es Optionen also Pre Assembling kann man da was machen finde leider nichts

    Wäre nett wenn ihr mir helfen könntet.

    MFG ALBI

  5. #55
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.068
    ist das nicht unerheblich? das ist ein befehl für den linker, nicht für den assembler...

    H3IIGhost: du schreibst den bootloader. kompilierst ihn, so dass er wie oben beschrieben erst bei einer bestimmten startadresse anfängt und das hex-file davor nur nullen hat (oder irgendwas anderes, hauptsache keinen programmcode.)
    nehmen wir mal an, dein bootloader ist am ende 1kb groß. dann kompilierst du ihn und sorgst wie beschrieben dafür, dass er bei 7kb beginnt, das hex-file ist also 8k groß. 7kb nix, 1kb bootloader. dieses flashst du dann in den prozessor. nun rechnest du um: 1kb = 512 words. mit den fusebits stellst du also eine bootloadergröße von 512 words ein, dann weiss der prozessor wo die startadresse ist. von nun an wird der bootloader ausgeführt, und nach seinem ende sollte an die adresse 0x0000 gesprungen werden um das hauptprogramm, welches vom bootloader in den ehemals leeren bereich geschrieben wurde, auszuführen.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  6. #56
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    hm ... mal ne ganz blöde frage, ich wundere mich hier schwer, ich hab n atmega8 ... die hexfile iss aber schon ü.ber 24kB groß ... flashen geht ohne probleme (AVR DRAGON) und das programm funktioniert auch in allen seinen einzelheiten .... was hat die größe der hexfile mit dem speicher des chips in wirklichkeit zu tun ?

  7. #57
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.068
    etwa die hälfte würde ich grob schätzen, 24kb ist sehr groß. im hex file sind noch zeilenangaben und prüfsummen.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  8. #58
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    das programm beinhaltet ne mittel-komplizierte wegführung anhand der linindaten , breitepfadsuche, 10x10 uchar matrix und n CRC kommunikationsprotokoll fürs Funkmodul >_< ich war schon drauf und dran nen mega32 zu montieren aber bisher sieht es ganz gut aus ich mach später unter Projekte mal n topic von unserer bastelgruppe auf

    weg mit OT spam

    also wie du es beschrieben hast, könnte ich theoretisch einen fertig übersetzten bootloader (also die .o file) per linkerbefehl an ein beliebiges programm hinten dran hängen ?

  9. #59
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    38
    Beiträge
    4.068
    ja so sollte das gehen... du musst in jedem fall schaffen, dass das programm am ende des flashbereiches liegt, und zwar entweder beim beginn des 8. kilobytes, oder am beginn des 16. halben kilobytes.
    achte also drauf, dass due startadresse mit einer der möglichen (datenblatt!) übereinstimmt, und dass du dann auch die fuses einstellst.

    mal was anderes: wofür brauchst du einen bootloader?
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  10. #60
    Benutzer Stammmitglied
    Registriert seit
    07.08.2007
    Beiträge
    36
    Ok vlt nicht richtig gefragt. Also wenn ich in AVR-Studio bei einem C Projekt unter Configurations Option - Custom Option - Linker Option den Befehl -Wl,--section-start=.text=0x3800 funktionier wunderbar. wenn ich aber ein ASM Projekt starte dann gibs das nicht

Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte

Berechtigungen

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

12V Akku bauen