"Bootloader" für ATTiny2313

OP #370926
Erstmal vorneweg, ist kein richtiger "Bootloader", dafür fehlem dem
ATTiny2313 ein paar fuses (BOOTSZ...)
Aber "Bibliothek zum Flash-Update über RS232" klingt blöd, also
"bootloader"...

Ist halbwegs kompatibel zum "butterfly" und "avr109" Modus vom
avrdude, "avr910" modus könnt nach ein paar kleinen Anpassungen auch
gehen.

Ist leider recht groß geraten, braucht so in etwa das halbe flash auf.
(Wenns jemand optimieren will, gerne g. Ich hab aufgehört als es
zusammen mit meiner Applikation gepasst hat, die Timeout-Funktionen für
den Seriellen Port sind bei der Optimierung leider schon rausgeflogen)

Vielleicht kann ja noch jemand das Teil brauchen, viel Spass damit,

/Ernst
Angehängte Dateien:
Ich erlaube mir mal einen Hinweis auf einen anderen Bootloader für
tiny2313 samt Java Client. Damit hat man dann noch 3/4 Flash frei:
http://web.media.mit.edu/~ladyada/techproj/Atmex/

Zitat Kurzbeschreibung Projekt:
" Atmex is a prototyping system for someone who is just beginning to
work with microcontrollers. It uses the Atmel ATtiny2313 chip, an
inexpensive but reasonably powerful microcontroller which has
bootloading capability. The Atmex board has a serial port so that the
user can easily upload new code without the use of a microcontroller
programmer (such as the STK-500, AVRISP, etc). Programming software
open source and is written in java so it can run on any computer. At a
total cost of less than $10, each project can be dedicated its own
board."
OP
Schaut auch nicht schlecht aus, der Code.
Das Protokoll scheint sogar avr109 kompatibel zu sein (Soweit ichs
durchgeschaut hab, probiert hab ichs nicht)

Seltsam ist nur sein Speicherlayout, der Tiny hat 2k flash, also von
0x0000 bis 0x0800, und der Bootloader ist defaultmässig im Bereich
0x02FF bis 0x3FF? Oder zählt der dort verwendete Assembler den
Flash-Speicher wordweise?

Hätt ich mir auf jedenfall ein wenig Arbeit sparen können, mit ein paar
Anpassungen hätts der auch getan.

/Ernst
OP
Das "AVR109" Protokoll kommt aus der Application Note 109 von Atmel,
"AVR109: Self Programming".
Gibts hier: 
http://www.atmel.com/dyn/resources/prod_documents/doc1644.pdf

Programmieren geht z.B. mit avrdude, "avr109", oder "butterfly" als 
Prommer auswählen.

Inzwischen hat PeDa seinen universal-Bootloader hier reingestellt, der 
ist vermutlich besser (kleiner) als meiner:

Beitrag "UART Bootloader ATtiny13 - ATmega644"
Hi,

den kleinsten den ich für die Tiny's kenne kommt mit 48 Befehlen aus und 
funktioniert mit einem beliebigen I/O-Pin. Im asm Header steht:

48-instruction one-wire bootloader for ATTiny13/24/45/85 von Kasper 
Pedersen.

Die Anbindung erfolgt über Widerstand und Zenerdiode am seriellen Port 
des PCs in Verbindung mit einem kleinen Programm. Der Bootloader liegt 
immer am Speicherende des Tiny's. Der Sprungvector, z.B. vom WinAVR wird 
beim Einlesen eines neuen Programmes autom. angepasst. Habe das Teil 
seit ca. 2 Jahren bei Tiny13, 44, und 45 erfolgreich im Einsatz.

Gruss
Ingo
Genau,
in dem Paket ist auch der Quellcode der PC Seite (Delphi) enthalten und 
ein Tool um die erste Anwendung mit dem Bootloader als HEX Datei 
zusammenzusetzen . Mittlerwweile habe ich PC und Atmel Seite etwas an 
meine Bedürfnisse angepasst.
Gruss Ingo
Gast
Hallo CGO,

danke, vermutlich hatte ich nur nicht genug gedult.

Habe festgestellt das google Ergebenisse auf jedem PC anders 
sind...möchte nicht wissen wie die das anstellen.

Danke, werde das jetzt auch meinen Bedürfnissen anpassen, da ich neben 
Update auch noch geziehlte EEprom Byte mit Parametern belegen 
möchte....die der Anwender dann über ein vereinfachtes Interface vom PC 
übertragen kann

Gruß + Danke

Oliver
kkpmo wrote:
> Habe festgestellt das google Ergebenisse auf jedem PC anders
> sind...möchte nicht wissen wie die das anstellen.

Das liegt daran, daß google erst mal eine Lastverteilung macht, d.h. 
Anfragen von unterschiedlichen PCs landen auch bei google auf 
unterschiedlichen Rechnern. Und dann arbeiten die Rechner bei google mit 
allen möglichen Tricks zur Geschwindigkeitssteigerung, u.a. spieln da 
lokale Zwischenspeicher eine Rolle.
Auch die Anzahl der gefundenen Ergebnisse ist eher ein guter Schätzwert 
und kein genau gezählter Wert...
Ingo Stahl wrote:
> Genau,
> in dem Paket ist auch der Quellcode der PC Seite (Delphi) enthalten und
> ein Tool um die erste Anwendung mit dem Bootloader als HEX Datei
> zusammenzusetzen . Mittlerwweile habe ich PC und Atmel Seite etwas an
> meine Bedürfnisse angepasst.
> Gruss Ingo
Kannst du deine Anpassungen hier posten?
Ich komme mit der Combine.exe nicht zurecht.
Danke!
Hallo Rudi,
habe leider damals (wegen Urlaub) Deine Anfrage übersehen.
An der Combine.exe habe ich nichts gemacht. Die Atmel Seite habe ich 
noch auf andere Typen erweitert und beim PC-Programm habe ich die 
Funktionalität nicht geändert, sondern nur die Bediener-Oberfläche etwas 
angepasst.
Benötigst Du noch die Info noch?

Gruß Ingo

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.