Soweit ich verstanden habe, müsste irgendwo im Programm stehen: ldi r16,99 ;99 ist der ausgelesene Wert für Osccal out OSCCAL,r16 ;diesen Wert in OSCCAL schreiben Wie würde man das für die Serienfertigung (mit Ponyprog etc) automatisieren? In der Serienfertigung hätte man doch nicht Zeit, jeden Chip auszulesen und mit einem Hexeditor, den gelesenen Wert in eine bestimmte Speicheradresse zu schreiben. Oder habe ich da was missverstanden?
Gast
#897971
Ja. Du laedst zuert mal ein kleines Programm, das den Wert fuer OSCCAL bestimmt. ZB ein Timer interrupt generiert ein Puls an einem pin, welcher als Frequenz gemessen wird, dann wird OSCCAL als konstante ins tatsaechliche Programm eingefuegt. Das wird dann als Zweites programmiert.
Ich habe es meist so gemacht:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
...
Gast
#898060
Ja. Genau. Und welcher wert steht an Flashend ? Wie kommt der dahin ?
3358 wrote:
> Ja. Genau. Und welcher wert steht an Flashend ? Wie kommt der dahin ?
Zu Fuß...
1 | |
2 | |
3 | |
Soll heißen: - Der Mensch, der vor dem Rechner sitzt, liest mit Hilfe einer Programmer-Software (die meist auf einem PC läuft) das Calibrations- byte aus dem Signature-Space (High-Byte, siehe Beschreibung des ISP-Programmierprotokolls im Datenblatt des AVRs) aus und merkt es sich, - er schreibt das gemerkte Byte in das vorletzte Byte des von Ponyprog angezeigten Hex-Dumpes oder mit anderen geeigneten Mitteln in die Hexdatei an Adresse RAMEND*2 Warum eigentlich die letzte Flash-Zelle? Weil ATMEL bei neuen AVRs das Calibrationsbyte auch in die letzte Flash-Zelle schreibt, und zwar in das H-Byte und L-Byte. Bei neuen AVRs (Serienfertigung) kann daher diese Prozedur entfallen. Man muss nur darauf achten, dass man beim Brennen den AVR nicht löscht. Denn dann war ATMELs Mühe für die Katz... ...
Gast
#898146
Hi Die Brennsoftware für die ATMEL-Programmer gestattet das Lesen des OSCAL-Wertes und das Speichern an einer Adresse im Flash oder EEPROM. MfG Spess
3358 wrote:
> Ja. Genau. Und welcher wert steht an Flashend ? Wie kommt der dahin ?
Den trägt Atmel dort ein.
Du must den Attiny15 programmieren ohne ihn vorher zu löschen, dann
klappt es.
Lies mal einen fabrikneuen Attiny15 aus, dann kannst Du es sehen.
Nach dem ersten Löschen ist es natürlich weg.
Peter
Peter Dannegger wrote: > 3358 wrote: >> Ja. Genau. Und welcher wert steht an Flashend ? Wie kommt der dahin ? > > Den trägt Atmel dort ein. > Du must den Attiny15 programmieren ohne ihn vorher zu löschen, dann > klappt es. > Lies mal einen fabrikneuen Attiny15 aus, dann kannst Du es sehen. > Nach dem ersten Löschen ist es natürlich weg. > > > Peter Habe es mal zu Testzwecken ausgelesen. Stimmt.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
