Mr. AVR schrieb im Beitrag #5481197:
> ich habe jetzt den Fall, dass in einer Schaltung die ich ca. 100x bauen> werde (Soundmodule für die Modellbahn für die Vereinsanlage) ein SPI> Flash enthalten ist (AT45DB321). Der Prozessor ist ein ATtiny1614. Ich> habe keine Möglichkeit, den SPI Flash über den ATtiny1614 mit den 2MB> Soundfile zu beschreiben. Würde mir auch zum lange dauern bei der> Menge.
Das ist doch Schwachsinn. Wenn er es schnell genug lesen kann, um es
abzuspielen, kann er es auch mindestens genauso schnell beschreiben.
Da man beim Lesen aber üblicherweise nicht an die Grenzen geht, wird es
es sogar mindestens etwas schneller beschreiben können, wahrscheinlich
sogar sehr viel schneller. Theoretisch...
Praktisch wird eher die begrenzte Schreibgeschwindigkeit für das
Ziel-Flash ganz allgemein die Grenze darstellen und die kannst du auch
mit irgendeinem anderen Programmer nicht überwinden!
Dein Problem ist wohl nur: das Schreiben war nicht in der Wichsvorlage
enthalten, die du jetzt "dein" Programm nennst...
> Daher meine Frage: Gibt es einen Programmer für sowas, ähnlich wie die> ISP Programmer für die Atmels, wo man den SPI Chip einfach In-System> beschreiben kann?
Wahrscheinlich schon.
> Ich habe die ISP-Schnittstelle über ein Tag-COnnect> Cabel rausgeführt.
Du meinst: die SPI-Schnittstelle? Wenn ja: das allein reicht nicht. Wenn
du den SPI-Flash mit irgendwas anderem programmieren willst, mußt du
natürlich für diese Zeit den ATtiny im Reset-Zustand halten, damit der
externe Programmer den Bus kontrolliert und nicht dein ATtiny dazwischen
funkt.
c-hater schrieb:> Praktisch wird eher die begrenzte Schreibgeschwindigkeit für das> Ziel-Flash ganz allgemein die Grenze darstellen und die kannst du auch> mit irgendeinem anderen Programmer nicht überwinden!>> Dein Problem ist wohl nur: das Schreiben war nicht in der Wichsvorlage> enthalten, die du jetzt "dein" Programm nennst...
Was soll das du Pisskind? Ich habe alles selber geschrieben, in C, du
Opfer hast nicht mal verstanden was ich will. Es geht darum, eine
Audiodatei die ich erstellt habe, vom PC auf den Flash zu bekommen. Im
direkten Weg. Auf dem Tiny ist kein Platz mehr für einen Bootloader und
der hat keine Verbindung zur Außenwelt, außer DCC Informationen, das
würde locker 15-20 min dauern das über das Gleis zu senden. Außerdem
müsste ich mir einen Programmer bauen etc.. Abgesehen davon das der voll
ist der Tiny.
Ich will den Chip in system flashen mit meiner Audiodatei. Ansonsten
brauchst du H*Sohn mir nichts erzählen was wie im Reset gehalten werden
muss, das weiß ich selber.
Über die freundlichen Worte sehe ich jetzt einmal hinweg.
Hast du die AT45DB321 schon?
Wenn nicht, kannst du die auch bereits programmiert ordern.
http://www.segor.de/#Q=AT45DB321E-SHF&M=1
pegel schrieb:> Über die freundlichen Worte sehe ich jetzt einmal hinweg.>> Hast du die AT45DB321 schon?> Wenn nicht, kannst du die auch bereits programmiert ordern.>> http://www.segor.de/#Q=AT45DB321E-SHF&M=1
Danke für die vernünftigen Antworten. Was soll sowas Internetrambo mäßig
immer in Forum. Kopf gegen die Wand schlagen würde solchen Leuten besser
tuen als die Schnauze auf zu machen @c-hater.
Back to topic: Ich habe diese schon, ja. Außerdem sind es
unterschiedliche Files für Dampflok, Diesel, E-Lok. Ggf. würde ich mir
auch noch ein paar Anlagensounds etc.. erstellen, sodass ich gerne
flexibel wäre und die Datei updaten/ersetzen kann. Mal schauen was
unsere Bahner für Originalsounds einfangen können, dann könnte ich auch
spezifische Dateien machen.
Es wäre schon gut, es über Tag-Connect über den PC ähnlich einem
Mikrocontroller machen zu können.
Die einfachste Variante wäre, das Flash extern wie den AVR auch per SPI
zu beschreiben. Ein AVR ISP-Programmer wäre dazu von der Hardware her in
der Lage (ISP ist auch nichts anderes als SPI), aber seine Software ist
das Problem. Da musst Du eben ein FTDI MPSSE-Kabel
(http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_C232HM_MPSSE_CABLE.PDF)
oder etwas ähnliches nehmen.
Der Prozessor muss am Besten im Reset stehen, damit die IO-Pins
hochohmig sind und Du sie extern ansteuern kannst.
fchk
Dann ist der Programmer von oben doch schon geeignet.
Die Software dazu hatte ich schon mal gefunden und den link hier im
Forum angegeben.
Du musst eben nur wie schon geschrieben den ATTiny im Reset halten beim
flashen.
Wie wäre es mit selbst machen, also im wesentlichen wohl einen ATmega
dafür programmieren? Hinreichende Kenntnisse scheinen ja vorhanden, und
bevor man längere Zeit sucht, sich mit unsäglichen "Ratgebern"
herumärgert und dann endlich etwas hoffentlich Funktionierendes
beschafft?
Wenn man es selber machen will/muss. Ein AVR als Übrsetzer zwischen UART
und SPI, darüber eines der alten, einfachen Protokolle ala X-Modem oder
TFTP.
Ist aber nicht mal fix in 2h getan, das dauert eher ein ganzes
Wochenende und mehr.
@S. Landolt (Gast)
>Wie wäre es mit selbst machen,
Auch der Bastler ist gut beraten, wenn er das Rad nicht dauernd neu
erfindet und erstmal ausgiebig nach bestehenden Lösungen sucht. Selber
machen in praktisch IMMER deutlich aufändiger.
PS: Gerade vergessen: Dein AVR ist ja ein Microchip AVR, der per UPDI
programmiert wird. Daher bitte das "wie den AVR auch" streichen.
Du bräuchstest ein 10-poliges TagConnect Kabel.
GND
VTarget
AVR Reset
SPI CS
SPI SCK
SPI MISO
SPI MOSI
sind schon 7 Signale.
fchk
@ Mr. AVR (Gast)
>direkten Weg. Auf dem Tiny ist kein Platz mehr für einen Bootloader und>der hat keine Verbindung zur Außenwelt, außer DCC Informationen, das>würde locker 15-20 min dauern das über das Gleis zu senden.
Falscher Ansatz. Du brauchst eine separate Firmware + ggf. Soft-UART.
Dann mußt du nur ein paar Pins kontaktieren und kannst die Daten in den
Flash brennen.
Danach wird die normale Firmware in den AVR gebrannt.
an Falk Brunner:
Nix Rad neu erfinden, sondern eine schnelle und einfache Lösung
anstreben, welche jemandem, der offenbar Spaß an der ganzen Sache hat,
auch noch Erkenntnisgewinn bringt.
S. Landolt schrieb:> Wie wäre es mit selbst machen, also im wesentlichen wohl einen> ATmega> dafür programmieren? Hinreichende Kenntnisse scheinen ja vorhanden, und> bevor man längere Zeit sucht, sich mit unsäglichen "Ratgebern"> herumärgert und dann endlich etwas hoffentlich Funktionierendes> beschafft?
Ja ich glaube bald darauf läuft es wohl hinaus. Ich dachte aber einfach
ich habe so ein 2€ Gerät und bin fertig. Ich habe zwar bereits einen
Programmer mit dem meine Vereinskollegen die Software, also Firmware,
meiner Decoder updaten können, auch PC Terminal dafür. Das ist quasi ein
ISP-Programmer wenn man so will. Damit könnte ich das erweitern.
Frank K. schrieb:> PS: Gerade vergessen: Dein AVR ist ja ein Microchip AVR, der per> UPDI> programmiert wird. Daher bitte das "wie den AVR auch" streichen.>> Du bräuchstest ein 10-poliges TagConnect Kabel.>> GND> VTarget> AVR Reset> SPI CS> SPI SCK> SPI MISO> SPI MOSI>> sind schon 7 Signale.>> fchk
Ich habe nur das 6 polige. Das sollte reichen. Ich habe:
VCC, GND, MOSI, MISO, SCK, RESET. CS ist immer aktiv bei dem Teil, habe
nur einen SPI Verbraucher in der Schaltung. Der Tiny erkennt das
automatisch, wenn man versucht den Chip umzuprogrammieren und schaltet
SPI dann auf Z.
pegel schrieb:> Dann ist der Programmer von oben doch schon geeignet.> Die Software dazu hatte ich schon mal gefunden und den link hier im> Forum angegeben.> Du musst eben nur wie schon geschrieben den ATTiny im Reset halten beim> flashen.
Ich habe die Software auch gefunden, dort kann man aber nur die Atmel
25-Flash Serie auswählen, nicht die 45. Ich weiß nicht was das für einen
Unterschied macht, ich denke aber mal das Protokoll oder die Bänke
werden anderes sein. Wahrscheinlich bekomme ich dann die größe auch
nicht entsprechend geladen. Ich kenne die 25-Serie auch nicht.
Mr. AVR schrieb im Beitrag #5481271:
> pegel schrieb:> Dann ist der Programmer von oben doch schon geeignet.> Die Software dazu hatte ich schon mal gefunden und den link hier im> Forum angegeben.> Du musst eben nur wie schon geschrieben den ATTiny im Reset halten beim> flashen.>> Ich habe die Software auch gefunden, dort kann man aber nur die Atmel> 25-Flash Serie auswählen, nicht die 45. Ich weiß nicht was das für einen> Unterschied macht, ich denke aber mal das Protokoll oder die Bänke> werden anderes sein. Wahrscheinlich bekomme ich dann die größe auch> nicht entsprechend geladen. Ich kenne die 25-Serie auch nicht.
Naja der AT45 ist ein Dataflash. Hat ein paar Vorteile bei der
Programmierung, aber irgendwie überwiegend Nachteile. Das bekloppteste
finde ich die 264 Byte Page Größe und Adressieren dann in 512 Byte
Schritten...da kriegt man doch ne Meise. Kann man zwar umstellen, aber
muss man bei jedem machen und danach Power Cycle.
> eines der alten, einfachen Protokolle ala X-Modem
Ich würde es ohne Protokoll machen, einfach die
Übertragungsgeschwindigkeit dem Flashspeicher entsprechend anpassen.
> nicht mal fix in 2h getan
Zwei Stunden wohl nicht, aber ein halber Tag sollte doch reichen, oder?
Christian R. schrieb:> Mr. AVR schrieb im Beitrag #5481271:>> pegel schrieb:>> Dann ist der Programmer von oben doch schon geeignet.>> Die Software dazu hatte ich schon mal gefunden und den link hier im>> Forum angegeben.>> Du musst eben nur wie schon geschrieben den ATTiny im Reset halten beim>> flashen.>>>> Ich habe die Software auch gefunden, dort kann man aber nur die Atmel>> 25-Flash Serie auswählen, nicht die 45. Ich weiß nicht was das für einen>> Unterschied macht, ich denke aber mal das Protokoll oder die Bänke>> werden anderes sein. Wahrscheinlich bekomme ich dann die größe auch>> nicht entsprechend geladen. Ich kenne die 25-Serie auch nicht.>> Naja der AT45 ist ein Dataflash. Hat ein paar Vorteile bei der> Programmierung, aber irgendwie überwiegend Nachteile. Das bekloppteste> finde ich die 264 Byte Page Größe und Adressieren dann in 512 Byte> Schritten...da kriegt man doch ne Meise. Kann man zwar umstellen, aber> muss man bei jedem machen und danach Power Cycle.
Jop, ich weiß. Das fand ich auch schwachsinnig. Ich habe die schon mal
eingesetzt damals in einem Teil mit ESP. Da konnte ich den Inhalt vom PC
über WLAN updaten. Das hat aber auch ewig gedauert (4MB ca. 20 min). Als
Prozessor hatte ich damals einen Xmega genommen der den ESP und das
Flash steuerte. Aber weil ich da noch ordentlich viele von habe, dachte
ich daran die zu nutzen.
Bei dem AT25DF321A (wäre wohl Speichertechnisch wie AT45DB321) der ist
aber leider nicht 5V tolerant an den Eingängen.
@ S. Landolt (Gast)
>> nicht mal fix in 2h getan>Zwei Stunden wohl nicht, aber ein halber Tag sollte doch reichen, oder?
Na dann mach mal, du wirst stauen, wie lange auch solche scheinbar
einfachen Sachen manchmal dauern.
Hallo,
ich habe das vor Jahren mal mit einem Mega88 und AT45DB041 per X-Modem
gemacht, war auch eine Art Soundplayer.
Vorher spezielle Firmware draufschreiben und den Flash mit dem Tiny zu
programmieren wäre auch für mich durchaus ein Ansatz.
Wenn ich das jetzt und hier machen müßte und etliche/öfter zu
Programmieren hätte, würde ich vorhandenes nutzen und ein
"Programmiergerät basteln:
Wemos Di mini mit ESP8266 drauf. Warum? Teile vorhanden,
Entwicklungsumgebung vorhanden, SPI-Clock je nach geneuem Typ seines
Flashs bis 40MHz nutzbar, Seriell sollte ohne Probleme mit 1MBaud laufen
(921kBaud nutze ich hier ständig). CPU und Ram gut ausreichend um die
Software "einfach so" zusammenzuschreiben.
Problem im Moment: es scheint keine SPI-Flash-Library zu geben, die die
AT45DBxxx unterstützt, da müßte ich wohl in meinen alten AVR-ASM-Sourcen
Anleihe tätigen XModem scheint es als Lib zu geben.
Weiter gesponnen: ESP mit SD-Card dran und von dort die Flashs
beschrieben.
Kleines Display und Tasten dran, um das File auszuwählen und zu flashen.
Im Moment würde ich wohl sogar einen ESP32 nehmen, spiele ich ohnehin
grade mit rum und es gibt ausreichend I/O.
Könnte ich temporär glatt auf mein "Webradio" flashen, Touch-Display ist
da, SD-Card ist da, nur die Sachen für den AT45Db321 müßte ich
zusammmenschreiben.
Für mich wäre der Hauptvorteil: kein externer Rechner zum Flashen nötig,
nur die Files einmal auf eine SD-Karte. Wäre jetzt einmalig etwas mehr
Aufwand, dann aber eben wirklich nur Kabel zwischen "Programmer" und dem
Tiny-Modul anstecken und flashen.
Gruß aus Berlin
Michael
c-hater schrieb:> Mr. AVR schrieb im Beitrag #5481222:>>> Ich habe alles selber geschrieben, in C>> Ja, und im Himmel is' Jahrmarkt...
Was ist dein Problem? Weil du nichts kannst und nur mit Arduino
rumklickst?
Mal ehrlich jetzt? Soll ich dir den Code zusenden?
Das Programm "Ponyprog" kann mit einem einfachen Adapter SPI-EEproms
beschreiben:http://www.lancos.com/prog.html
@TO
Reg Dich nicht über ein Stück Dreck auf, laß es in der Gosse liegen.
@ Labertaschen-Dekoder (Gast)
>Das Programm "Ponyprog" kann mit einem einfachen Adapter SPI-EEproms>beschreiben:http://www.lancos.com/prog.html
Ja, aber nur kleine bis 64kB, keine großen Flashs. Von AT45??? ist dort
nix zu lesen.
Hatte vor kurzem ein ähnliches Problem..
Gelöst mit :
Dangerous Prototypes BusPirate und dem Programm flashrom..
Testpunkte mit Pogopins anfahren oder einen Stecker vorsehen..
Den Attiny am besten mit nem Jumper oder auch über den BusPirate im
Reset halten...
Wenn du Zugriff auf ein Xilinx USB Programmer Cable hast, kannst du auch
Impact dafür nehmen:
https://www.xilinx.com/support/documentation/sw_manuals/xilinx11/pim_p_configuring_spi.htm
Wird aber in den neueren Versionen nicht mehr unterstützt.
Mich wundert es dass es da nix schon mal für die FTDI MPSSE gibt. Ich
könnt das auch ab und an gut gebrauchen.
Werd ich wohl mal selber schreiben müssen.
Hallo, wir sind gerade in der Firma dran, so etwas in unseren
Programmieradaptern einzubauen, da der Bootloader über RS232 für die
hohen Stückzahlen einfach viel zu langsam ist.
Kommt für dich wahrscheinlich zu spät aber ich bin über ewige googeleien
auch hier gelandet...
Wir sind am Ende bei diesem schicken Teil hier gelandet:
https://www.embeddedcomputers.net/products/FlashcatUSB/
Vielleicht hilft es jemandem :)