mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Batch file IAR


Autor: Michael U (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte automatisch beim kompilieren die derzeitige Uhrzeit in ein 
Headerfile speichern. Ich benutze die IAR embedded workbench und 
programmiere einen controller in C.
Meine Idee ist folgende:
Ich möchte ein BATCH file schreiben, dass mir die derzeitige Uhrzeit des 
Betriebssystems ausliest. Das Batchfile schreibt die Uhrzeit dann in das 
Headerfile welches sie erstellt wenn es nicht vorhanden ist. Wenn es 
vorhanden ist, wird es einfach überschrieben.
Das BATCH file soll aufgerufen werden, wenn man den MAKE knopf in der 
IAR workbench drückt. Zuerst soll dann also das batch file aufgerufen 
werden und dann sollen die c-files kompiliert werden.

Kann mir jemand helfen ein Batch file in die IAR workbench aufzunehmen, 
so dass das Batchfile an der richtigen Stelle aufgerufen wird?

Ich bin auch für weitere Ideen offen. Mein Ziel ist es lediglich die 
Uhrzeit von Windows in eine C-Header zu kopieren.

Ich freue mich auf eure Antworten.

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mglw. ist ein Ansatz mittels _TIME_ einfacher.

Autor: Michael U (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

wie meinst du das mit TIME ? Kannst du das vielleicht etwas genauer 
ausführen?

Gruß Micha

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gemeint ist das vordefinierte Makro __TIME__ (jeweils 2 Unterstricche 
vorn und hinten). Ist Teil des C-Standards und sollte in jedem 
anständigen C-Buch beschrieben sein.

From ANSI/ISO 9899-1990, American National Standard for Programming 
Languages - C

----

6.8.8 Predefined macro names

The following names shall be defined by the implementation:

__LINE__ The line number of the current source line (a decimal 
constant).

__FILE__ The presumed name of the source file (a character string 
literal).

__DATE__ The date of translation of the source file (a character 
string literal of the form "Mmm dd yyyy", where the names of the months 
are the same as those generated by the asctime function, and the first 
character of dd is a space character if the value is less than 10). If 
the date of translation is not available, an implementation-defined 
valid date shall be supplied.

__TIME__ The time of translation of the source file (a character 
string literal of the form "hh:mm:ss" as in the time generated by the 
asctime function). If the time of translation is not available, an 
implementation-defined valid time shall be supplied.

__STDC__ The decimal constant 1, intended to indicate a conforming 
implementation.

The values of the predefined macros (except for __LINE__ and 
__FILE__) remain constant throughout the translation unit.

None of these macro names, nor the identifier defined, shall be the 
subject of a #define or a #undef preprocessing directive. All predefined 
macro names shall begin with a leading underscore followed by an 
uppercase letter or a second underscore.

----

Annex G (informative) Portability Issues

G.2 Undefined behavior

-- One of the following identifiers is the subject of a #define or 
#undef preprocessing directive: defined, __LINE__, __FILE__, 
__DATE__, __TIME__, or __STDC__ (6.8.8).

G.3 Implementation-defined behavior

G.3.13 Preprocessing directives

-- The definitions for __DATE__ and __TIME__ when respectively, the 
date and time of translation are not available (6.8.8).

----

Autor: Michael U (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort. Das war genau das was ich gesucht hatte.

Gruß Michael

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt es vielleicht dennoch die Möglichkeit ein Batchfile zu schreiben 
und dieses dann beim kompilieren in der IAR auszuführen?

Gruß Micha

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.