Forum: Mikrocontroller und Digitale Elektronik Atmel Studio 6 - Umlaute in Dateinamen führt zu Fehler beim Simulator


von qaywsx (Gast)


Lesenswert?

Hallo

Ich habe gerade (beim Wiederauflegen eines alten AVR-Studio-4-Projekt) 
festgestellt, daß bei Atmel Studio 6 Umlaute in Dateinamen / 
Verzeichnisnamen zu einem Fehler beim Aufruf des Simulator führt. System 
ist Win7-64bit und das Jahr 2014...

Kann mir jemand dazu was sagen, warum das so ist und ob es dazu Patches 
/ Lösungen gibt? Ist das ein Microschrott-Problem oder ein Problem des 
Atmel-Studio? Mit dem (bis Anfang dieses Jahres von mir benutzten) alten 
AVR-Studio 4.x (unter Win-XP-32bit) hat es da nie Probleme gegeben.

Gruß+Danke
Michael

von Peter II (Gast)


Lesenswert?

qaywsx schrieb:
> Kann mir jemand dazu was sagen, warum das so ist und ob es dazu Patches
> / Lösungen gibt? Ist das ein Microschrott-Problem oder ein Problem des
> Atmel-Studio?

vermutlich weder noch.

Es wird das Linux zeug wie make und gcc dran schuld sein. Bzw. die Art 
der Verwendung.

von qaywsx (Gast)


Lesenswert?

Hallo Peter

Ist vll. auch eine Möglichkeit...

Aber beim alten Studio 4.x werden doch genau das gleiche (bzw. eine 
ältere Version desselben) GnuCC und Make usw. verwendet - dann auch noch 
mit der Toolbox WinAVR.

Ich möchte das bzgl. der Ursache auch nicht allzuweit treiben - ein 
Patch (der mich nach zwei Stunden Wahnsinn auf die Spur des 
Umlaut-Problem geführt hat) ist, die entsprechenden Projektverzeichnisse 
umzubennen (z.B. von "Laborgeräte" -> "Laborgeraete"). Aber besonders 
befriedigend ist das nicht.

Gruß
Micha

von Peter II (Gast)


Lesenswert?

qaywsx schrieb:
> Aber besonders
> befriedigend ist das nicht.

man könnte ja nach dem Fehler suchen, aber du sagst ja nicht mal was 
genau das Problem ist.

von qaywsx (Gast)


Lesenswert?

Noch ergänzend: Es ist ziemlich sicher ein Problem des Simulator / 
Debugger, der Compiler arbeitet einwandfrei.

von holger (Gast)


Lesenswert?

>Aber besonders befriedigend ist das nicht.

Das ist ja auch so schwer auf Umlaute zu verzichten.
Es war immer eine blöde Idee und es wird vermutlich noch
lange eine bleiben. Das gleiche gilt für Leerzeichen in
Datei/Vereichnisnamen. Man tut es einfach nicht.

von Thomas (kosmos)


Lesenswert?

ich hatte mal im 4er Studio die Assemblerversion gewechselt und dann 
gabs auch Probleme mit den Umlauten glaube das war aber im Programmcode 
das die Sprungmarken keine Umlaute mehr haben durften. Bei Ordnern und 
Dateinamen dürfte es schon immer Probleme gemacht haben.

von qaywsx (Gast)


Lesenswert?

Ok, nochmal etwas genauer:

* Verzeichnisname ohne Umlaut:

1) Atmel-Studio / Projekt aufrufen
2) C-File editieren + compilieren (Build...)
3) Simulator aufrufen (Start Debugging...)
4) Simulator startet, alles ok

* Verzeichnisname mit Umlaut:

1) + 2) wie gehabt, Compiler, Linker etc. alles ok, neues .elf-File etc. 
ist vorhanden
3) Simulator aufrufen (Start Debugging...)

=> Simulator startet nicht, Fehlermeldung (verkürzt):

"
Atmel Studio was unable to start your debugging session
StatusCode   131093
ModuleName   TCF ... Process launch failed
Unable to open ... \Laborgeäte\...\Dateiname.elf: Filename does not 
exist
"

Das .elf-File existiert jedoch genau dort, wo es hingehört.

von qaywsx (Gast)


Lesenswert?

Nicht sehr hilfreich... Und ich möchte eigentlich auch keine Diskussion 
auf Oberlehrerniveau, sondern gerne konstruktive Vermutungen oder im 
Idealfall eine Lösung (bitte mit Umlauten - das Jahr 2014 sollte uns und 
auch die Millionen an programmierenden Chinesen, Russen, Dänen usw. über 
die Frage nach Umlauten erhaben machen). Das alte Studio ging auch beim 
Debugger völlig problemlos mit Umlauten.

von Thomas (kosmos)


Lesenswert?

schreib es doch Atmel die kümmern sich drum, hatte auch schon einen Bug 
im 4er Studio gemeldet und es wurde behoben.

von ytrewq (Gast)


Lesenswert?

qaywsx schrieb:
> Unable to open ... \Laborgeäte\...\Dateiname.elf: Filename does not

Da stört sich Simulator wohl eher am fehlenden "r" ;-)

von qaywsx (Gast)


Lesenswert?

@ Thomas:

Ok, ich werde es nächste Woche tatsächlich mal bei Atmel reinschicken, 
mal schauen, ob die was dazu sagen.

Das mit dem Verzicht auf Umlaute ist für mich tatsächlich ein Problem, 
also in Bezug auf Projektdatenstrukturen und Konsistenz der 
Festplattenverzeichnisse usw.

@ ytrewq:

Das freche  r habe ich hier verschlampt - große Finger, kleine 
Laptoptastatur... ;-)

von holger (Gast)


Lesenswert?

>Das freche  r habe ich hier verschlampt - große Finger, kleine
>Laptoptastatur... ;-)

Fehlermeldungen tippt man nicht ab. Man kopiert sie.

>Das mit dem Verzicht auf Umlaute ist für mich tatsächlich ein Problem,

Du hast Probleme wo gar keine sind.

von Michael S. (captain-stone)


Lesenswert?

qaywsx schrieb:
[..]
> (bitte mit Umlauten - das Jahr 2014 sollte uns und
> auch die Millionen an programmierenden Chinesen, Russen, Dänen usw. über
> die Frage nach Umlauten erhaben machen). Das alte Studio ging auch beim
> Debugger völlig problemlos mit Umlauten.

Ich muss da meinen Kollegen von weiter oben recht geben. Der ASCII ist 
nun mal nur bis 127 definiert. Von 128 bis 255 (auch 'extended ASCII' 
bezeichnet) kocht jedes Land sein eigenes Süppchen. (Evolutionsbedingt 
nach der Umstellung auf 8 Bit). Und da liegen unsere Umlaute drinnen (im 
englisch z.B. nur Graphiksymbole).

Solange man nur selber auf seinem System Daten speichert, mag das auch 
ab ASCII 128 gut gehen. Sobald man Daten mit anderen Systemen oder 
Ländern tauschen möchte, ist es ratsam sich an die Regel zu halten, nur 
Werte bis ASCII 127 zu verwenden (und erst ab DEZ 33 zu beginnen, also 
keine Leerzeichen, das ist durch DEZ95 ein 'Underline' zu ersetzen).
Dann kann es jeder auf der Welt, auf jedem System ohne Fehler verwenden.

Das hat also nix mit dem Jahr 2014 (oder mit Oberlehrer) zu tun, sondern 
mit den Konventionen, nach denen wir heute immer noch arbeiten. Meines 
Wissens ist der ASCII immer noch der gültige Code.

von qaywsx (Gast)


Lesenswert?

Ähm, ja...

Die eigentliche Frage war, "...ob es dazu Patches / Lösungen gibt?" Das 
Verzichten auf Umlaute ist eine für mich nur sehr unbefriedigende Lösung 
aus verschiedensten Gründen - ich kann schlecht die 
Verzeichnisstrukturen der letzten zehn Jahre inkl. Backups etc. neu 
auflegen...

Das mit 7-bit-ASCII ist mir schon klar, aber ein ähnliches Problem ist 
mir seit WinXP (2005 oder so) nicht mehr untergekommen. Im alten AVR 
Studio 4.x war es auch keins.

Ich werde nächste Woche mal bei Atmel nachfragen, vll. kennen die das 
Problem und haben das im neuen AStu. (6.2) gelöst.

von Simon K. (simon) Benutzerseite


Lesenswert?

Michael Steinbauer schrieb:
> Das hat also nix mit dem Jahr 2014 (oder mit Oberlehrer) zu tun, sondern
> mit den Konventionen, nach denen wir heute immer noch arbeiten. Meines
> Wissens ist der ASCII immer noch der gültige Code.

Schonmal was von UTF gehört?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Michael Steinbauer schrieb:
> Das hat also nix mit dem Jahr 2014 (oder mit Oberlehrer) zu tun, sondern
> mit den Konventionen, nach denen wir heute immer noch arbeiten. Meines
> Wissens ist der ASCII immer noch der gültige Code.

NTFS (das übliche Dateisystem unter Windows) verwendet seit 1993 
Unicode, um Dateinamen zu speichern. Auch die mit Windows 95 
eingeführten sogenannten "langen Dateinamen" auf FAT tun das.

Normale Windows-Anwendungen verwenden einen 8-Bit-Zeichencode aus einer 
sogenannten Codepage, das ist üblicherweise CP1252 ("ANSI" bzw. 
ISO8859-1). Im Kommandozeilenfenster (hartnäckig fälschlich "DOS-Box" 
genannt) wird hingegen CP850 bzw. CP437 verwendet, das entspricht dem 
"erweiterten Zeichensatz" aus der DOS-Ära.

Windows selbst übersetzt Dateinamen aus Unicode in die jeweils aktive 
Codepage, so daß man sich als Programmierer nicht um deren Umcodierung 
kümmern muss.

Nein, ASCII ist nicht "der" gültige Code, sondern nur die 
kleinstmögliche aller Schnittmengen.

Und Software, die in diesem Jahrtausend geschrieben wurde, und nicht mit 
Umlauten oder Leerzeichen in Dateinamen und Pfaden klarkommt, ist 
fehlerhaft. Wir haben nicht mehr 1985.

von Michael S. (captain-stone)


Lesenswert?

qaywsx schrieb:

[..]
> ich kann schlecht die
> Verzeichnisstrukturen der letzten zehn Jahre inkl. Backups etc. neu
> auflegen...

Hast schon recht. Nicht umsonst gibt es viele Bemühungen, Umlaute 
nutzbar zu machen (sogar in URLs). Ich wollte nur den Hintergrund etwas 
beleuchten, warum das so schwer ist. Mir ist klar, dass man keinem User 
erklären kann, dass er bestimmte Tasten auf der Tastatur für Dateinamen 
nicht benutzen darf :-)

Und zurück zum Thema, lass hören, was Atmel dazu sagt. Interessiert mich 
jetzt auch.

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Und Software, die in diesem Jahrtausend geschrieben wurde, und nicht mit
> Umlauten oder Leerzeichen in Dateinamen und Pfaden klarkommt, ist
> fehlerhaft. Wir haben nicht mehr 1985.
 Mag sein, dass so etwas für Word nützlich sein kann, aber beim
 programmieren kann man bestimmt darauf verzichten.

holger schrieb:
> Das ist ja auch so schwer auf Umlaute zu verzichten.
> Es war immer eine blöde Idee und es wird vermutlich noch
> lange eine bleiben. Das gleiche gilt für Leerzeichen in
> Datei/Vereichnisnamen. Man tut es einfach nicht.
 Eben.
 Beim programmieren benutzt man Umlaute und Leerzeichen in Dateinamen
 ganz einfach nicht.
 Genauso blöd wie wenn man kyrillische Schrift benutzen würde.

von Nils S. (krumeltee) (Gast)


Lesenswert?

Marc Vesely schrieb:
> Beim programmieren benutzt man Umlaute und Leerzeichen in Dateinamen
>  ganz einfach nicht.
>  Genauso blöd wie wenn man kyrillische Schrift benutzen würde.

und von Sprungmarken mit Umlauten zu reden sollte man gar nicht erst 
anfangen.

von Michael S. (captain-stone)


Lesenswert?

Rufus Τ. Firefly schrieb:

> NTFS (das übliche Dateisystem unter Windows) verwendet seit 1993
> Unicode, um Dateinamen zu speichern. Auch die mit Windows 95
> eingeführten sogenannten "langen Dateinamen" auf FAT tun das.

Ja, genau. Unter Windows. Ich habe bei Wikipedia in der Übersicht 
nachgezählt. Es sind dort 104 Datei System aufgelistet, die nicht von 
der Firma Microsoft sind. Und es gibt weitaus mehr Betriebssysteme.


> Nein, ASCII ist nicht "der" gültige Code, sondern nur die
> kleinstmögliche aller Schnittmengen.

Bin ich ganz Deiner Meinung! Deswegen sollten wir uns daran halten, wenn 
wir systemübergreifend arbeiten.


> Und Software, die in diesem Jahrtausend geschrieben wurde, und nicht mit
> Umlauten oder Leerzeichen in Dateinamen und Pfaden klarkommt, ist
> fehlerhaft. Wir haben nicht mehr 1985.

Ich glaube wir hätten alle gerne zwischendurch mal einen klaren Schnitt, 
um neu beginnen zu können, wenn wir solche Bremsen oder unzeitgemäße 
Dinge entdecken. Aber das IT-System ist nun mal schon viele Jahrzehnte 
gewachsen und die Wurzeln gibt es schon noch, auch wenn Wurzeln nicht 
immer sichtbar unter der Erde stecken ;-)

: Bearbeitet durch User
von qaywsx (Gast)


Lesenswert?

@ Rufus:

Danke, irgendwie hatte ich sowas bzgl. CodeMapping auch im Kopf - ich 
habe zwar keine Ahnung, was da genau bei Windows abgeht, aber ich denke 
auch, daß moderne Programme da keine Probleme haben sollten - 
Gegenteil hat sich bei mir ja heute Abend leider erwiesen.

@ Michael S. / @ ALL:

URLs finde ich genau das richtige Beispiel - da funzt es ja auch seit 
fast 10 Jahren mit den Umlauten, auch bei den üblichen Unix/Linux 
basierten DomainNameServern etc. Und nochmal: Das alte AVR-Studio (4.x 
unter WinXP) hatte bei mir auch keinerlei Probleme, die entsprechenden 
Projektverzeichnisse benutze ich schon (mit Umlauten) seit ca. 2005

Ich hab jetzt erstmal den Patch mit ohne Umlaute (Ruhrdeutsch) gemacht, 
um weiterzukommen.

Wenn ich von Atmel Feddback bekomme, werde ich es hier posten - 
vielleicht weiß hier ja bis dahin auch noch jemand eine Lösung oder 
einen Lösungsansatz.

Danke erstmal für die (einigen) konstruktiven Beiträge, ich mach jetzt 
Feierabend.

von Michael S. (captain-stone)


Lesenswert?

qaywsx schrieb:

> Ich hab jetzt erstmal den Patch mit ohne Umlaute (Ruhrdeutsch) gemacht,
> um weiterzukommen.

Genau, so ist's recht :-) Da kommt schnell eine Diskussion in Gange (was 
ja gut ist), aber dadurch bekommst Du Dein Problem auch nicht gelöst. 
Berichte bitte weiter.

von Till (Gast)


Lesenswert?

Michael Steinbauer schrieb:
> ... aber dadurch bekommst Du Dein Problem auch nicht gelöst.

Du wolltest schreiben "... gelost"?

von Michael S. (captain-stone)


Lesenswert?

Till schrieb:
> Michael Steinbauer schrieb:
>> ... aber dadurch bekommst Du Dein Problem auch nicht gelöst.
>
> Du wolltest schreiben "... gelost"?

Haha :-) nein, wenn schon, dann 'geloest' ;-)

von holger (Gast)


Lesenswert?

>Wenn ich von Atmel Feddback bekomme, werde ich es hier posten -

Hahahahaha;)

>vielleicht weiß hier ja bis dahin auch noch jemand eine Lösung oder
>einen Lösungsansatz.

Benutze keine Umlaute. Das ist dein Patch.

von Peter II (Gast)


Lesenswert?

qaywsx schrieb:
> URLs finde ich genau das richtige Beispiel - da funzt es ja auch seit
> fast 10 Jahren mit den Umlauten, auch bei den üblichen Unix/Linux
> basierten DomainNameServern etc.

ja, aber nur weil dort keine umlaute verwendet werden.

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Michael Steinbauer schrieb:
>> Nein, ASCII ist nicht "der" gültige Code, sondern nur die
>> kleinstmögliche aller Schnittmengen.
> Bin ich ganz Deiner Meinung! Deswegen sollten wir uns daran halten, wenn
> wir systemübergreifend arbeiten.
Ist das die Sichtweise von Programmierern? Ich glaube: Ja.

Auf das Alltagsleben bezogen bedeutet das: Wir könnten uns zum Wohnen 
Löcher in Berge hauen und zum Heizen ein Feuer drin machen...

holger schrieb:
> Benutze keine Umlaute. Das ist dein Patch.
Und benutze kein Leerzeichen!

Ich sehe das inzwischen so:
Man müsste eigentlich jeden Morgen vor Dankbarkeit auf die Knie fallen, 
wenn der PC tatsächlich wieder mal zufällig durch das unglaubliche 
Dateigebastel durchgekommen ist und gebootet hat. Denn allein da ist 
schon so viel hingemurkst und drangepappt, dass man da jedesmal von 
Glück sprechen kann.

Dass ein Simulator dann irgendwelche Probleme mit Umlauten hat, 
relativiert sich dann schnell...

von Michael S. (captain-stone)


Lesenswert?

Lothar Miller schrieb:
> Man müsste eigentlich jeden Morgen vor Dankbarkeit auf die Knie fallen,
> wenn der PC tatsächlich wieder mal zufällig durch das unglaubliche
> Dateigebastel durchgekommen ist und gebootet hat. Denn allein da ist
> schon so viel hingemurkst und drangepappt, dass man da jedesmal von
> Glück sprechen kann.

Ja, Lothar, genau, das ist eigentlich das Dilemma. Die erreichte 
Komplexität lässt sich kaum noch 'handeln'. Darum hab ich oben gemeint, 
wir alle würde sicher gerne, mit dem jetzigen Wissen, nochmal von vorne 
anfangen.

Ist ungefähr so, wie mit dem Steuerrecht. Alles vom Tisch wischen und 
einfache, klare Strukturen schaffen. Geht aber nimmer - zu verflochten, 
zu sehr in die Gesellschaft integriert. Ab einer gewissen Komplexität 
ist ein System faktisch revolutionsbedürftig :-) Die Frage die sich 
dabei stellt, wann kollabiert so ein System von selbst?

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.