hmmm... das ist richtig... bin dafür =)
Druckbare Version
hmmm... das ist richtig... bin dafür =)
Hi der_andi,
Ok, ok, will mal nicht so sein. Du bekommst deinen "Nach dem compilieren flashen" Konfig-Switch... :) Wer es will schaltet das Feature ein, wer es nicht will eben nicht...
Der Auto-Makefile ist bereits in der Mache. Dadurch heissen in Zukunft die Hex-Dateien auch nicht immer test.hex sondern so wie eben das Projekt benannt wird Punkt Hex.
Aber was meinst Du mit "Per öffnen-Dialog Ausroflash zeigen wo das WinAVR-verzeichnis liegt beispielsweise...", ist mir nicht ganz deutlich was das bedeuten soll.
O.
ich würde das folgendermaßen verstehen: man klickt auf einen button ("compilerverzeichnis einstellen"). ein öffnen-dialog kommt auf den schirm. und in diesem muss man das winavr-verzeichnis bzw. eine bestimmte datei darin auswählen und "öffnen". und schon ist deinem flash tool das winavr verzeichnis bekannt, und alle wichtigen einstellungen können automatisiert werden =)
nachteil: funktioniert dann nur mit jeweils einem bestimmten kompiler, und auch nur wenn sich dessen ordnerstruktur nicht ändert.
vorteil: unglaublich einfache einstellung der pfade.
vielleicht sollten beide möglichkeiten offen gehalten werden ("für den standart-compiler hier klicken, für alle anderen hier klicken").
mal was anderes: wie siehts aus mit windows mobile (siehe oben)? ist sowas überhaupt möglich?
Hi damaltor,
für Windows Mobile brauch ich einen Emulator an den ich nicht so leicht rankommen kann. Ist aber eine interessante Idee, werd mal schaun was da möglich ist.
Die Geschichte mit dem Doppelcklick auf eine Fehlerzeile im Statusfenster sollte möglich sein (hui... ich hoffe ich kann mir alles merken was ich hier so locker verspreche).
Beim Auftreten von Fehlern sollte übrigens jetzt schon der erste Fehler automatich im Sourceeditor angezeigt werden. Funktioniert aber bei Deiner Version leider nur, wenn die aktuelle Unit geöffnet ist.
D.h. Ist der Fehler in test.c sollte das auch der aktive Tab sein, beim Ausführen von Make all. Dann wird der Cursor in die Zeile des Fehlers positioniert.
Ab der nächsten Version wird das erweitert auf alle im Projekt befindlichen Dateien.
O.
Hi damaltor,
in der kommenden Version muss nur noch der AVR-Pfad angepasst werden und die restlichen Skripte werden automatisch angepasst mittels enthaltener Variablen , also auch dass Makefile-Skript.
Für andere Kompiler muss auch ein anderes Make all, Make clean oder Makefile Script erstellt werden.
Im Moment verfolge ich die Strategie um alles was beim Kompilieren nötig ist in Variablen zu verfrachten, die dann flexibel in den Scripten verwendet werden können.
Das funktioniert bereits ganz gut in meiner aktuellen Version.
z.B.
AF_PRGDIR, AF_PROJECTNAME, AF_...
Dann muss auch nur eine Einstellung geändert werden um alle Scripte anzupassen.
O
na das klingt doch echt gut... eben eine eierlegende wollmilchsau. =)
Wer will darf testen, hoffe jetzt geht alles.
Schaut bitte in Help/Version history für neue Funktionen und gefixte Bugs.
Danke schonmal an die Tester.
Grüsse
O.
NB: Bei allen Dateien wieder .zip am Ende weglöschen, wie immer.
Moin
Ich muss ja als erstes nochmal sagen:
SUPER GENIALES PROGRAMM!
Das werde ich jetzt auf jeden Fall weiter benutzen. Hier trotzdem noch ne Anregung:
Wenn man auf eine Datei klickt und dann den Tab wechselt und zu der Datei zurück kehrt, ist der Cursor wieder in der 1. Zeile. Wäre ganz praktisch, wenn der wieder in der selben Zeile wäre wie vorher.
Sich verneigend
Andun
NACHTRAG:
Ähnliches gilt für das Terminal:
Wenn dort schon der Zeiger immer wieder auf die erste Zeile springt, dann sollte der Inhalt gelöscht werden vorher. Deswegen wäre es wohl doch sinnvoller den Inhalt einfach nach oben zu schieben bzw. den Cursor drunter zu setzten und dann kann man bei Bedarf hochscrollen zu der alten Unterhaltung.
Hey Andun,
na das freut mich aber. -- smile --
Werd mal schauen ob ich den Cursor in den Griff bekomme ;) und die Position bewahren.
Viel Spass noch und Gruß zurück,
O.
Hast du Code fetzen von den Publizierten Sourcen benutzt?Zitat:
Zitat von Osser
Hi wanderer,
nee, eigentlich hab ich nur das Protokoll abgeschaut, da dass ja nirgends beschrieben war.
O.
Ok, weil sonst bist du VERPFLICHTET den Code deines Programmes freizugeben, weil du GPL Lizensierten Code benutzt hast.Zitat:
Zitat von Osser
Werd mir das Programm in den nächsten Tagen auchma anschaun.
MfG
wanderer
ist das nicht eigentlich dann aber trotzdem eine grauzone.
dasist ja so, wie wenn ich jetzt das rad erfinde, mir das patentieren lass, und hernach jemand das rad neu erfindet, und dann behauptet, das er es selber erfunden habe.
(ja ich weis das das ein blödes beispiel ist)
ob man jetzt etwas "neu" erfindet, oder auf strg+c und strg+v drückt macht doch eigentlich keinen unterschied?
Wenn man Code klaut, dann ist was wahrhaftig eine Straftat. Die GPL ist sehr offen, nur man ist verpflichtet wenn man GPL Code benutzt, die Software die daraus entsteht zu veröffentlichen. (das ist übrigens einer der großen Unterschiede zur BSD Lizenz).
MfG
wanderer
Hallo Ihr zwei Philisophen,
es ist mir nicht ganz deutlich welches Problem Ihr mit dem Programm habt.
Die GPL verpflichtet den Nutzer der betreffenden Sourcen auch seine Sourcen in den Public Domain zu stellen. Und nicht etwa den Produzenten eines Textverarbeitungsprogrammes wie z.B. Word für Windows seine Sourcen zu veröffentlichen, da er das gleiche Prinzip (schreiben von Text auf einer virtuellen Oberfläche) verwendet wie ein Open Source Programm das vielleicht schon vorher existierte.
EDH, wer hat um Himmels willen ein Patent auf das Protokoll angemeldet? Wo steht dass? Wie kommst Du darauf?
Alles bisher erwähnte ist auch nur applikabel auf komerziell relevante Anwendungen/Programme. Hieraus ist dann auch gleich der Kasus erkenntlich, da die Software Gratis ist.
Wenn Ihr nicht einverstanden seid mit dieser Software, ist es euch freigestellt diese nicht zu nutzen. Meine Intension ist es den Nutzern ein einfaches Tool zur Verfügung zu stellen um einfach mit dem ASURO arbeiten zu können.
Sollten tatsächlich Patente o.ä. verletzt worden sein, werde ich natürlich direkt alle Sourcen vernichten und die Links hier löschen.
O.
Neeee es ging nicht Akut um deine Software. Mit meiner ersten Frage wollte ich nur sicherstellen das du keine Probleme kriegst später. Ich habe nur versucht EDH das Prinzip zu erklären, hatte keinen Bezug auf dich.Zitat:
Zitat von Osser
MfG
wanderer
von patenten auf dieses flash tool ist mir nix bekannt.
das mit dem rad war nur n beispiel.
servus !!
wirklich sehr gutes programm !! kompliment !!
kennt irgendwer ein flashtool mit dem man direkt die Infrarotschnittstelle des Laptops verwenden kann ??
weil es is ziemlich nervig immer des programm am stand-pc zu flashen (mei laptop hatt keinen serial port)
das ist nicht möglich. die ir-schnittstelle folgt einem protokoll namens IrDA, welches der asuro nicht kennt (davon abgesehn währe es etwas zu schnell für ihn =)
das lässt sich nicht umgehn.
thanks !!
muas i hoid weiterhin zwische stnad-pcund laptop pendeln.........
Hi Osser
sieht gut aus dein prog.
hab bei mir nur das Problem dass wenn ich compilieren möchte er mir folgendes ausgibt:
>Ready.
File saved.
Default make_all.cmd file created.
Default makefile created.
Make
D:\Asuro\Flash\Flashtool_neu\eigene>D:\WinAVR\util s\bin\make.exe all
Das System kann den angegebenen Pfad nicht finden.
ExitCode 1
was soll ich da machen.
mfg Hissi
du hast den compiler nicht im standartverzeichnis installiert, kann das sein? du musst in den einstellungen die verzeichnisse richtig einstellen.
was meinst du mit Standartverzeichnis
bei mir speichert es ihn von haus aus ins TEMP dann kopiere ich das Flashtool in nen ordner meiner wahl und zu was muss ich dann den AVR-Pfad eingeben *blödfrag*
mfg Hissi
die INSTALLATION des compilers ist scheinbar nicht in D:\WinAVR.
leider habe ich nur linux, kann deshalb grad das programm nicht testen. schreib mal ne pm an osser, er wird dir sagen können was du einstellen musst.
Hi Hissi,
Sorry für die verspätete Antwort.
Im Congig Fenster musst Du den AVR path richtig einstellen, da im Makefile dieses Verzeichnis benutzt wird (und auch im "make_all.cmd" Script).
Wenn das Verzeichniss nicht stimmt erhälst Du diesen Fehler.
Lösung:
1) Such bitte das Verzeichnis "WinAvr" auf deinem Rechner (steht meistens in c:\WinAvr oder d:\WinAvr). Wahrscheinlich ist es bei Dir C:\WinAvr
2) Schreibe exact dieses Verzeichnis in das Config-Fenster unter "AVR path"
(Du kannst auch den Directory Browseknopf dahinter drücken zum einfacheren Suchen)
3) Schliesse den Dialog mit OK
Probier jetzt nochmal den "Make All" Knopf.
O.
Hallo
ich hab kein Vertzeichniss WinAVR (benötige ich den AVR Compiler? hab ich zwar aber nicht im original Pfad)
mfg Hissi
ok... in welches verzeichnis hast du den compiler installiert?
Hissi,
Ja, Du brauchst den AVR Compiler.
Gib bitte im Config-Dialog Deinen WinAVR Basispfad ein, dann sollte es gehen.
Gruss,
O.
Hi,
habe eine Neue verbesserte Version eingestellt mit den folgenden Veränderungen:
1.1.4.29 07/02/05 OM NEW[x] BUG[x]
- Cursor stays where it was when tab is changed in Cpp IDE and in terminal
- Search and search replace uses current selection and rememebers term used
- FIX: Close tab cancel works now as expected
- NEW: Last project is opened automatically on starting the app if you confirm
- NEW: AF_ASM_SRC_FILES environment variable
- NEW: $(AF_PRGDIR)\include and $(AF_PRGDIR)\lib for default libraries and
includefiles added
- FIX: Dubble click on error/warning statusline shows up existing file and does
not open new one if char case does not match.
- NEW: Rudimentary auto open of a include file implemented; if you right click
on a include file and select open from the popup menu the file is opened
in place.
- NEW: Copy/Paste if you right clickon a selected code part
- NEW: Codefolding
Das Codefolding geht noch nicht ganz optimal, also schon mal SORRY im vorraus.
Die neue Version ist nötig für das Multitasking Project von mir im anderen Thread.
-- Have Fun --
Gruss,
O.
Hallo alle zusammen, und im Besonderen @Ulli,
sorry dass ich schon lange nix mehr gepostet habe. War leider ein bischen zu sehr mit meinen Projekten in der 'Maloche' beschäftigt, Kohle muss ja schliesslich auch ran für alle meine Spielereien.
Naja, finally I'm here again, quasi.
Whatever.
Ulli, Du hast mich gefragt ob es auch möglich ist relative Pfade zu definieren. Logitsch! Dass geht natürlitsch!
Wenn Du die aktuelle Version installierst, hast du folgende Möglichkeiten:
Möglichkeit #1
AF_PRGDIR wird beim starten des Buildvorganges(Make All) immer auf das aktuelle Programmverzeichnis gesetzt. Somit währe ein relativer Pfad in der Form "%AF_PRGDIR%\..\..\WinAvr" möglich wenn deine Installation in z.B. "C:\Programme\Asuroflash\" liegt.
Möglichkeit #2 (die professionellste Lösung)
Definiere eine Umgebungsvariable "WinAVR" mit dem Pfad der WinAVR Distribution und gebe diese dann im Pfad als %WinAVR% an. ==> jede Maschine(Computer) hat also ihre eigene WinAVR Umgebungsvariable und AsuroFlash benutzt eben diese.
Über die Include Zeile gesprochen; poste bitte Deinen Kode, dann kann ich Dir vielleicht weiterhelfen. Ein include "asuro.c" am Anfang der Datei erscheint mir seltsam.
Zitat "Bist Du darüber hinaus noch an weiteren Anregungen interessiert?"
aber immer doch... %-)
Gruss
O.
Hallo Osser,
vielen Dank für Deine Mühe.
Das Programm läuft jetzt auch mit relativen Pfaden. Für mich ist das eine große Hilfe, weil ich Dein Programm auf verschiedenen Rechnern nutze und von einem USB-Stick starte.
Leider gibt es immer noch Ärger mit dem Betriebssystem. Auf WinXP läuft (fast) alles wunderbar. Auf WinMe läuft das Programm, aber das Compilieren und das Reinigen von überflüssigen Dateien funktioniert nicht. Der Rechner hängt sich auf. Ich denke, irgendein Befehl im makefile bringt Me ins Rotieren, aber ich kenne mich da einfach zu wenig aus.
Mit einem weiteren Problem komme ich ebenfalls nicht zurecht:
Hier ein ganz einfaches (Programm-)Beispiel:
Bei Compilieren erhalte ich folgende Fehlermeldung:Code:#include "asuro.h"
int main(void) {
Init();
BackLED(ON,ON);
while (1);
return 0;
}
Wenn ich in die erste Programmzeile #include "asuro.c" schreibe, funktioniert das Compilieren. Ich benutze die alte Version 3.3.1, aber auch ein Testlauf mit einer neueren Version hat nix gebracht.Code:Session Environment Variables:
AF_AVRDIR=G:\Programme\Asuro\WinAVR\Compiler\
AF_PROJECT=Project1
AF_SOURCE_FILES=new.c
AF_ASM_SRC_FILES=
AF_PRGDIR=G:\Programme\Asuro\WinAVR
File new.c saved.
Default make_all.cmd file created.
Default makefile created.
Make
G:\Programme\Asuro\WinAVR\Test1>G:\Programme\Asuro\WinAVR\Compiler\\utils\bin\make.exe all
G:\Programme\Asuro\WinAVR\Compiler\\utils\bin\make.exe: *** Warning: File `makefile' has modification time in the future (2007-06-24 13:02:36 > 2007-06-24 13:02:34)
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.lst -IG:\Programme\Asuro\WinAVR\include new.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > new.d; \
[ -s new.d ] || rm -f new.d
make.exe: *** Warning: File `new.d' has modification time in the future (2007-06-24 13:02:38 > 2007-06-24 13:02:36)
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Size before:
Project1.elf :
section size addr
.text 1518 0
.data 0 8388704
.bss 1 8388704
.noinit 0 8388705
.eeprom 0 8454144
.stab 2808 0
.stabstr 1832 0
Total 6159
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.lst -IG:\Programme\Asuro\WinAVR\include new.c -o new.o
avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.o -IG:\Programme\Asuro\WinAVR\include new.o --output Project1.elf -Wl,-Map=Project1.map,--cref -IG:\Programme\Asuro\WinAVR\lib -lm
new.o(.text+0x8): In function `main':
G:\Programme\Asuro\WinAVR\Test1/new.c:5: undefined reference to `Init'
new.o(.text+0xe):G:\Programme\Asuro\WinAVR\Test1/new.c:6: undefined reference to `BackLED'
make.exe: *** [Project1.elf] Error 1
ExitCode 2
Ready.
Die Originalversion von Arexx, bei der sich das makefile bereits im Programmordner befindet und durch die Datei Test-all.bat gestartet wird, läuft.
Viele Grüße
Ulli
Hallo Osser,
manchmal ist das Brett größer als der Kopf dahinter.
Ich habe das Problem mit der Zeile #include "asuro.c" , das ich am 21.06.07 beschrieben habe, jetzt selber lösen können.
Ich habe mir das makefile, das von Deinem Programm generiert wird, noch einmal angesehen und mit dem Original von Arexx verglichen. Dabei ist mir aufgefallen, dass das Original die Asuro-lib asuro.c automatisch einbindet. In Deinem Programm muss man diese Datei zusammen mit dem eigenen Programm im Projektfenster anmelden (s. Bild am Ende dieses Beitrags). Macht man dies, lautet die erste Zeile im eigenen Programm wieder ganz normal #include "asuro.h" .
Das habe ich übersehen und im Projektfenster nur mein eigenes Programm aufgeführt.
Übrigens, der Pfad wird dort nur unvollständig angezeigt. Ein Verändern der Projektfenstergröße bringt nix. Nur beim Überstreichen mit der Maus ändert sich dies. Lässt sich dies korrigieren?
Gruß
Ulli
Hi Ulli,
yep, you are right! Dass ist der Grund für den Compilerfehler.
AsuroFlash erwartet dass alle C-Quelldataien inkl. Asuro.c im Projekt inkludiert sind. Beim Compilieren werden diese Dateien dann automatisch ins Makescript aufgenommen.
Well done :)
Deine Anregung (abgeschnittene Pfade) habe ich mir aufgeschrieben und werde dass in der nächsten Versionen mit beheben.
cu
O.
Hallo Osser,
super, dass Du das Programm noch weiter optimieren willst.
Ich hätte da noch ein paar "optische" Verbesserungswünsche:
Beim Terminalfenster gibt es nur die Option schwarzer Hintergrund - weiße Schrift. Längere Sitzungen verschwinden im oberen Bildrand auf Nimmerwiedersehen.
Ist es möglich, ein Scrollfenster mit verschiedenen Farboptionen einzubinden (z.B. weißer Hintergrund, gesendete Daten schwarz und empfangene Daten blau... o.ä.)?
Ähnliches wäre doch auch für das Oszi denkbar.
Viele Grüße
Ulli
Hi Osser,
hab mir auch mal dein Prog geladen - sieht echt spitze aus!
Hätte es sowas schon vor 2 Jahren gegeben, dann hätte ich nicht mit Proggen in Bascom angefangen... !!!
Aber ich hab da mal noch ein paar Fragen:
Meinem Asuro hats den orginalen µC erledigt, und ich nutze da nun einen stino (stink normalen) Mega8 von Reichelt, für den ich mir an meinem Asuro extra einen 6pol ISP Anschluß montiert habe, um ihn per ISP-Dongle zu flashen.
Ich nehme mal an, daß dein Flash tool nur mit dem Asuro Bootlader funzt? oder gehen da auch andere - welche? (dann würde ich mir sowas doch nochmal draufknallen)
PS: kann man sich so einen Bootlader einfach selbst proggen? gibts dafür ne Anleitung? (für andere Projekte außer Asuro)
hier gibts einen neuen bootloader für einen stino mega8, um wieder per ir flashen zu können:
http://home.planet.nl/~winko001/Asur...uBtlPagFrm.htm
per isp flashen, dann wieder mit ir.
@osser
kleines Problem? Warum komme ich beim make all nur bis hierhin?
Habe immer Fehlercode 2, der WinAVR-Path stimmt.
Gruß
Micha
Asuro Flash (Alias Eierlegendewollmilchsau) V1.1.5.30 (c) O.O. Müller 2006
User has admin rights.
Processor , OS WINXP
Hello Administrator on NDV08001, have fun :)
Session Environment Variables:
AF_AVRDIR=C:\WinAVR
AF_PROJECT=Project1
AF_SOURCE_FILES=
AF_ASM_SRC_FILES=
AF_PRGDIR=C:\Program Files\AsuroFlash
>Ready.
Flash file not found!
Session Environment Variables:
AF_AVRDIR=C:\WinAVR
AF_PROJECT=Project_linie1
AF_SOURCE_FILES=linienpid.c asuro.c
AF_ASM_SRC_FILES=
AF_PRGDIR=C:\Program Files\AsuroFlash
File asuro.c saved.
Default make_all.cmd file created.
Default makefile created.
Make
Y:\Asuro>C:\WinAVR\utils\bin\make.exe all
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst -IC:\Program Files\AsuroFlash\include asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
avr-gcc.exe: FilesAsuroFlashinclude: No such file or directory
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=linienpid.lst -IC:\Program Files\AsuroFlash\include linienpid.c -o linienpid.o
avr-gcc: cannot specify -o with -c or -S and multiple compilations
make.exe: *** [linienpid.o] Error 1
ExitCode 2
Ready.
ich glaube, es stört den compiler dass einige objeckt- einige ASM und einige C-dateien vorhanden sind. ich denke, das liegt am makefile. kann das sein?
Hi,
ich denke der Fehler kommt durch das Leerzeichen im Programm Pfad.
Pack da mal Anführungszeichen rum, oder kopiere die Quellen in ein Verzeichnis ohne Leerzeichen.
Code:AF_PRGDIR="C:\Program Files\AsuroFlash"
Okay,
ich habe jetzt den neuesten WINAVR. Im Programmers Notepad gibt es unter den Tools (sonst selbstgemachte makes und clears) jetzt Fertige.
Die funzen auf Anhieb.
Danke Allen für die Hilfen!