Forum: Projekte & Code "Bootloader" für ATTiny2313


von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

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

von Ich B. (ichbin)


Lesenswert?

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."

von Εrnst B. (ernst)


Lesenswert?

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

von Andreas E. (andrease112)


Lesenswert?

Hey dieser Betrag iss cool lebt der Verfasser noch ?  Wie sieht das 
AVR109 Protokoll aus ?

von Εrnst B. (ernst)


Lesenswert?

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"

von Ingo S. (ingo-s)


Lesenswert?

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

von Oliver K. (kkpmo)


Lesenswert?

Hallo Ingo,

wo findet man den one wire bootloader Kasper Pedersen.

Klingt ja wirklich interessant

google hat mir nichts gebracht

Gruß

Oliver

von cdg (Gast)


Lesenswert?

Mit etwas Ausdauer bringt es auch Google.
http://tinyloader.kasperkp.dk/r13.zip

Project name         TinyLoader/B
;
;  Descripion           48-instruction one-wire boot
;                       loader for ATTiny13/24/45/85
;
;  Author               Kasper Pedersen
;
;  Contact              tinyloader@kasperkp.dk


Gruß cdg

von Ingo S. (ingo-s)


Lesenswert?

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

von kkpmo (Gast)


Lesenswert?

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

von Bernhard M. (boregard)


Lesenswert?

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...

von Rudi D. (rulixa)


Lesenswert?

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!

von Ingo S. (ingo-s)


Lesenswert?

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

von Oliver K. (kkpmo)


Lesenswert?

Hallo,

wenn jemand noch sucht
habe Tiny10 und Tiny13MMU in x_hundert an meinem Lager

Einzelstücke 1 Euro ab 20 Stück 0,80 Euro + Porto

Suche noch jemand der hilft den One Wire Bootloader 
Beitrag ""Bootloader" für ATTiny2313"


;
;  Descripion           48-instruction one-wire boot
;                       loader for ATTiny13/24/45/85

So zu erweitern das er auch mit dem neuen Tinys läuft. (5/10)

Grüße

Oliver

von cdg (Gast)


Lesenswert?

> Mit etwas Ausdauer bringt es auch Google.
> http://tinyloader.kasperkp.dk/r13.zip

Oben stehender Link ist nicht mehr verfügbar,
nachstehender funktioniert.

http://n1.taur.dk/tinyloader/r13.zip



cdg

von Mario G. (mario)


Lesenswert?

Wen das Thema Bootloader interessiert, schaut euch mal den Artikel
AVR Bootloader in C - eine einfache Anleitung an!

von MagOranna (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.