Forum: Digitale Signalverarbeitung / DSP / Machine Learning Frage zur Falsh API F2812


von Stefan (Gast)


Lesenswert?

Hallo Forum,
ich beschäftige mich zur Zeit mit der FlashAPI von TI,
konnte sie bis jetzt auch sehr erfolgreich einbinden.
erase, program und verify sowie der toggletest funktionieren.
Nun weiß ich aber nicht wie ich mein Programm in den Flash schreibe,
ich kann ja nicht einfach die *.out Datei in ein array schreiben,
welches ich dann der Program-Funktion übergebe.

Kann mir da jemand einen Hinweis geben was genau ich in den Flash 
schreiben muss, bzw. wo ich da genauere Informationen zu finde...
Gruß Stefan

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Man muss sich dazu die Dokumentation von dem Dateiformat (TI .out) 
anschauen. In der Datei sind die Adressen, an die die Daten geschrieben 
werden müssen, mit reincodiert. Soweit ich weiß, ist eine .out Datei im 
COFF (Common Object File Format) codiert.

Wo man diese Doku bekommt, weiß ich gerade auch nicht.
Für das Intel Hex Format gibt es die Doku frei verfügbar, einfach mal 
googlen...

Vielleicht lässt sich ja auch .hex als Outputfileformat beim Linker 
einstellen, ich kann das jetzt gerade nicht ausprobieren.

Es gibt von TI auch noch das sogenannte TI-Textformat für Outputfiles. 
Das ist meines Wissens nach dokumentiert. Das ist beim MSP430 üblich, ob 
man das auch für den TMS320 erzeugen kann, weiß ich nicht.

Grüße,

Peter

von Honk (Gast)


Lesenswert?

Moin,

Du kannst das *.out-File in ein *.bin-Format bringen und dieses dann in 
ein Array schreiben. Es gibt im Netz entsprechende Tools, z.B. hex2bin. 
In den TI Code Generation Tools ist meines Wissens nach ein Tool, das 
das *.out-File in ein *.hex-File konvertiert.

Schöne Grüße

Honk

von Stefan (Gast)


Lesenswert?

Danke,
die Appnote über das coff-Format habe ich schon studiert,
hat mir aber nicht so wirklich weiter geholfen.

Hab jetzt aber das Hex Conversion Utility von TI gefunden,
damit wird es hoffentlich funktionieren...
Bin mir bloß noch nicht sicher ob ich dann das ASCII-Hex Format oder von 
TI(SDSMAC Ti-Tagged) brauche...

Gruß

von Tim R. (mugen)


Lesenswert?

Hallo!

Ich verfolge gespannt dieses Thema und hoffe auf eine Rückmeldungen, ob 
und wie es geklappt hat. Wäre echt toll. Danke

von Honk (Gast)


Lesenswert?

Hallo!

Ich denke, Du brauchst das ganz normale Intel-Hex-Format. Dieses 
speichert die Daten ja im ASCII-Zeichensatz.

http://de.wikipedia.org/wiki/Intel_HEX

Schöne Grüße

Honk

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Ich hab die Doku zum COFF von TI gefunden:

http://focus.ti.com/lit/an/spraao8/spraao8.pdf

Wenn ich mal etwas Zeit hab, werde ich versuchen, das an einem 
Beispielfile, das ich speziell dafür erzeuge, nachzuvollziehen.
Ich denke, dass es zwar deutlich aufwendiger als .hex ist, aber durchaus 
machbar.

Ich hätte nämlich auch gerne einen eigenen Bootloader...

von Honk (Gast)


Lesenswert?

Peter,

wozu die Mühe? Da TI ein Hex-Tool liefert, das aus einem *.out-File ein 
*.hex-File macht, würde ich aufgrund der einfacheren Behandlung das 
*.hex-File vorziehen. Und das *.hex-File enthält alle Informationen, die 
Du für einen Bootloader brauchst.

Schöne Grüße

Honk

von Jan (Gast)


Lesenswert?

1.) HEX-File automatisch generieren
Das TI-Tools "hex2000" lässt sich in den "Build-Options" eintragen:
"Final build steps"
Hier kann das Tool mit einem Command-File aufgerufen werden in dem 
Quelldatei, Zieldatei und Formatoptionen eingetragen werden. Das 
HEX-File kann so immer automatisch bei Compilieren erstellt werden.

2.) zur API:
Hier ist ein Link von ein paar Jungs, die ein schönes Tool programmiert 
haben:
http://www.code-skin.com/c2oooProg.html

Gruss, Jan

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.