Forum: Mikrocontroller und Digitale Elektronik Atmel Studio ID programmieren


von Basti (Gast)


Lesenswert?

Moin,

ich habe ein (noch) Atmel Studio 6.2 Projekt mit einem ATTiny und möchte 
gern eine 8-Bit UID in eine Serie PCBs bringen. Starten soll es pro 
Serie immer mit 0 oder 1 und fortlaufend sein. Also irgendeine interne 
ID fällt aus.

Was ist eurer Meinung nach hierfür der schnellste Weg?

Ich hatte an ein CLI-Tool gedacht, dass Intel-Hex modifizieren kann. 
Dann schreibe ich mir ne Batch, die die Orginaldatei einließt und mir 
dann 100 oder auch 256 neue Hex-Files erstellt.
Um das recht aufwändige flashen komme ich wahrscheinlich nicht drum rum.

Ein weiterer Weg wäre evtl. mit make was zu schreiben. Stell ich mir 
aber irgendwie aufn Windows krampfig vor...

Gibts schon irgendwelche Ansätze an denen ich mich orientieren kann?

Danke

Basti

von Herbert (Gast)


Lesenswert?

Wenn es im Flash steht, ist es halt nach einem möglichen Update unter 
Umständen weg. Wenn du den Flash nicht bis auf die letzte Seite 
ausnutzt, könntest du die Nummer an die letzte Stelle schreiben. Oder 
(vielleicht besser, wenn vorhanden) ans letzte Byte des Bootloaders?
Oder gleich ins EEPROM. Flash wäre dann für jedes Gerät identisch.

von Basti (Gast)


Lesenswert?

Das ist nicht mein Problem. Die ID kann ruhig in den Programm-Flash
Aber wie generiere ich am schnellsten verschiedene HexFiles aus einem 
Projekt heraus?
Ich könnte das zwar in sicher unter einer Stunde auch manuell anlegen, 
aber bei der nächsten Softwareänderung fang ich von vorn an... Das kann 
nicht die Lösung sein.

VG

Basti

von Basti (Gast)


Lesenswert?

wenns noch wen interessiert...
hab es herausgefunden:
https://sebastianfoerster86.wordpress.com/2016/04/27/srecord-und-firmware-bins/
(für die Suche)

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.