Erweiterung/Änderung des ASF - elegante Lösung gesucht

OP #4598282
hallo zusammen,

da das ASF z.b. im sd_mmc & hsmci Modul nicht den vollen Funktionsumfang 
bietet, suche ich einen eleganten Weg dies nachzuimplementieren.

Info:
ASF Ver. 3.30.1
MCU: SAM4E

Speziell:
- Der SD Karten Befehl CMD10 (get CID) fehlt im ASF, durch das Ändern 
der Dateien sd_mmc.h/.c habe ich diesen nachimplementiert.

- Das HSMCI Modul arbeitet zwar mit dem PDC, jedoch bietet es keine 
Möglichkeit dieses im Interruptbetrieb zu nutzen.
Hierfür habe ich die hsmci.c angepasst.

Problem:
Bei einem ASF Update, würde mir das Atmel Studio diese Dateien 
überschreiben.

Wie geht man bei sowas am besten vor?
Ich dachte mir schon - eigene hsmci_ex.c Datei anlegen, in die die 
originale hsmci.c includen und dann erweiterte zusätzliche Fkt. 
implementieren...?!
Dabei muss jedoch die originale .c Datei aus dem Kompilevorgang entfernt 
werden.

Vllt. habt ihr eine Idee, oder wisst wie Atmel sich das gedacht hat.

Gruß
Adam
Gast #4598314
Entweder:

Eigene Version, am besten mit eigenen Funktionsnamen, separat speichern 
und warten.

Oder:

Mit einem Tool wie diff einen Patch zwischen original ASF-Code und 
eigenem Code erzeugen (gern über eine Versionsverwaltung mit Branches, 
diffs, etc.). Bei neuer ASF-Version tief Luft holen, drei Kreuze machen 
und den Patch auf die neue Version anwenden. Je nach Änderungen in der 
neuen Version ist das Ergebnis irgendwas zwischen wunderbar und 
katastrophal.

Dritte Version:

Outsourcen, also den Job einem Werkstudenten oder Hiwi überlassen, der 
das bei einer neuen Version irgendwie zurechtzubasteln hat.
Moderator Persönliche Seite #4598344
Jay schrieb:
> Mit einem Tool wie diff einen Patch zwischen original ASF-Code und
> eigenem Code erzeugen (gern über eine Versionsverwaltung mit Branches,
> diffs, etc.).

Schon zu CVS-Zeiten ließ sich sowas auch über vendor branches
halbwegs automatisieren, sollte auch mit aktuellen VCSen genauso
gehen.  Aktualisierungen gehen dann zuerst auf den Branch, von da
in die eigenen Quellen.  Das VCS kümmert sich darum, die eigenen
Ergänzungen beizubehalten.
OP #4598391
Ah... an die Lösung hab ich noch gar net gedacht.
Also sollte es z.B. mit "VisualSVN" und "TortoiseSVN" funktionieren?

Werd ich mir mal durch den Kopf gehen lassen.

Kann man solche Erweiterungen nicht auch an Atmel übermitteln?
Muss ja nicht sein, dass andere das Rad neu erfinden müssen, wenn sie 
vor dem gleichen Problem stehen - ASF unvollständig in der 
Funtionalität.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.