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
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.
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
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.
>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.
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.
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.
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.
@ 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... ;-)
>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.
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.
Ä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.
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?
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.
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.
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.
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.
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 ;-)
@ 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.
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.
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' ;-)
>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.
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
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...
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?