Genauer gesagt geht es darum, ob es hierfür schon ein gut dokumentiertes Projekt geht. Habe länger nach einem I2C Bootloader gesucht der dann nicht die Interrupts für I2C für sich beansprucht, wie es zum Beispiel der im Bootloader Artikel tut. Nun habe ich einen selbst geschrieben und bevor ich mir die Arbeit mache, alles ordentlich zu dokumentieren und online zu stellen möchte ich sicher gehen, dass nicht noch ein funktionsgleicher Bootloader im Umlauf ist. Der Bootloader ist "leider" in C geschrieben und belegt dadurch stolze 576bytes flash, dazu gibt es ein in C geschriebenes Update-Tool. Sollte auf jedem ATtiny mit USI laufen. Der PC Seitige I2C Code läuft aktuell mit einem Arduino und nur unter Linux/OSX, wird aber in jedem Fall noch für direkte Linux I2C-Schnitstellen erweitert. Gibt es was vergleichbares?
Richtig interessant wär das Update Tool wenns per SMBus (gibts auf jedem Mainboard) mit dem Tiny kommunizieren könnte.
Martin Wende schrieb: > Richtig interessant wär das Update Tool wenns per SMBus (gibts auf jedem > Mainboard) mit dem Tiny kommunizieren könnte. Ich bin mir nicht sicher, inwieweit ein SMBus anders ist als ein normaler I2C Bus. Zumal ich auch keinen Computer mit zugänglichem SMBus habe werde ich das wohl auch nicht in Betracht ziehen. Implementieren werde ich es in jedem Fall für ARMs mit Linux und I2C. Aber darum ging mein Post eigentlich nicht.
ah, glatt vergessen, der Timeout, SM-Bus muss Minimum 10kHz am CLK haben, sonst resettet das Interface.
Selbst wenn es einen solchen Bootloader geben sollte, du hast ihn nicht gefunden und wenn du deinen nun zur Verfügung stellst, dann freuen sich sicher einige (ich) hier. :-) Also: "Hau raus den Scheiß!" ... und nicht so zaghaft. Es werden dann sowieso wieder jede Menge "Gäste" alles besser wissen und können. Tolle Sache, mach das bitte öffentlich!
David Brandt schrieb: > Habe länger nach einem I2C Bootloader gesucht der dann nicht die > Interrupts für I2C für sich beansprucht, wie es zum Beispiel der im > Bootloader Artikel tut. Wo ist das Problem? Ein Bootloader mit Ints beansprucht diese Ints doch nur, solange der Bootloadercode aktiv ist. Wen zum Teufel stört das? Doch höchstens Leute, die nicht begriffen haben, daß es mehr als eine Interruptvektortabelle geben kann...
c-hater schrieb: > Wo ist das Problem? Ein Bootloader mit Ints beansprucht diese Ints doch > nur, solange der Bootloadercode aktiv ist. > > Wen zum Teufel stört das? Doch höchstens Leute, die nicht begriffen > haben, daß es mehr als eine Interruptvektortabelle geben kann... Für den nächsten mit starken defiziten in welchem Bereich auch immer: Es geht um ATtinys, die haben nur eine Interruptvektortabelle.
David Brandt schrieb: > Für den nächsten mit starken defiziten in welchem Bereich auch immer: > Es geht um ATtinys, die haben nur eine Interruptvektortabelle. Für die gibt es dann immer noch Funktionspointer, die dann trotzdem noch austauschbare ISRs ermöglichen würden. Aber selbst das ist nur die halbe Wahrheit. Tatsächlich ist doch auf der Protokollebene keine Unterscheidung zwischen Bootloader und App sinnvoll. I2C ist I2C. Sinnvoll wäre also, den gesamten I2C-Code (inclusive ISRs) zwischen Bootloader und App zu sharen. Umgeswitcht werden müssen nur die Funktionszeiger für die Ereignisse, die das Protokoll-Level verlassen. Kapierst du die Logik?
>Sinnvoll wäre also, den gesamten I2C-Code (inclusive ISRs) zwischen >Bootloader und App zu sharen. Umgeswitcht werden müssen nur die >Funktionszeiger für die Ereignisse, die das Protokoll-Level verlassen. Das ist ungefähr so sinnvoll wie ein zweites Loch im Arsch. Der Bootloader sollte nichts von der Applikation wissen und die Applikation nichts vom Bootloader. Alles andere ist Unsinn.
holger schrieb: >>Sinnvoll wäre also, den gesamten I2C-Code (inclusive ISRs) zwischen >>Bootloader und App zu sharen. Umgeswitcht werden müssen nur die >>Funktionszeiger für die Ereignisse, die das Protokoll-Level verlassen. > > Das ist ungefähr so sinnvoll wie ein zweites Loch im Arsch. > Der Bootloader sollte nichts von der Applikation wissen und > die Applikation nichts vom Bootloader. Alles andere ist Unsinn. Das sagst du, aber frag' mal einen geistig Gesunden.
Ich bin noch sehr weit weg von dem was ihr könnt und denke mir immer, wenn jemand sich Gedanken (und Arbeit) macht, dann muss doch was dran sein. Also, statt euch gegenseitig jetzt hier Post für Post an die Fresse zu hauen, entwickelt das doch weiter zusammen. Ich freue mich immer über fertige Lösungen. Nicht, damit ich das nicht selbst machen muss, sondern um aus lauffähigen Sachen zu lernen.
Warum kann so ein Bootloader nicht eine Art BIOS darstellen, das grundlegende Kommunikation abhandelt. Per fester Sprungleiste an seinem Anfang, die dann vom Anwendungsprogramm genutzt wird. Besonders auf Tiny's muß man doch mit jedem Byte knausern.
Bastler schrieb: > Warum kann so ein Bootloader nicht eine Art BIOS darstellen, das > grundlegende Kommunikation abhandelt. Per fester Sprungleiste an seinem > Anfang, die dann vom Anwendungsprogramm genutzt wird. Besonders auf > Tiny's muß man doch mit jedem Byte knausern. Deswegen ist der Gedanke ja auch sicher berechtigt.
Bastler schrieb: > Warum kann so ein Bootloader nicht eine Art BIOS darstellen, das > grundlegende Kommunikation abhandelt. Per fester Sprungleiste an seinem > Anfang, die dann vom Anwendungsprogramm genutzt wird. Besonders auf > Tiny's muß man doch mit jedem Byte knausern. Die Frage ist doch: Wird ein Bootloader kleiner, wenn er mit Interrupts arbeitet? Sicher kann man eine gemeinsame ISR nutzen, aber dafür braucht man wieder mehr Code und das Programm muss darauf angepasst werden. Und ich denke nicht, dass der Bootloader durch das nutzen von Interrupts viel kleiner wird, also warum sollte man das tun?
David Brandt schrieb: > Wird ein Bootloader kleiner, wenn er mit Interrupts arbeitet? Natürlich. David Brandt schrieb: > Und ich denke nicht, dass der Bootloader durch das nutzen von Interrupts > viel kleiner wird, also warum sollte man das tun? Die Frage ist vielmehr: Warum sollte man vorhandene, funktionierende und durchdachte Konzepte durch irgendwelche Schwachsinnsvorschläge in weniger funktionierende Umwandeln. Aber wir wissen ja: Hobbybastler sind IMMER, intelligenter, schlauer, gewieferter und besser als jeder der professionell auf dem Fachgebiet arbeitet. Aus diesem Grund werden sie auch weitläufig als dilettantisch und unbelehrbar gehandelt. Das ist übrigens auch der Grund warum Hobbybastler dieser Spezies nie irgendwas vernünftiges hinbekommen. Nie. Ein Hobbybastler der sich von beanntem Schwachsinn befreit hat kann sich nicht mehr Hobbybastler nennen. Nur hier sind Hobbybastler unterwegs - ganz viele ... Ehrlich sucht euch ne Freundin oder fragt jemanden der Ahnung hat von der Materie und nehmt den Ratschlag den er/sie euch gibt an. Das was bis jetzt hier steht ist erbärmlich niedrig.
Peter schrieb: > Die Frage ist vielmehr: Warum sollte man vorhandene, funktionierende und > durchdachte Konzepte durch irgendwelche Schwachsinnsvorschläge in > weniger funktionierende Umwandeln. Aber wir wissen ja: > > Hobbybastler sind IMMER, intelligenter, schlauer, gewieferter und besser > als jeder der professionell auf dem Fachgebiet arbeitet. Aus diesem > Grund werden sie auch weitläufig als dilettantisch und unbelehrbar > gehandelt. Das ist übrigens auch der Grund warum Hobbybastler dieser > Spezies nie irgendwas vernünftiges hinbekommen. Nie. Ein Hobbybastler > der sich von beanntem Schwachsinn befreit hat kann sich nicht mehr > Hobbybastler nennen. Nur hier sind Hobbybastler unterwegs - ganz viele > ... Ehrlich sucht euch ne Freundin oder fragt jemanden der Ahnung hat > von der Materie und nehmt den Ratschlag den er/sie euch gibt an. Das was > bis jetzt hier steht ist erbärmlich niedrig. Was Schwachsinn ist und ob die Idee Schwachsinn ist, das kann ich nicht beurteilen. Dazu weiß ich zu wenig von der Materie. Zwei Dinge stehen aber fest!!!! 1. - Solche Aussagen kommen immer von Namenlosen, von den Gästen. 2. - Sie haben keinen geeigneten eigenen Vorschlag und beleidigen nur.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.