PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Alternative zu Flashnnn.exe



Seiten : 1 [2]

Osser
18.11.2008, 20:52
Hi,

klingt sehr interresant, bin schon gespannt.

O.

hai1991
22.11.2008, 14:14
hallo osser

wo gibt es denn die neuste version zum download?

nach einer längeren pause (schulisch bedingt) wollte ich wieder anfangen mehr mit dem asuro zu programmieren

schon mal danke

Osser
24.11.2008, 11:27
Hi,

so, dass Update ist schon ziemlich weit gediehen.
Schreibe den Flash Part gerade um auf eine Treiberlogik, so dass fortan auch andere Bootloader leichter unterstützt werden können. Speziell für externe Flashtools wird die Anbindung verbessert, damit mehrere Konfigurationen verwaltbar und von euch selbst erstellt und gespeichert werden können. (Credits to ukuchel)

Habe auch mit robo.fr(http://www.e-robotix.de) vereinbart einen Flashtreiber für seinen Prozessor(Bootloader) zu schreiben, der Flaschen via IR und Bluetooth unterstützen wird.

Naja, es ist also noch einiges zu tun, also habt bitte noch etwas Geduld.

Gruss,

O.


|Hi hai1991,
|
|das Update ist noch in "Mache", gebe hier bescheid wenns soweit ist. Den |Link zum Download setze ich dann in die 1. Message dieses Threads und als |neue Message wie gehabt.
|
|
|Gruss,
|
|O.

Osser
03.12.2008, 11:46
Hi,

@pinsel120866
Den Fehler mit dem Flashtool myavr_progswitch.exe werd ich in dieser Release auch versuchen zu lösen.
Vielleicht kannst Du ja zwischenzeitlich mal testen ob myavr_progswitch.exe auf der Kommandozeile überhaupt funktioniert, dann kümmer ich mich um den Rest.
OK?


Gruss,

O.

pinsel120866
03.12.2008, 20:09
Hi osser,

ich habe in der DOS-Box folgenden Befehl abgesetzt:

myavr_progswitch -mp -b ir-abstand.hex

Dann ist das passiert:

myAVR ProgSwitch - Version 1.1 - www.myAVR.de

mySmartUSB an COM4 gefunden.
Programmier-Modus gestartet
Chip geloescht
schreibe 11488 Bytes: ....................... OK
Vergleiche: ....................... OK
Fertig.

C:\>


Es wird, wie du siehst, via USB-Kabel damit einwandfrei geflasht. Es wäre cool, wenn du dies einbauen könntest. Mein Bluetooth-Port verwendet COM6.

hai1991
10.12.2008, 18:10
hallo

ich habe ein kleines problem:
ich habe mir AsuroFlash v1.6.8.65 (1. beitrag) installiert und winAVR20081124rc3.

ich wollte es einfach nur testen, in dem ich das template-file compiliere. aber dann kommt bei mir folgende fehlermeldung:



>Session Environment Variables:
AF_AVRDIR=C:\ASURO\WinAVR-20081124rc3
AF_PROJECT=Project1
AF_SOURCE_FILES=new.c ..\lib_v280\lib\asuro.c
AF_ASM_SRC_FILES=
AF_PRGDIR=C:\ASURO\AsuroFlash
AF_PRJDIR=C:\ASURO\Test_AF
AF_ASURO_LIB_PATH=C:\ASURO\lib_v280\lib
File new.c saved.
File asuro.c saved.
File asuro.h saved.
>Default make_all.cmd file created.
>Default makefile created.
Make
C:\ASURO\Test_AF>C:\ASURO\WinAVR-20081124rc3\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=..\lib_v280\lib\asuro.lst -IC:\ASURO\AsuroFlash\include ..\lib_v280\lib\asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > ..\lib_v280\lib\asuro.d; \
[ -s ..\lib_v280\lib\asuro.d ] || rm -f ..\lib_v280\lib\asuro.d
0 [main] sh 1172 sync_with_child: child 4368(0x140) died before initialization with status code 0x0
ExitCode 259
>Ready.


habe ich da etwas falsch eingestellt, oder wo könnte das problem liegen?

kurz zur info:
mein programm


#include <asuro.h>

int main(void)
{

while (1)
{
}

while (1) {}
return 0;

}


der quellcode befindet sich in C:\ASURO\Test_AF und heißt neu.c
das projekt ist im selben ordner und heißt Project.aprj
winAVR ist im ordner C:\ASURO\WinAVR-20081124rc3
und die lib in C:\ASURO\lib_v280 (hier bin ich mir nicht sicher, ob ich den unterordner lib noch angeben muss, oder nicht. es funkionirt aber beide male nicht)

ich würde mich freuen, wenn mir bis freitag noch jemand helfen könnte, denn dan würde ich es in der schule brauchen

schon mal danke für die hoffentlich hilfreichen antworten

Osser
12.12.2008, 15:44
Hi,

Zitat: https://www.roboternetz.de/phpBB2/viewtopic.php?t=25249&postdays=0&postorder=asc&start=220


Schönen guten Abend Osser,

das mit dem
Zitat:

0 [main] sh 4480 sync_with_child: child 5512(0x124) died before initialization with status code 0x0

hab ich lösen können. Liegt an einer "alten" Mysys.dll
hier gibts die infos und die gepatchte Datei dazu
http://www.madwizard.org/electronics/articles/winavrvista

WinAVR hab ich jetzt schon auf D:\WinAVR installiert, sollte also auch kein Problem sein. In der Config ist auch D:\WinAVR eingetragen.
allerdings bekomm ich immernohc den
ExitCode 259 Traurig


das scheint sowas ähnliches zu sein wie bei Dir denke ich.


Hoffe das hilft.

Gruss

O.

hai1991
12.12.2008, 18:52
hallo osser

danke für die hilfe

nach längerem probieren habe ich es jetz geschafft

Osser
21.12.2008, 22:48
Hi @all,

die erste Beta Version ist fertig.
Auf der Seite http://secius.com/asuroflash/formmain.php könnt Ihr die Beta Version 1.7.9.86 runterladen (Die Download-Links stehen an der rechten Seite).


Die wichtigsten Neuerungen:
- AF basiert auf einem neuen Flashtreiberkonzept
- für externe Flasher kann ein Timeout angegeben werden, was das "Hängen" von AF verhindert
- alle Variablen stehen im externen Flasher zur Verfügung
- nach Abschluss der Beta Phase ist das Flashen via BlueTooth möglich (Blue Atmega32 Funk von E-Robotix.de vorrausgesetzt)
- die neue AsuroLib ist im Installerpaket enthalten



Flash well.... ;)


Gruss,

O.

ukuchel
22.12.2008, 22:06
Hallo Osser,
ich habe mir das Update runtergeladen und gleich mal getestet.
Die neuen Optionen sehen gut aus, aber leider gibt es schon das erste Problem.
Ich habe einen externen seriellen Programmer definiert. AF hat die Daten in der Datei ExtPrcs1.fls gespeichert. Dort steht dann zu lesen:


[SIA2.7.15.24]
[CONFIG]
Dispname="RS232 Flasher"
Driver="ExtPrcs.flx"
[PARAMSET]
ExtFlashCmdln="-p t2313 -c ponyser -P com1 -b 38400 -e -U flash:w:"%AF_HEXFILE%":a"
ExtFlashProgPath="AVRDude\avrdude.exe"
Timeout="20000"


Leider kann AF bei der Zeile ExtFlashCmdln nicht mit den geschachtelten "..."-Zeichen umgehen.
Die inneren "..."-Zeichen brauche ich, um das gerade compilierte hex-file mit der Variablen "%AF_HEXFILE%" zu übergeben.
Die äußeren "..."-Zeichen sind offensichtlich Standard bei der Zeile ExtFlashCmdln="...".
AF ruft bei der Auswahl des externen Flashers den Kommandozeilenparameter nicht korrekt auf, dort steht dann nur noch ":a".
Das Flashen funktioniert logischerweise so nicht.
Kannst Du das mal überprüfen?

Viele Grüße
Ulli

P.S. Nett, dass Du mich in der version history erwähnst. Aber 3 lll sind denn doch eins zuviel. :)

Osser
23.12.2008, 08:29
Hi ukuchel,


wenn ich nen FLS driver mit der Kommandozeile:
-p t2313 -c ponyser -P com1 -b 38400 -e -U flash:w:"%AF_HEXFILE%":a
definiere, wird mein FLS Script folgendermassen gespeichert


[SIA2.7.15.24]
[CONFIG]
Dispname="Extern Flasher FLS3"
Driver="ExtPrcs.flx"
[PARAMSET]
ExtFlashCmdln="-p m16 -P lpt1 -c stk200 -e -U flash:w:""%AF_HEXFILE%"":a"
ExtFlashProgPath="C:\test\Test.bat"
Timeout="20000"


Wie Du siehst tritt bei mir die Quote-Dopplung ein wie es auch sein soll, warum dass bei Dir nicht geht ist mir ein Rätsel :-k. Ich habe gesehen dass Dateinamen mit Leerzeichen noch Probleme machen, aber der Effekt den Du beschreibst tritt bei mir nicht auf.

[EDIT]Hab jetzt gesehen was das Problem verursacht. Das Ändern von FLS Einstellungen geht scheinbar schief. Wenn ich einen neuen FLS erstelle und die von Dir angegebenen Parameter eintrage geht alles. Verändere ich hingegen nochmal etwas und speichere die Einstellungen wieder mit [OK] geht's schief.



Ach ja, übrigens, die Namensänderung :-b werd ich auch mit "Debuggen".

Gruss,

O.

pinsel120866
23.12.2008, 09:39
Hallo Osser,

"nach Abschluss der Beta Phase ist das Flashen via BlueTooth möglich (Blue Atmega32 Funk von E-Robotix.de vorrausgesetzt) "

Heisst das, dass ich warten muss? Sorry für die Frage, aber das wollte ich wissen, bevor ich's teste.

ukuchel
23.12.2008, 22:13
Hallo Osser,
ich denke, ich habe das Problem gelöst.
Ich habe den Kommandozeilenparameter nicht per Hand eingetippt, sondern per drag&drop aus einer Textdatei übernommen.
Dabei habe ich aus versehen einen Absatz {CRLF} eingefügt. AF kann damit nicht umgehen und hat einen Fehler gemeldet, weil die Kommandozeile in zwei Teile aufgespalten war.
Mit einem Texteditor läßt sich das leicht kontrollieren und beheben ( {CRLF} einfach löschen).
Viele Grüße
Ulli

Osser
23.12.2008, 22:30
Hi pinsel120866,

soweit ich von robo.fr weis, ist das Flashen via BlueTooth noch nicht möglich, bzw. es geht halt noch nicht. Ich erhalte demnächst den Adapter um es auf meinem Asuro zu testen/optimieren.

Testen kannst Du natürlich schon, aber ob es geht steht halt in den Sternen.
Der Treiber beherscht auf jeden Fall das Protokoll für den E-Robotix Bootloader, was das Flashen überhaupt erst ermöglicht. BlueTooth erfordert aber einen etwas anderen bzw. robusteren Verbindungsaufbau, da der µC des BlueTooth PCB erst mal eine Verbindung mit dem DTE etablieren muss.
Da ich lediglich IrDA testen konnte, aber keine BlueTooth Kommunikation (mangels Blue Atmega32 PCB), ist der Treiber eben momentan noch in einem Beta Stadium.

Versuchs einfach mal, vielleicht gehts bei Dir ja doch.

Bin gespannt auf die Beta Berichte..... ;)

Gruss,

O.

Osser
23.12.2008, 22:58
Hi,

@ukuchel
Ok, werde alle CR/LF Zeichen automatisch entfernen in den Parametern des externen Flash Treibers, so dass keine Probleme mit Drag/Drop mehr auftreten.

Hab noch ne Frage an Dich. Ist das mit den FLS Konfigurationsskripten ok bzgl. der verschiedenen Prozessoren und Tools die Du verwendest?


O.

ukuchel
25.12.2008, 18:26
Hallo Osser,
ich finde die Idee mit den .fls Dateien sehr gut.
Das Einbinden und die Auswahl eines neuen Programmers ist einfach und übersichtlich.
Nachträgliches Ändern der Parameter ist kein Problem - der Name allerdings lässt sich hier nicht neu definieren.
Ich verwende AF inzwischen nur noch von einem USB-Stick mit dem Schalter /ADAP.
Alle neu definierten .flx Dateien werden im Unterordner ..\config automatisch gespeichert.
(Ist es möglich, AF auch hier nach den Standard-.flx-Dateien suchen zu lassen? Momentan schaut AF, so glaube ich zumindest, nur im AF-Programmordner nach.)
Per Texteditor kann hier zusätzlich zu den Parametern auch noch der Name von jedem Programmer verändert werden (s.o.).
Für mich persönlich ist das die perfekte Lösung. =D>
Vielleicht könntest Du dieses Konzept auch noch auf die Konfigurationsdateien .afcfg übertragen!?
Ich stelle mir das so vor:
Links von dem Konfigurations-Button (C++) erscheint ebenso wie neben dem Flash-Button ein Auswahlmenue.
Hier wird der Name der gerade aktuellen Konfiguration angezeigt.
Diese Konfiguration ist ja individuell auf jedes Projekt und die entsprechende Zielhardware abgestimmt.
Wählt man in dem oben genannten Auswahlmenue eine Konfiguration aus, so wird diese automatisch nachgeladen.
Bisher muss man das über den Button Load Config im Konfigurationsmenue erledigen. Das ist an sich nicht weiter problematisch, aber wesentlich komfortabler wäre es doch, wenn man neben dem aktuellen Programmer auch noch die aktuelle Konfiguration mit einem Blick (durch eine entsprechende Namensgebung) ablesen kann. Das geht im Moment nicht, man muss z.B. schon im Konfigurationsmenue nachsehen, welche Variablen momentan definiert sind.
Ist das möglich??

Noch einiges ist mir schon bei den Vorgängerversionen von AF aufgefallen.
Die gerade gültige .hex-Datei wird ebenfalls angezeigt. Leider ist das Textfenster so klein, dass man meist immer nur den Beginn des Programmpfades zu sehen bekommt, fast nie aber den Namen der .hex-Datei. Dazu muss man erst mit der Maus auf dieses Feld zeigen.
Wäre es nicht sinnvoller, dort nur den Dateinamen dort anzeigen zu lassen? Der Pfad erscheint ja automatisch, wenn man mit der Maus auf dieses Feld zeigt oder eine andere .hex-Datei nachlädt.

Ganz nett wäre es auch, wenn man die einzelnen Gruppen von Buttons (z.B. Search, Replace) dauerhaft umsortieren kann.
Momentan erscheint AF nach jedem Neustart in alter Formatierung. Jeder hat ja so seine Vorlieben, wo er die wichtigen Funktionsgruppen anordnen möchte.

Viele Grüße
Ulli

P.S. Ich habe inzwischen zwei weitere Programmer in Zusammenarbeit mit AF und AVRDude getestet.
Ein paralleler Programmer, der mit nur vier Widerständen auskommt, und ein USB-Programmer auf der Basis eines ATTiny2313.
Beide Programmer funktionieren bislang einwandfrei. Sobald die Tests abgeschlossen sind, berichte ich über die Beschaltung und die erforderlichen Parameter für AVRDude.

m.a.r.v.i.n
31.12.2008, 14:22
Hallo Osser,

ich habe ein paar Tests mit der neuen AsuroFlasher Beta gemacht. Allerdings mehr in Richtung AsuroLib. Ein paar "Kleinigkeiten" sind mir noch aufgefallen:

* 2-3 mal kam es vor das ein gespeichertes Projekt nach dem Laden keine Quellfiles enthielt. Allerdings kann ich den Fehler nicht 100% reproduzieren. Files neu adden und Projekt speichern hilft dann.
* Der Default-Installationspfad %ALLUSERSPROFILE% ist unter Vista und XP unsichtbar. Seine gespeicherten Projekte findet man daher nicht wieder. Vielleicht wäre es besser %USERPROFILE% oder %PUBLIC% zu verwenden.
* Einmal gab es beim compilen unter Vista32 eine Kernel Schutzverletzung. Erst nach Neustart der AsuroFlash IDE ging es wieder. Log-File ist beigefügt. Ließ sich bisher nicht mehr reproduzieren.
* WinAVR hat weiterhin Probleme mit dem Backslash im Dateipfaden, ebenso mit Leerzeichen. Vielleicht wäre es möglich in der Variable AF_SOURCE_FILES die einzelnen Files in Hochkommas zu setzen, oder prinzipiell alle Backslashes mit normalen Slahes zu ersetzen.

Als Anhang neben dem Logfile noch ein paar angepaßte Config Files für die AsuroLib (mega8 und mega168). Soweit möglich werden Files und Pfade in Hochkommas gesetzt. Damit klappt es auch mit Leerzeichen und Backslashes in Pfadangaben, allerdings nicht 100%, wg. AF_SOURCE_FILES s.o.

Osser
04.01.2009, 15:33
Hi,

@ukuchel:
"...Konfigurationswahl auf dem Toolbar..." Ich versuche das UI so aufgeräumt wie möglich zu halten, an sich ist dass aber ne gute Idee -- mal schaun.
"...Name der .hex-Datei.." Lass jetzt das Ende der Datei sehen, so siehst du den Namen dann besser.
"...Toolbars umsortieren..." Ähhh, ja, kann ich mal einbauen -- kostet aber etwas CPU-Zeit meinerseits ;) -- wird also noch etwas dauern.

@m.a.r.v.i.n:
Den von Dir beschriebenen Fehler mit den fehlerhaften Projektdateien hatte ich hier auch schon mal. Hab da was dran "geschraubt" und hofe das hilft jetzt.

Den Pfad %ALLUSERSPROFILE% habe ich gewählt, weil der seit WinNT unverändert existiert, %PUBLIC% existiert nur in Vista und %USERPROFILE% ändert sich mit jedem anderen Benutzer. Was eigene Projekte betrifft könnte ein anderer Ordner sinnvoll sein wie z.B. %APPDATA%\AsuroFlash\Projekte. Werde den demnächst mal einstellbar machen und "%APPDATA%\AsuroFlash\Projekte" als Standart vorgeben, ok?

Die beschriebene Kernel AV kann ich bis jetzt noch nicht reproduzieren.

In den Projektdateien '\' durch '/' ersetzen ist kein Problem, dass kommt mit der nächsten Version. Mit den Quotes (") siehts leider schlechter aus, da dann das Makefile nicht mehr geht und komplett umgeschrieben werden muss.
z.B. Make clean


.
.
.
# Target: clean project.
clean: begin clean_list finished end

clean_list :
.
.
.
$(REMOVE) $(TARGET).lnk
$(REMOVE) $(TARGET).lss
$(REMOVE) $(OBJ)
$(REMOVE) $(LST)
$(REMOVE) $(SRC:.c=.s)
$(REMOVE) $(SRC:.c=.d)
löscht alle source files, da nicht "$(SRC:.c=.s)" sondern "$(subst .c,.s,$(SRC))" verwendet werden muss mit Quotes. $(OBJ) und $(LST) ist dann auch falsch.
Schreib mal im Makefile in "SRC += $(AF_SOURCE_FILES)" testweise das folgende:
SRC += "new.c" "../../asuro.c"
Wenn Du jetzt make clear aufrufts, werden "new.c" und "../../asuro.c" gelöscht.
Oder mach ich hier nen grundlegenden Denkfehler?

Danke für die Configdateien, sind im nächsten Installer aufgenommen.

Gruss,

O.

pinsel120866
13.01.2009, 09:11
Hi osser,

ichhabe mir die AF Version 1.7.9.94 heruntergeladen und installiert. Weiters habe ich mir von e-robotix den ATMEGA32 Prozessor mit Bluetooth-Bootloader besorgt.

Nun habe ich festgestellt daß du irgendeine Beschränkung drin hast, ich kann nur kleine Files bis ca. 6K oder 100 Blöcke flashen, bei Grösseren kommt

"Hex file too large or adress error!!

Bitte erweitere die Flash-Grösse auf 16K und 300 Blöcke.

robo.fr
13.01.2009, 12:52
Bitte erweitere die Flash-Grösse auf 16K und 300 Blöcke.

Ein Atmega32 hat aber 32K. Vielleicht sollt man die übrig gebliebenen 15K auch gleich noch mittnehmen O:)

Gruß,
robo

Osser
13.01.2009, 17:27
Hi,

poste bitte die HEX-Datei hier, dann schau ich mir das mal an.


Gruss,

O.

cploj
15.01.2009, 19:48
hallo,
erstmal muß ich sagen das ich diese wollmilchsau total super finde. ich habe aber gleich mal eine frage dazu: von den meisten editoren bin ich gewohnt daß man, wenn man einen bereich selektiert hat und tab drückt den kompletten bereich verschiebt. hier ist das leider nicht so. es wird nur an der cursorposition verschoben. shift + tab macht leider kein tab zurück.

vll. kannst du das ja einbauen? oder gibts da irgend eine einstellung die ich noch nicht gefunden habe?

grüße,
christian

edit: btw, das flashen geht ja superschnell damit!

m.a.r.v.i.n
15.01.2009, 22:10
Hallo osser,


Werde den demnächst mal einstellbar machen und "%APPDATA%\AsuroFlash\Projekte" als Standart vorgeben, ok?

klingt vernünftig, einverstanden.


Die beschriebene Kernel AV kann ich bis jetzt noch nicht reproduzieren.

Den konnte ich auch nicht mehr reproduzieren, dann vergiß das erst mal.


löscht alle source files, da nicht "$(SRC:.c=.s)" sondern "$(subst .c,.s,$(SRC))" verwendet werden muss mit Quotes. $(OBJ) und $(LST) ist dann auch falsch.
Schreib mal im Makefile in "SRC += $(AF_SOURCE_FILES)" testweise das folgende:
SRC += "new.c" "../../asuro.c"
Wenn Du jetzt make clear aufrufts, werden "new.c" und "../../asuro.c" gelöscht.
Oder mach ich hier nen grundlegenden Denkfehler?

genau so ist, dann werden die Source Files gelöscht. Also lassen wir es besser so wie es ist.

pinsel120866
16.01.2009, 06:17
Hi Osser,

zwei Beispiele von hex-Files.

pinsel120866
29.01.2009, 07:10
Hi Osser,

ich möchte mal nachfragen ob es schon eine Verson gibt bei der ich den Speicherplatz meines Atmega32 voll nutzen kann?

ukuchel
04.02.2009, 15:09
Hallo Osser,
ich habe jetzt die neue Version von AF längere Zeit an verschieden Projekten und Controllern getestet ... und bin zu dem Ergebis gekommen, dass ich meinen Vorschlag (s.o.) immer noch sinnvoll finde:


Links von dem Konfigurations-Button (C++) erscheint ebenso wie neben dem Flash-Button ein Auswahlmenue.
Hier wird der Name der gerade aktuellen Konfiguration angezeigt.
Diese Konfiguration ist ja individuell auf jedes Projekt und die entsprechende Zielhardware abgestimmt.
Wählt man in dem oben genannten Auswahlmenue eine Konfiguration aus, so wird diese automatisch nachgeladen.
Bisher muss man das über den Button Load Config im Konfigurationsmenue erledigen. Das ist an sich nicht weiter problematisch, aber wesentlich komfortabler wäre es doch, wenn man neben dem aktuellen Programmer auch noch die aktuelle Konfiguration mit einem Blick (durch eine entsprechende Namensgebung) ablesen kann. Das geht im Moment nicht, man muss z.B. schon im Konfigurationsmenue nachsehen, welche Variablen momentan definiert sind.

Wenn Dir das zu unübersichtlich wird, könntest Du statt dessen das Auswahlmenue neben den Buttons Save Config und Load Config im Konfigurationsmenue C++ plazieren?!

Und noch eine Kleinigkeit:
Nach dem Löschen des Terminalfensters erscheint der Cursor nicht links oben am Anfang der Seite sondern irgendwo mittendrin...

Viele Grüße
Ulli

Osser
09.02.2009, 10:08
Hi

@pinsel120866
Das Speicherplatzlimit ist jetzt entfernt (V1.7.9.97) aber lt. robo.fr wird das proggi nicht komplett geflasht.
Kannst Du das vielleicht mal probieren obs bei Dir auch nicht geht?

@ukuchel
Danke für die Info Ulli.
Wegen der Konfiguration dachte ich selber an folgende Lösung. Im C++ Editor kann eine Auswahlbox aufgenommen werden die alle verfügbaren Konfigurationen anzeigt (also beinahe dein Vorschlag :)). Die momentan gewählte Konfiguration wird aktiviert/benutzt und zusätzlich im Projekt gespeichert. Beim Laden des Projekts wird diese Konfiguration dann auch wieder aktiviert/benutzt.
Auf die Art und Weise kann man immer sicher sein das das Projekt nach dem Laden die selbe HEX-Datei produziert. Des weiteren kannst Du deine Konfigurtion sehr leicht projektbezogen auswählen.
OK?


Gruss,

O.

ukuchel
09.02.2009, 15:08
Hallo Osser,
das hört sich sehr gut an.

Gruß
Ulli

orusa
10.02.2009, 04:59
hallo,
erstmal muß ich sagen das ich diese wollmilchsau total super finde. ...

grüße,
christian

edit: btw, das flashen geht ja superschnell damit!

Da möchte ich mich gerne anschließen. Bin echt begeistert! Komischerweise kam ich mit den Originaltools der Asuro-CD überhaupt nicht zurecht. Ich eigentlich schon, nur der Asuro nicht. Angeblich wurde alles fehlerfrei übersetzt (was kann man an den fertigen Beispielen auch schon falsch machen?) und auch mühsam geflashed, der Asuro wollte aber danach das jeweilige Programm trotzdem nicht ausführen.
Nach mehreren Versuchen hatte ich die Faxen dicke und suchte hier im Forum nach ähnlichen Problemen bzw. Lösungen. Dabei bin ich dann auf die eierlegende Wollmilchsau gestoßen. Runtergeladen, installiert und ausgeführt. Von da an gabs keine Probleme mehr. Funktioniert einfach super und ist dabei auch noch viel komfortabler zu bedienen.
Vielen Dank an Osser, der da ja wahnsinnig viel Arbeit reingesteckt hat.

Gruß
Günther

Osser
13.02.2009, 09:16
Zuviel des Lobes....
:oops:

pinsel120866
16.02.2009, 16:45
Hi Osser,

ich habe jetzt auch grössere Dateien Flashen können, das Problem ist jedoch dass das Programm nach dem Flashen nicht abläuft. Es kommt mir so vor, als ob der letzte Datensatz nicht gefasht wird.



Strart Page 0 End Page 139 occupies 9118BytesBulding RAM OK
Start Page 0 End Page 139 will occupy 9118Bytes
Try connecting ASURO -- Switch on ASURO now!.OK !
Flashing Firmware
Sending Page 0 of 139 CRC 31184 READ CRC 31184 flashed !
Sending Page 1 of 139 CRC 05097 READ CRC 05097 flashed !
Sending Page 2 of 139 CRC 56494 READ CRC 56494 flashed !
.
.
.
Sending Page 136 of 139 CRC 11406 READ CRC 11406 flashed !
Sending Page 137 of 139 CRC 05780 READ CRC 05780 flashed !
Sending Page 138 of 139 CRC 08330 READ CRC 08330 flashed !
ASURO ready to start

Mir kommt auch vor dass, je grösser das Flashfile ist, desto mehr Pages fehlerhaft geflasht werden, obwohl fehlerfreies Flashen angezeigt wird.

Kannst du dir das bitte nochmals ansehen?

Osser
17.02.2009, 22:40
Hi pinsel120866,


schau mir das demnächst mal an.


O.

inka
09.03.2009, 16:12
hi allerseits,

zuerst dank an osser für die arbeit an den erweiterungen des programms, welches ich schon länger verwendet habe...
frage: wenn ich den StandardAsuroFlasher verwende (passiert aber auch bei erstellten kopien) kann ich den COM-port nicht einstellen, der bleibt beim start von flashen auf com COM1, mein usb-flasher ist aber auf COM5! Wenn ich den e-robotix nimm, wird der asuro nicht gefunden...

Habe ich da was übersehen, wo man das einstellen kann? Die einstellung in "config" wird ignoriert...

gruß & dank

inka

robo.fr
10.03.2009, 07:36
Hallo inka,

in ASURO-Flash ist da wohl noch ein kleines Problem. Den COM-Port kannst Du zu Not im Config-File von ASURO Flash umstellen ( manuell editieren, die COM-Port Einstellung befindet sich relativ weit unten im File ).
Der E-Robotix Flasher geht nur mit den Prozessoren von E-Robotix.

Bester Gruß,
robo

inka
10.03.2009, 09:11
das hat jetzt funktioniert...

Osser
18.03.2009, 14:22
Hi,

Eben 'ne kurze Info zum Stand der Dinge in meiner momentanen Entwichlungsversion (also noch nicht online).

Das leidige COM-Port Problem hab ich denke ich gefunden; Beschäftige mich gerade mit einem ISP Flash-Treiber für AF; Die neuen Vorschläge zu AF, von euch, sind noch um zu setzen;

Zum Thema ISP:
Momentan ist eine Anbindung "in Mache" via seriellem Interface und einem selbst gebauten PCB, die parallele Variante (LPT) muss noch getestet werden. Beide Adapter sind lediglich zum "Bitwackeln" geeignet, besitzen also keinen µC. Die serielle Variante habe ich entsprechend dieser Schaltung realisiert http://s-huehn.de/elektronik/avr-prog/avr-prog.htm, da das leicht nach zu bauen ist. Hierfür ist dann aber auch eine gute alte serielle Schnittstelle (kein USB2COM Wandler!) nötig.
Die Frage ist jetzt, welche aktiven ISP Adapter ich unterstützen sollte oder besser ausgedrückt, welche aktiven Adapter benutzt Ihr (mit µC also)?


Gut, das wars erst mal zum Entwicklungsstand.

Freu mich schon auf zahlreiche Antworten.

Grüsse,

O.


PS. ach ja... das mit dem E-Robotix Treiber und den nicht geflashten letzten "Pages" hab ich auch beinahe im Griff.

damaltor
18.03.2009, 15:40
osser, der blaue button ist zum melden eines beitrages an die moderatoren. =) ich denke mal nicht dass dein post gelöscht werden soll, wir überlegen gerade an einer veränderung des buttons so dass dort "melden" o.ä. steht damit er leichter erkannt werden kann.

Osser
19.03.2009, 08:40
Hi damaltor,

ich drück halt gern mal wo drauf... :cheesy:

Dachte ich erhalt damit nen Link auf den Artikel in die Zwischenablage. War wohl nicht so :lol:

Gruss,

O.

Ceos
19.03.2009, 09:15
so n popup wie bei den buttons unterhalb der postings würde schon vollkommen reichen und n kleines ausrufezeichen in die mitte, für die warnwirkung

pinsel120866
19.03.2009, 10:57
Sag mal Osser,

gibt es schon etwas neues beim Flashen via Bluetooth?

Osser
26.03.2009, 14:57
Hi pinsel120866,

ich will demnächst eine neue Release zur Verfügung stellen um die leidingen Probleme mit den nicht erkannten COM-Ports zu beseitigen. Darin ist dann auch der Treiber angepasst für das Bluetooth flashen.
OK?

Gruss

O.

pinsel120866
26.03.2009, 20:11
Super, ich bin schon gespannt wie elegant du's gelöst hast.

Danke im voraus!

Osser
11.04.2009, 15:03
Hi,

von AF gibts mal wieder eine neue Release Version.
Leider konnte ich das Bluetooth flash Problem noch nicht lösen. Hab einige proggis übertragen, jetzt ohne fehlende letzte Page, aber es passiert nichts oder nicht was ich erwarte :-/.

Die Konfiguration (make all script; make clear script; make file; AvrPath; ..) wird jetzt automatisch mit dem Projekt gespeichert und wieder geladen. Auf die Art und Weise ist immer alles beieinander vereint in einem Projekt. Um eine andere Konfiguration zu wählen muss man nur aus den verfügbaren (bereits gespeicherten) Konfig-Templates wählen die jetzt im C++ Editor Fenster bei den make all/clean Knöppen steht.
http://www.secius.com/asuroflash/images/AFconfigcombo.png

Des weiteren hab ich auch noch eine Auskopplung des neuen ISP/PP/HVSP Flashers auf der AF Seite stehen http://www.secius.com/asuroflash. Der ist für die auf der Seite auch beschriebenen seriell oder parallel Dongles geeignet mit der Einschränkung dass es echte Ports sein müssen und keine fake USP Ports. Auf meinem Gigabyte Board war auch kein COM/LPT mehr rausgeführt, mit nem Pfostenstecker-DSUB25 von einem alten Rechner hab ich die dann wieder "aktiviert".
http://www.secius.com/asuroflash/images/AvrIsp_Win.png

Das Konzept ist recht einfach:
1) Dongle an COM oder LPT stecken
2) Den entsprechenden Port wählen
3) [Init] klicken
4) Eine HEX Datei laden
5) [Write flash] klicken
Das wars, da AvrIsp automatisch erkennt welcher µC am Dongle hängt und kein weiterer Konfigurationswahnsinn nötig ist -- also bis jetzt jedenfalls :)

Bis jetzt hab ich in die Signaturen für die folgenden Prozessoren aufgenommen:
AT90S1200, ATmega8535, ATmega32, ATmega168, ATmega8L

Ach ja, und für die "Tuning freaks" gibts auch noch einen Selektor wie schnell das Ganze gehen soll. Aber Vorsicht! Erst mal zur Probe Flashen und dann mit [Verify flash] checken obs auch funktioniert hat.

PP und HVSP dauert noch bis mein selbstgebauter STK500 Ersatz fertig ist. Dann werd ich das STK500 Protokoll aufnehmen, so dass das dann auch möglich ist.

Ok, das wars erstmal.
Freu mich schon auf euer Feedback.

Gruss,

O.

ukuchel
13.04.2009, 09:47
Hallo Osser,
die Speicherung der Konfiguration finde ich gut gelöst.
Leider wird der Name der aktuellen Konfiguration nach dem Compilieren in der Combo-Box gelöscht und dort nicht mehr angezeigt. Auch beim Laden eines Projektes bleibt die Box leer.
Ist das Absicht? Oder lässt sich das ändern?
Gruß
Ulli

pinsel120866
13.04.2009, 11:13
OK Osser,

ich hoffe du findest eine Lösung für das BT-Flash-Problem. Danke für deine Mühe!

ukuchel
13.04.2009, 11:54
Hallo Osser,
ich probiere gerade ein wenig mit Deinem FlashTool herum.
Ich habe einen ATTiny2313 in die Konfiguration eingebunden.
Scheinbar läuft auch alles:
Programmer und Controller werden erkannt,
Fuse und Lock Bits können ausgelesen werden.
Gleiches gilt für den Flash-Speicher. Er kann gelesen, verglichen, angezeigt und geschrieben werden.
Wenn ich aber den Flash-Speicher als hex-File speichere und anschließend diese Datei wieder lade und schreibe, dann tritt ein Fehler auf und nix geht mehr.
Den genauen Ablauf meines Tests kannst Du im folgenden Codefenster nachlesen.



The following processsors are configured in CpuSignatures.xml yet:
AT90S1200, ATmega8535, ATmega32, ATmega168, ATmega8L

See secius.com/asuroflash for detailed information
Connected and Ready.
Signature: 0x1E:91:0A:FF
- CPU name: ATtiny2313, 2KB Flash, 128Byte EEPROM
Calibration: 0x5E:5D:FF:FF
Lock bits: 0x00
-
Fuse bits: 0x0000209B
- CKSEL0; CKSEL1; CKSEL3; SUT0; CKDIV8; SPIEN;
Reading 2048 bytes...
Reading flash...
425 byte/sec
Comparing 2048 bytes...
Verifying flash...
426 byte/sec
Meta stream and flash is equal.
Writing 2048 bytes...
Erasing flash...
Writing flash...
321 byte/sec
Saved C:\Project1.hex
Loaded C:\Project1.hex; 2048bytes
Could not initialize interface class
Unknown error 0x80004005!


Das Project1.hex-File ist übrigens in Ordnung, mit AVRDude kann ich diese Datei in den ATTiny2313 flashen.

Gruß
Ulli

Osser
14.04.2009, 12:52
Hi pinsel120866, ukuchel,


@pinsel120866:
Hi, hab eine Mail an robo.fr geschickt ob er mir den Bootloader als HEX Datei schickt, so dass ich die Lock Bits des µC löschen kann und den Bootloader wieder flashen kann. Dann wäre ich im Stande die Daten die per Bluetooth geschrieben wurden via ISP zu verifizieren (also zu downloaden).
Hab leider seit 2 Wochen keine Antwort und mir sind dadurch die Hände gebunden, sorry.


@ukuchel:
Hi,
die aktuelle Konfigurationstemplate wird in der Projektdatei gespeichert --> hast Du das Projekt gespeichert?
Bei mir hat er die Combo beim Laden des Projekts wieder auf die eingestellte Konfiguration gestellt. Die Konfiguration muss aber auf jeden Fall in %allusersprofile%/AsuroFlash/Config stehen, sonst geht's nicht! Das Projekt speichert nämlich lediglich den Namen aber nicht etwa den Pfad!

AvrIsp scheint ein Problem mit CpuSignatures.xml zu haben, probiers mal mit der original Datei, wenns dann geht hast Du irgentwo einen Fehler beim ausfüllen der XML-Datei gemacht.
Schick mir doch mal die XML Datei, dann kann ich das checken.


Gruss,

O.

robo.fr
14.04.2009, 13:26
Hab leider seit 2 Wochen keine Antwort und mir sind dadurch die Hände gebunden, sorry.

Hi Osser,

ich will veruschen, den Verband an Deinen Händen etwas zu lockern O:)
Hier gibt's (http://www.hobby-roboter.de/forum/viewtopic.php?f=4&t=71) ein praktisches Programm, um den Speicherbereich des Atmega32 auszulesen.

Gruß,
robo.fr

Osser
14.04.2009, 13:41
Hi robo.fr,

schön, was von Dir zu hören! :)

Ähhhh, das ist jetzt sicher Scherzhaft gemeint oder?
Ich soll ein Testproggi flashen, um zu schauen wie der Speicher eines anderen Proggis aussieht, da ich Probleme habe Proggis zu flashen......
??????????

O.

hai1991
14.04.2009, 15:05
hallo osser

also ich muss schon sagen, du hast das wieder mal spitze gelöst.
jedoch habe ich ein kleiners problem:
ich verwende einen USB-Seriell adapter, da ich keinen seriellen anschluss am laptop habe. und jetzt kann ich den virtuellen anschluss nicht mehr auswählen (leere auswahlbox).

muss ich da etwas bestimmtes umstellen, oder übersehe ich da nur etwas? denn bei einer älteren version funktionierte das prima

Osser
14.04.2009, 16:05
Hi hai1991,

steht dein virtueller COM Port im Hardwareprofil, also unter

- Start/Einstellungen/System/
- Tab Hardware
- Hardwaremanager
- Ports (COM&LPT)

Ich zeige schlicht alle COM Ports an die dort, also "Ports (COM&LPT)", stehen.
Leider musste das für Vista überarbeitet werden und darum hab ich gleich die komplette Logik neu geschrieben. Wie ich in vielen Foren gelesen habe registrieren sich manche USB2SERIELL Wandler leider einfach irgentwo, statt in der genannten Sektion.

Ein Screenprint deines HW-Managers wäre nicht schlecht, dann seh ich besser was da ab geht.


Thanx,

O.

090414 20:23
Habs nochmal auf ner XP Maschine getestet mit einem USB2RS232 Wandler und den hat die Software erkannt. Auf meiner Vista Kiste werden die virtuellen Ports auch erkannt....
Poste mal den Screendump, dann kann ich vielleicht mehr erkennen.

hai1991
14.04.2009, 20:26
hallo Ossar

ich habe im Geräte-Manager nach gesehen, da ist mein converter unter "Anschlüsse (COM & LPT)" aufgelistet.
auch mit anderen programmen kann ich diesen auswählen (als COM15)
bei der neuen AsuroFlash version (ich hoffe es ist wirklich die neue, nicht dass wir hier das problem haben) offnet sich nur eine leere auswahlbox

ich weiß leider nicht wie man hier ein bild einfügt :oops:

robo.fr
14.04.2009, 22:20
schön, was von Dir zu hören! Smile
Ganz meinerseits \:D/


Ähhhh, das ist jetzt sicher Scherzhaft gemeint oder?
Ich soll ein Testproggi flashen, um zu schauen wie der Speicher eines anderen Proggis aussieht, da ich Probleme habe Proggis zu flashen......
??????????

Aber nein, kein Scherz. Das Programm sollte sich sehr gut verwenden lassen. Kleine Programme sollten sich ja von Deinem Programm flashen lassen. Nach dem Restart dürfte dann das kurze Speicherdumpprogramm funktionieren.
Wenn Du das Program mit einem Include-Array, welches im Flashspeicher liegen soll ( PROGMEM Directive ) in das Programm kompilierst, kannst Du das Array hinterher wieder auslesen. Als include File könntest Du z.B. den Bibeltext in Hexdaten verwandeln ( soweit die übrig gebliebenen 30KByte im Atmega8 halt reichen).
Eine andere Methode wäre eventuell auch, Asuroflash zum Test nach dem eigentlichen Programmcode noch ein paar Dummyseiten zu flashen ( bis die 32 K voll sind ) Danach kannst Du mit dem Dump-Programm sehen, was angekommen ist.

Bester Gruß,
robo

Gruß,
robo

Osser
15.04.2009, 15:21
Hi hai1991,

die neuste Version ist V1.7.10.99, das steht dann so in der Caption des Programms.

Du kannst auch dieses http://www.secius.com/asuroflash/download/AvrIsp_1_0_1_11.exe Proggi mal downloaden und starten. Stehen da alle COM-Ports drin?


Gruss,

O.

ukuchel
16.04.2009, 11:15
Hallo Osser,
ich bekomme die Sache mit mit der neuen ComboBox nicht hin.

Ich nutze AF von einem USB-Stick aus und starte AF mit dem Schalter /ADAP.

In einem Unterordner von AF mit dem Namen Config habe ich verschiedene Templates gespeichert, alle mit der Endung .afcfg. Wenn ich diese Templates über die Buttons change C++ configuration ... Load Config lade und anschließend das Projekt speichere, so wird das entsprechende Template in die Projektkonfigurationsdatei im Programmordner z.B. mit dem Namen Project1.afcfg eingebunden.
So weit, so gut.
Das Feld der ComboBox bleibt aber leer, der Name des ausgewählten Templates erscheint dort nicht. Erst wenn ich den Auswahlbutton der ComboBox betätige, erhalte ich ein Auswahlmenue mit allen von mir angelegten Templates, sie werden also im Prinzip von AF erkannt. Die Namen stehen allerdings in "Gänsefüßchen", also z.B. "Projekt Asuro.afcfg". Wähle ich ein Template aus, so wird es in der ComboBox zunächst auch blau unterlegt angezeigt. Speichere ich nun das Projekt, so verschwindet der Name aus der ComboBox, die Datei Project1.afcfg wird nicht entsprechend verändert.

Ganz um Gegensatz dazu funktioniert die ComboBox für die verschiedenen Programmieradapter ganz ausgezeichnet. Die zugehörigen .fls-Dateien befinden sich ebenfalls im Unterordner Config. Eine Änderung des Programmers wird mit einer Meldung, z.B. Selected flash driver is RS232 Programmer quittiert.

Ach ja, noch zwei Beobachtungen:
- Direkt nach dem Programmstart zeigt AF mir eines meiner Templates in der ComboBox an, diese Anzeige verschwindet aber sofort nach dem Laden eines Programmes.
- Verschiebe ich die Datei Project1.afcfg vom Programmordner in den Config-Ordner, so wird diese in der ComboBox ohne "Gänsefüßchen" angezeigt!?

Gruß Ulli

Osser
17.04.2009, 13:53
Hi Ulli,

mir scheint Du benutzt Leerzeichen in den Dateinamen der Konfigtemplates. Da ich nie Leerzeichen in Dateinamen benutze fiel mir dass wohl nicht auf.
Probier mal Versuchsweise bei einer Konfigdatei die Leerzeichen durch Unterstriche zu ersetzen und schau ob die dann beim Laden in der Combo steht.
Wenn das so ist und dann um den Dateinamen auch keine Anführungsstriche mehr stehen, ist dass das Problem. Das kann ich auch leicht fixen.


Gruss,

O.

hai1991
17.04.2009, 14:52
hallo osser


ich habe jetzt heraus gefunden, wo mein problem lag

in der schule verwenden wir auch die serielle schnittstelle. und auch dieses programm hat zuerst meine virtuelle nicht gefunden. dann hat mir der lehrer geraten, dass ich den com-port umstellen soll.
gesagt-getan. ich änderte ihn von COM15 auf COM2 und seit dem funktioniert alles einwandfrei.

danke für deine unterstützung

ukuchel
17.04.2009, 15:02
Hallo Osser,
Ich habe die Leerzeichen wegelassen, und ... es funktioniert:)
Wenn Du die Nutzung von Leerzeichen ermöglichen könntest, wäre das sicherlich (zumindest für mich) eine große Hilfe.
Bleibt noch das Problem mit Deinem Flash-Tool. Da bin ich noch am experimentieren, leider bislang ohne Erfolg.
Gruß Ulli

ukuchel
18.04.2009, 18:39
Hallo Osser,
ich habe eine neues (und altes) Problem.
Weiter oben in Thread wurde schon einmal die Fehlermeldung ExitCode 259 angesprochen.
Diese Fehlermeldung habe ich gelegentlich ebenfalls beim Compilieren erhalten. Meine Lösung bestand bislang darin, den Compiliervorgang ein zweites Mal durchzuführen, meist mit Erfolg.
Jetzt häufen sich diese Meldungen und ich habe das mal ein wenig näher unter die Lupe genommen.
AF meldet:
Remote process time out elapsed!
ExitCode 259
... und beendet scheinbar den Compiliervorgang.
Im Hintergrung arbeitet der Compiler aber fleißig weiter und erzeugt eine korrekte .hex-Datei. Diese lässt sich dann auch flashen. In einem Dateimanager kann man den laufenden Compiliervorgang beobachten obwohl AF schon längst eine Fehlermeldung ausgegeben hat.

Der ExitCode 259 steht für "No more data availible".
Meine Vermutung:
AF wartet auf Daten vom Compiler und verliert ziemlich schnell die Geduld, weil irgendeine TimeOut-Variable im Programm zu knapp bemessen ist.
Kann das sein???
Analoges passiert beim Löschen überflüssiger Dateien.

Gruß Ulli

P.S.
Hier ist noch einmal die vollständige Fehlermeldung:


Asuro Flash (Alias Eierlegendewollmilchsau) V1.7.10.99 (c) O.O. Müller 2009
User has admin rights.
Processor branding Intel(R) Pentium(R) M processor 1300MHz, OS WINXP
Hello Administrator on 2723-2FG, have fun :)

Selected flash driver is RS232 Programmer
>Session Environment Variables:
AF_AVRDIR=%AF_PRGDIR%\Compiler
AF_PROJECT=Project1
AF_SOURCE_FILES=
AF_ASM_SRC_FILES=
AF_PRGDIR=F:\Programme\Asuro\WinAVR
AF_PRJDIR=F:\Programme\Asuro\WinAVR
>Ready.
>Session Environment Variables:
AF_AVRDIR=F:\Programme\Asuro\WinAVR\Compiler
AF_PROJECT=Project1
AF_SOURCE_FILES=new.c wfl.c
AF_ASM_SRC_FILES=
AF_PRGDIR=F:\Programme\Asuro\WinAVR
AF_PRJDIR=C:\test
File new.c saved.
File wfl.c saved.
File wfl.h saved.
>Default make_all.cmd file created.
>Default makefile created.
Make
set -e; avr-gcc -MM -mmcu=attiny2313 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=wfl.lst -IF:\Programme\Asuro\WinAVR\include wfl.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > wfl.d; \
[ -s wfl.d ] || rm -f wfl.d
set -e; avr-gcc -MM -mmcu=attiny2313 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.lst -IF:\Programme\Asuro\WinAVR\include new.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > new.d; \
[ -s new.d ] || rm -f new.d
-------- begin --------
avr-gcc --version
avr-gcc (WinAVR 20081205) 4.3.2
Copyright (C) 2008 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 424 0
.debug_aranges 64 0
.debug_pubnames 158 0
.debug_info 1157 0
.debug_abbrev 403 0
.debug_line 859 0
.debug_frame 224 0
.debug_str 237 0
.debug_loc 192 0
Total 3718


avr-gcc -c -mmcu=attiny2313 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.lst -IF:\Programme\Asuro\WinAVR\include new.c -o new.o

Remote process time out elapsed!

C:\test>F:\Programme\Asuro\WinAVR\Compiler\utils\bin\make. exe all

ExitCode 259
>Ready.
Starting extern flasher
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x1e910a
avrdude.exe: erasing chip
avrdude.exe: reading input file "F:\Eigene Dateien\Eigene Programme\C++\Würfel\Würfel 1\Project1.hex"
avrdude.exe: input file F:\Eigene Dateien\Eigene Programme\C++\Würfel\Würfel 1\Project1.hex auto detected as Intel Hex
avrdude.exe: writing flash (424 bytes):

Writing | ################################################## | 100% 1.03s

avrdude.exe: 424 bytes of flash written
avrdude.exe: verifying flash memory against F:\Eigene Dateien\Eigene Programme\C++\Würfel\Würfel 1\Project1.hex:
avrdude.exe: load data flash data from input file F:\Eigene Dateien\Eigene Programme\C++\Würfel\Würfel 1\Project1.hex:
avrdude.exe: input file F:\Eigene Dateien\Eigene Programme\C++\Würfel\Würfel 1\Project1.hex auto detected as Intel Hex
avrdude.exe: input file F:\Eigene Dateien\Eigene Programme\C++\Würfel\Würfel 1\Project1.hex contains 424 bytes
avrdude.exe: readin
g on-chip flash data:

Reading | ################################################## | 100% 0.98s

avrdude.exe: verifying ...
avrdude.exe: 424 bytes of flash verified

avrdude.exe done. Thank you.



ExitCode 0

Osser
20.04.2009, 09:18
Hi ukuchel,

bzgl. deines letzten Posts: Bitte poste CpuSignatures.xml
Dann kann ich mal schaun ob die Datei i.O. ist.

bzgl. AF: Die Software benutzt einen Timeout von ca. 20sec, was eigentlich immer ausreichend sein sollte. Vielleicht ist da auch was anderes falsch gelaufen was zum Abbruch des Tasks führt.
Wie lange dauert denn der Kompiliervorgang ca.?


Gruss,

O.

ukuchel
20.04.2009, 10:41
Hallo Osser,
hier der Ausschnitt der CpuSignatures.xml



<Signature>
<CpuName>ATtiny2313</CpuName>
<CpuType>actATtiny2313</CpuType>
<Sig byte1="0x1E" byte2="0x91" byte3="0x0A" byte4="0x00"></Sig>
<FlashOpt EraseBeforeFlash="1"></FlashOpt>
<MemSize Flash="0x0800" EEPROM="128"></MemSize>
<PageSize Flash="32" EEPROM="4"></PageSize>
<PageNo Flash="64" EEPROM="32"></PageNo>
<LocksLow>
<Lock Bit="7" Default="1" Name="NDEF"></Lock>
<Lock Bit="6" Default="1" Name="NDEF"></Lock>
<Lock Bit="5" Default="1" Name="NDEF"></Lock>
<Lock Bit="4" Default="1" Name="NDEF"></Lock>
<Lock Bit="3" Default="1" Name="NDEF"></Lock>
<Lock Bit="2" Default="1" Name="NDEF"></Lock>
<Lock Bit="1" Default="1" Name="LB2"></Lock>
<Lock Bit="0" Default="1" Name="LB1"></Lock>
</LocksLow>
<FusesLow>
<Fuse Bit="7" Default="0" Name="CKDIV8"></Fuse>
<Fuse Bit="6" Default="1" Name="CKOUT"></Fuse>
<Fuse Bit="5" Default="1" Name="SUT1"></Fuse>
<Fuse Bit="4" Default="0" Name="SUT0"></Fuse>
<Fuse Bit="3" Default="0" Name="CKSEL3"></Fuse>
<Fuse Bit="2" Default="0" Name="CKSEL2"></Fuse>
<Fuse Bit="1" Default="1" Name="CKSEL1"></Fuse>
<Fuse Bit="0" Default="0" Name="CKSEL0"></Fuse>
</FusesLow>
<FusesHigh>
<Fuse Bit="7" Default="1" Name="DWEN"></Fuse>
<Fuse Bit="6" Default="1" Name="EESAVE"></Fuse>
<Fuse Bit="5" Default="0" Name="SPIEN" HVProgOnly="1"></Fuse>
<Fuse Bit="4" Default="1" Name="WDTON"></Fuse>
<Fuse Bit="3" Default="1" Name="BODLEVEL2"></Fuse>
<Fuse Bit="2" Default="1" Name="BODLEVEL1"></Fuse>
<Fuse Bit="1" Default="1" Name="BODLEVEL0"></Fuse>
<Fuse Bit="0" Default="1" Name="RSTDISBL"></Fuse>
</FusesHigh>
</Signature>


Ich habe die Zeiten beim Compilieren gerade mal nachgemessen.
AF bricht nach 23 Sekunden ab, das Compilieren dauert je nach Programm mal etwas weniger oder etwas mehr. Damit ist auch klar, warum AF manchmal sein o.k. gibt und manchmal eine Fehlermeldung anzeigt. Das kann auch schon mal bei ein und demselben Programm passieren.
Die Ursache des Problems ist offensichtlich der langsame Speicherzugriff auf den USB-Stick.

Kannst Du die TimeOut-Zeit raufsetzen (z.B. 40s) oder besser noch verfügbar machen? Um zu signalisieren, dass etwas passiert und AF nicht abgestürzt ist, könnte doch während der Wartezeit wie beim Flashen des Asuro jede Sekunde ein Punkt ausgegeben werden.

Gruß
Ulli

Ceos
20.04.2009, 10:50
den effekt habe ich in letzter zeit auch auf meinen laptop (allerdings ohne USB stick) wenn ich im avr studio rebuild aufrufe dauert es extrem lange ... vielleicht hast du dasselbe problem und irgendwer der das hier liest zufällig ne lösung :p

warum startest du den compiler eigentlich asynchron ? ich geb zu mein java ist in der beziehung eingerostet, aber müsste das nicht auch synchron aufrufbar sein ? der returncode des compiler ist doch dokumentiert

Osser
20.04.2009, 11:29
Hi Ulli, Ceos,

@ukuchel:
Danke für die Datei, schau mir das heut Abend mal an.

@Ceos:
Eine synchrone Ausführung ist nicht möglich, da der Compiler, WinAvr also, in einem eigenen Prozess läuft und somit nicht synchron im selben Thread/Prozess ausführbar ist.
Wie der Build Prozess in AvrStudio umgesetzt ist weiss ich leider nicht, lediglich für AF kann ich das beantworten, sorry.


Gruss,

O.

Ceos
20.04.2009, 12:28
ja gut ich rede hier aus C++(winavr) heraus aber wenn ich per execute ein programm starte, wartet die ausführung des programm selber auf das beenden des aufgebruefnen programm (sie arbeiten immernoch in getrennten threads, aber synchronisieren sich sozusagen beim beenden)

ich meinte das also nicht threadsynchron nur halt blocked oder so ... ich schau grad mal in die API vielleicht find cih was


oder moment ... was meinst du mit winarvr läuft parallel ?

ich dacht du führst nur den makebefehl mit den passenden parametern aus ?

trotzdem würde mich mal interessieren warum der scheinbar nicht nur bei mir manchmal ewig lange braucht zum compilen

EDIT: *Nachschieb*


Process P = null;
try {
P = Runtime.getRuntime().exec("blablabla");
P.waitFor(); // Veranlasst den aktuellen Thread bis zur Terminierung des Prozesses anzuhalten
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


Problem dabei ist ausschliesslich, dass deine GUI und alles solange einfriert bis das übersetzen beendet ist

Osser
20.04.2009, 13:38
Hi Ceos,



Problem dabei ist ausschliesslich, dass deine GUI und alles solange einfriert bis das übersetzen beendet ist


Richtig, Du hast Dir die Frage selbst beantwortet ... deshalb auch der Timeout.


Gruss,

O.

Ceos
20.04.2009, 13:47
naja lieber die GUI frieren lassen (so ists in WinAVR auch) als ungültige eingaben vom user haben oder in ein timeout rennen ... der GCC beendet IMMER .... egal ob ohne meldung, mit fehlern oder strg+c ^_^

ich seh das hier aus usability-gründen und fehlersicherheit als günstiger ... by the way man kann auch mit timeout warten, also 20ms timeout und dann ein kleines label ONTOP, damit der user keine eingaben machen kann, auf dem pro timeout so n kreis wie im mozilla browser läuft(also immerwieder ein bild weiter oder so)

EDIT: ich weis ja nicht wie du dein timeout realisiert hast aber man könnte es ja anpasssen, aber eben nie davon ausgehen dass der GCC hängen geblieben ist, das ist quasi unmöglich! eventuell aber einen abbruchbutton einbauen damit man den prozess abschiessen kann ... inwiefern das mit java geht muss ich passen :p

Osser
20.04.2009, 14:52
Hi,

mir ist schon klar was Du meinst...
Ist sicherlich eine gute Möglichkeit um eine Abbrechen Schaltfläche auzunehmen, wobei ich selbst die [ESC] Taste favorisiere um Dialogwahnsinn zu verhindern.
Evtl. auch eine Option in C++ Config "mit Timeout nnn"/ "unendlich".
Mal schauen was sich da machen lässt.


Gruss,

O.

Osser
21.04.2009, 08:05
Hi,

@ukuchel:
hab die Meldung von AvrIsp:
Could not initialize interface class
Unknown error 0x80004005!
nochmal geprüft. Sie erscheint nur wenn die Datei nicht geöffnet werden kann oder kein gültiges XML enthält.
Hatte gestern die Kodierung für den ATtiny2313 in mein Original reinkopiert und entsprechend dem Rest re-formatiert.
Ergebnis:
Ladem/Speichern von HEX Dateien geht und Flash lesen/schreiben ebenfalls.

Dummerweise hab ich die CpuSignatures.xml hier nicht gepostet, aber das ist vielleicht schon mal eine Hilfe.


Gruss,

O.

ukuchel
21.04.2009, 08:40
Hallo Osser,
was genau meinst Du mit re-formatiert?
Gruß
Ulli

Osser
21.04.2009, 09:09
Hab die Zeilenenden gelöscht und neu eingefügt.

also von
.
.
<CpuName>ATtiny2313</CpuName>
<CpuType>actATtiny2313</CpuType>
.
.

nach
.
.
<CpuName>ATtiny2313</CpuName><CpuType>actATtiny2313</CpuType>
.
.

und wieder re-formatiert
.
.
#9#32#32<CpuName>ATtiny2313</CpuName>#10
#9#32#32<CpuType>actATtiny2313</CpuType>#10
.
.


Legende: #9=TAB; #32=SPACE; #10=LF


Die Datei muss Unicode geschrieben weden, 2Byte Codepoints also! Vielleicht schreibt Dein Editor einfach ASCII Text statt Unicode? Vergleiche mal das Original und deine Editierte XML Datei in einem Hex Editor. MS-XML ist da leider manchmal etwas überpingelich.


Gruss,

O.

ukuchel
21.04.2009, 19:31
Hallo Osser,
der Unicode war es bei mir nicht.
Aber ich habe eine neue, zufällige Beobachtung gemacht:
Das Laden und Schreiben einer beliebigen .hex-Datei funktioniert immer (und nur) dann, wenn diese sich im gleichen Verzeichnis wie AVRISP befindet. Das ist doch sicher nicht so vergesehen, oder?
Gruß
Ulli

Osser
22.04.2009, 09:05
Hi ukuchel,


sehr seltsam!

http://www.img-share.com/image/4851.jpeg
Beispiel: mehrere Verzeichnisse

Hast Du schon mal versucht AvrIsp in einem anderen Verzeichnis zu verwenden?
Benutzt du derzeit den USB Stick?


Gruss,

O.

ukuchel
22.04.2009, 15:49
Hallo Osser,
ja meine Tests habe ich mit dem USB-Stick gemacht. Ich habe die folgenden Beobachtungen aber auch auf meiner Festplatte verifizieren können.



The following processsors are configured in CpuSignatures.xml yet:
AT90S1200, ATmega8535, ATmega32, ATmega168, ATmega8L

See secius.com/asuroflash for detailed information
Connected and Ready.
Signature: 0x1E:91:0A:FF
- CPU name: ATtiny2313, 2KB Flash, 128Byte EEPROM
Loaded F:\Test\Isp\Project1.hex; 424bytes
Saved F:\Test\Isp\Project1.hex
0x0000:C012 C02A C029 C028 C027 C026 C025 C024 ...*.).(.'.&.%.$
0x0010:C023 C022 C021 C020 C01F C01E C01D C01C .#.".!. ........
0x0020:C01B C01A C019 2411 BE1F EDCF BFCD E010 ......$.........
0x0030:E6A0 E0B0 EAE8 E0F1 C002 9005 920D 36A0 ..............6.
0x0040:07B1 F7D9 E010 E6A0 E0B0 C001 921D 36A0 ..............6.
0x0050:07B1 F7E1 D002 C0A6 CFD3 D00D E080 E090 ................
0x0060:D036 EE88 E093 D06D E081 E090 D030 EE88 .6.....m.....0..
0x0070:E093 D067 CFF3 9AB9 9AC1 9ABA 9AC2 9ABB ...g............
0x0080:9AC3 9ABC 9AC4 9ABD 9AC5 9ABE 9AC6 9ABF ................
0x0090:9AC7 9508 9AB9 B328 0F88 1F99 7F2D 2B28 .......(....-+(
0x00A0:BB28 9508 9ABA B328 0F88 1F99 0F88 1F99 .(.....(........
0x00B0:7F2B 2B28 BB28 9508 9ABB B328 E053 0F88 ++(.(.....(.S..
0x00C0:1F99 955A F7E1 7F27 2B28 BB28 9508 9ABC ...Z..'+(.(....
0x00D0:B328 E064 0F88 1F99 956A F7E1 7E2F 2B28 .(.d.....j..~/+(
0x00E0:BB28 9508 9ABD B328 E075 0F88 1F99 957A .(.....(.u.....z
0x00F0:F7E1 7D2F 2B28 BB28 9508 9ABE B328 E0E6 ..}/+(.(.....(..
0x0100:0F88 1F99 95EA F7E1 7B2F 2B28 BB28 9508 ........{/+(.(..
0x0110:9ABF B328 9596 2F98 2788 9597 9587 772F ...(../.'.....w/
0x0120:2B28 BB28 9508 9888 9A92 B320 E030 9536 +(.(....... .0.6
0x0130:9527 9536 9527 9520 9530 7021 7030 01C9 .'.6.'. .0p!p0..
0x0140:9508 E020 E030 EF4A E050 C005 01FA 9731 ... .0.J.P.....1
0x0150:F7F1 5F2F 4F3F 1728 0739 F3C4 9508 EE68 .._/O?.(.9.....h
0x0160:E073 D00E E020 E030 EF4A E050 C005 01FA .s... .0.J.P....
0x0170:9731 F7F1 5F2F 4F3F 1728 0739 F3C4 9508 .1.._/O?.(.9....
0x0180:2755 2400 FF80 C002 0E06 1F57 0F66 1F77 'U$........W.f.w
0x0190:1561 0571 F021 9596 9587 9700 F799 2F95 .a.q.!......../.
0x01A0:2D80 9508 94F8 CFFF
Writing 424 bytes...
Erasing flash...
Writing flash...
377 byte/sec
Loaded F:\Project1.hex; 424bytes
Saved F:\Project1.hex
0x0000:C012 C02A C029 C028 C027 C026 C025 C024 ...*.).(.'.&.%.$
0x0010:C023 C022 C021 C020 C01F C01E C01D C01C .#.".!. ........
0x0020:C01B C01A C019 2411 BE1F EDCF BFCD E010 ......$.........
0x0030:E6A0 E0B0 EAE8 E0F1 C002 9005 920D 36A0 ..............6.
0x0040:07B1 F7D9 E010 E6A0 E0B0 C001 921D 36A0 ..............6.
0x0050:07B1 F7E1 D002 C0A6 CFD3 D00D E080 E090 ................
0x0060:D036 EE88 E093 D06D E081 E090 D030 EE88 .6.....m.....0..
0x0070:E093 D067 CFF3 9AB9 9AC1 9ABA 9AC2 9ABB ...g............
0x0080:9AC3 9ABC 9AC4 9ABD 9AC5 9ABE 9AC6 9ABF ................
0x0090:9AC7 9508 9AB9 B328 0F88 1F99 7F2D 2B28 .......(....-+(
0x00A0:BB28 9508 9ABA B328 0F88 1F99 0F88 1F99 .(.....(........
0x00B0:7F2B 2B28 BB28 9508 9ABB B328 E053 0F88 ++(.(.....(.S..
0x00C0:1F99 955A F7E1 7F27 2B28 BB28 9508 9ABC ...Z..'+(.(....
0x00D0:B328 E064 0F88 1F99 956A F7E1 7E2F 2B28 .(.d.....j..~/+(
0x00E0:BB28 9508 9ABD B328 E075 0F88 1F99 957A .(.....(.u.....z
0x00F0:F7E1 7D2F 2B28 BB28 9508 9ABE B328 E0E6 ..}/+(.(.....(..
0x0100:0F88 1F99 95EA F7E1 7B2F 2B28 BB28 9508 ........{/+(.(..
0x0110:9ABF B328 9596 2F98 2788 9597 9587 772F ...(../.'.....w/
0x0120:2B28 BB28 9508 9888 9A92 B320 E030 9536 +(.(....... .0.6
0x0130:9527 9536 9527 9520 9530 7021 7030 01C9 .'.6.'. .0p!p0..
0x0140:9508 E020 E030 EF4A E050 C005 01FA 9731 ... .0.J.P.....1
0x0150:F7F1 5F2F 4F3F 1728 0739 F3C4 9508 EE68 .._/O?.(.9.....h
0x0160:E073 D00E E020 E030 EF4A E050 C005 01FA .s... .0.J.P....
0x0170:9731 F7F1 5F2F 4F3F 1728 0739 F3C4 9508 .1.._/O?.(.9....
0x0180:2755 2400 FF80 C002 0E06 1F57 0F66 1F77 'U$........W.f.w
0x0190:1561 0571 F021 9596 9587 9700 F799 2F95 .a.q.!......../.
0x01A0:2D80 9508 94F8 CFFF
Could not initialize interface class
Unknown error 0x80004005!


Das Lesen, Speichern und Anzeigen beliebiger .hex-files funktioniert auch bei mir aus allen Verzeichnissen heraus. Nur wenn ich versuche, ein geladenes .hex-file zu flashen (Write-Button), dann funktioniert das nur, wenn sich das Programm AVRISP und das .hex-file in einem Verzeichnis befinden. In meinem Beispiel oben befindet sich das Programm AVRISP im Verzeichnis F:\Test\Isp\.
Darum funktioniert das Flashen auch:
Writing 424 bytes...
Erasing flash...
Writing flash...
377 byte/sec

Verschiebe ich allerdings das .hex-file nach F:\, so erhalte ich folgende Fehlermeldung:
Could not initialize interface class
Unknown error 0x80004005!

Bei Deinem Beispiel nutzt Du den Write-Button gar nicht!?
Genau da treten bei mir aber die Probleme auf.
Gruß
Ulli

hai1991
22.04.2009, 20:58
hallo zusammen

beim mit tritt jetzt auch die fehlermeldung ExitCode 259

kann das etwas mit der WinAVR-version zu tun haben?
ich habe jetzt die 20090313 installiert, und seit dem habe ich diese meldung.
zuvor mit 20081124rc3 gab es keine probleme.

ich weiß zwar nicht, ob es wirklich etwas damit zu tun hat, aber es wäre zumindest einmal ein ansatzt. vl hat auch schon jemand anders eine lösung für dieses problem gefunden

ukuchel
23.04.2009, 06:34
Hallo hai1991,
bitte kontrolliere mal, ob bei Dir trotz der Fehlermeldung von AF der Compiler weiterarbeitet (siehe im Thread weiter oben).
Dann dürfte der Lösungsansatz identisch mit dem von mir oben vorgeschlagenen sein. Ich nehme mal an, dass Deine neue Compilerversion die entscheidenden Sekunden länger braucht als die alte.
Gruß
Ulli

hai1991
23.04.2009, 17:45
@ukuchel

bei mir wird leider kein hex-file erzeugt, auch nach längerem warten nicht
trotzdem danke

weiß vl noch jemand abhilfe?

Osser
24.04.2009, 23:27
Hi @all,

da wohl scheinbar einige Probleme haben mit dem neuen WinAVR hab ich einen Timeout in der Entwicklerversion aufgenommen der einstellbar ist von 20sec bis 600sec (also 10 min!). Der Defaultwert steht jetzt auf 40sec statt wie bisher 20sec. Die COM Port Parameter Baud, DataBits und StopBits sind jetzt auch einstellbar für AF Oszi und AF Term.

Da ich gerade mit zwei Projekten beschäftigt bin die spezialisierte Tests erfordern, in dem Sinn, dass ein spezielles serielles Protokoll den µC ansteuert, habe ich auch rudimentäres Scripting in die Software aufgenommen. Damit ist es möglich einfache Scripts mit UI (UI wird mittels einer an XUL angelehnten Definitionssprache definiert) zu verwenden um einfache serielle Protokolle zu fahren. Das Ganze ist in einem sehr prematuren Stadium und noch sehr Fehleranfällig, reicht aber für meine Zwecke aus.
Meine Script-Engine parst nur Pascal (da steh ich halt drauf!) und dann auch nur prozedurale Definitionen. Also fragt mich bitte nicht um nen C-Parser da ich den "..so eben mal.." nicht coden kann. Der Parser hat auch noch einige Tücken und will manchmal komplexere boolsche Ausdrücke partout nicht "verstehen". Da heissts dann vereinfachen und mit mehreren Variablen nen einfacheren zusammenbasteln.
Erst wollte ich das "Ding" nur in meiner Entwicklerversion halten, da ich den auch in anderen Produkten verwende(n will), aber naja ..... wie stehts in der Caption schon

Asuro Flash (Alias Eierlegendewollmilchsau)

das verpflichtet natürlich.. 8)

So langsam macht das Proggi dann jetzt ja echt was her.... (oh oh, Eigenlob stinkt [-( )


Werd demnächst eine Release an der bekannten Adresse publizieren, also noch etwas Geduld und die leidigen "Make" Probleme sind gelöst.


Gruss,

O.

Osser
29.04.2009, 09:13
Hi,

@ukuchel:
Hab AvrIsp nochmal getestet mit Flash lesen/schreiben; HEX-Datei laden/speichern ausserhalb vom Programmverzeichnis und wieder Flash lesen/schreiben. Den Fehler der bei Dir auftritt habe ich leider nicht erhalten......
Um die Ursache einzugrenzen werde ich die Fehlermeldung detailierter implementieren, so dass deutlich wird was genau falsch läuft, da der Fehler auftritt wenn die Datei nicht zu öffnen ist und wenn der HEX File Fehler enthält. D.H. die neue Fehlermeldung wird angeben ob also die Datei nicht ansprechbar ist oder bei XML Fehlern die genaue Position angeben.
Der Einfachheit halber liest das Programm nämlich momentan bei jeder Lese/Schreibaktion die XML Datei neu ein was bei Dir evtl zu der besagten Fehlermeldung führt.


AsuroFlash ist jetzt fast fertig.
Neu ist z.B.
1) COM-Port Parameter Baud, DataBits und StopBits sind für Term und Oszi einstellbar.
2) Timeout für Make aktion ist einstellbar und jetzt Standart auf 40sec
3) Pascal-Script Editor und GUI Beschreibungssprache für Testprogramme zur Steuerung des µC

Der neue Pascal-Script Editor und die UI Beschreibungssprache funktionieren bereits ganz gut. Das UI bietet dann die Elemente "hbox", "vbox", "label", "button", "checkbox" und "edit". Bei den Elementen "button", "checkbox" ist ein "onclick" event hinterlegbar, beim Element "edit" ist es das event "onchange".
Die Events werden bei den entsprechenden Interaktionen mit den jeweiligen UI Elementen ausgelöst und im Pascal-Script ausgeführt.

Ich benutze das z.B. um serielle Protokolle zu testen und den µC mit Parametern zu konfigurieren über die serielle Schnittstelle. Das war auch der Hauptgrund dafür das ich dass eingebaut habe, da ich sonst via Term die Kommandosequenz "per Hand" übergeben musste und dann die Antwort wieder "per Hand" dekodieren musste, meine Protokolle sind meist binär kodiert.

Beispiel UI:

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="formmain"
title="Beispiel UI">
<vbox>
<label label="Test label"/>
<button id="btTest" label="Test label" onclick="btGenericClick" />
<edit id="edPar1" label="Par1" value="Val1" onchange="edParChange" />
<hbox>
<button id="btOk" label="OK" onclick="btGenericClick" />
<button id="btCancel" label="Abbrechen" onclick="btGenericClick" />
</hbox>
</vbox>
</window>


Beispiel Script:

uses
ScrStandard;

{{
This function is called first as the script is run.
Use it to initialize your global variables.
}
function main():integer;
begin
// Initialize any custom variables here to a defined state if needed.
//intval := 10;
//txtval := 'Start';
//... etc.

result := S_OK;
end;

function btGenericClick(aElem:string;aNothing:string):integ er;
begin
Status('You clicked ' + aElem + '!'#13#10);
result := S_OK;
end;



Mal schaun, wenns klappt kann ich die Version vielleicht heute Abend schon online stellen.


Gruss,

O.

hai1991
29.04.2009, 11:46
hallo zusammen

ich habe mein problem mit ExitCode 259 gelöst

da ich vista 64bit verwende muss ich beim WinAVR eine .dll datei ersetzen. dies habe ich beim installieren der neuen version vergessen. daher auch die fehlermeldung. nach ersetzen dieser datei funktionert alles wunderbar

so weit ich mich erinnern kanm wurde dieses problem in diesem forum schon diskutiert.

Osser
30.04.2009, 10:15
Hi @all,

AsuroFlash hat ein neues integriertes Scriptlogik Interface!

Die Version 1.7.11.102 mit integrierter Pascal Scriptsprache steht online auf
http://secius.com/asuroflash

In der Installation sind zwei Beispiel Scriptbubbles enthalten, nämlich ScriptExample1.psb und ScriptExample2.psb die demonstrieren was möglich ist.

Wie geht das?
Klick auf das Icon http://www.secius.com/asuroflash/images/038_Execute_16x16.bmp zum aktivieren des "Script View" wo zwei Tabs zur Verfügung stehen (Tab "Script" und Tab "UI Form").
Klicke auf "Load script bubble" und lade ScriptExample1.psb or ScriptExample1.psb.
Klicke jetzt auf http://www.secius.com/asuroflash/images/038_ExecuteRun_16x16.bmp "Run Script" Button und das Wunder geschieht...

http://www.secius.com/asuroflash/images/AFDevronScript.png


Ich denke das Meiste ist selbsterklärend.


Ihr könnt ja eure ersten selbst erstellten Scripts hier posten.



Gruss,

O.

Osser
30.04.2009, 11:34
Hi ukuchel,

hab eine neue Version von AvrIsp online gestellt.
Probier die mal, da wird dann jedenfalls ein etwas detailierterer Fehler wiedergegeben, so dass ich Dir helfen kann mit der Fehlersuche.
Die Versionsnummer ist V1.0.2.12

O.

ukuchel
01.05.2009, 07:23
Hallo Osser,
zunächst und wieder einmal ein großes Lob an Dich.
https://www.roboternetz.de/phpBB2/images/smiles/eusa_clap.gif

Ich habe die variable Timeoutzeit getestet, alles funktioniert wunderbar. Durch verschiedene CPU-intensive Programme im Hintergrund konnte ich die Fehlermeldung (Exit Code 259 ...) erzwingen und eben auch gezielt wieder abstellen.

AVRISP werde ich in Kürze testen.

Gruß
Ulli

ukuchel
01.05.2009, 10:20
Hallo Osser,


hab eine neue Version von AvrIsp online gestellt.

der link stimmt nicht.

Gruß
Ulli

Osser
01.05.2009, 22:06
Hi,

jetzt geht der Link =;


O.

ukuchel
02.05.2009, 06:45
Hallo Osser,
das Problem ist jetzt klar(er).
AVRISP benötigt das .hex-file und CpuSignatures.xml in einem Verzeichnis. Dann lässt sich die eine Programmdatei laden und flashen.
Anderfalls gibt es die besagte Fehlermeldung.


The following processsors are configured in CpuSignatures.xml yet:
AT90S1200, ATmega8535, ATmega32, ATmega168, ATmega8L

See secius.com/asuroflash for detailed information
Connected and Ready.
Signature: 0x1E:91:0A:FF
- CPU name: ATtiny2313, 2KB Flash, 128Byte EEPROM
Loaded G:\Eigene Dateien\Eigene Downloads\Isp\Test.hex; 794bytes
Writing 794 bytes...
Erasing flash...
Writing flash...
367 byte/sec
Loaded G:\Eigene Dateien\Eigene Programme\Test\Test.hex; 794bytes
Could not initialize interface class(Cannot open file "G:\Eigene Dateien\Eigene Programme\Aufgaben\Aufgabe 3.1\CpuSignatures.xml". Den angivne fil blev ikke fundet)
Unknown error 0x80070057!


Das ist sicherlich nicht deine Absicht gewesen, oder?
Gruß
Ulli

Osser
03.05.2009, 17:48
Hi Ulli,

hab die Ursache gefunden, der Pfad war relativ und nicht absolut, weshalb CpuSignatures.xml im aktuellen Verzeichnins gesucht wurde.

Thanks. :idea:

Die korrigierte Version findest Du wieder auf der bekannten Seite.


Olli


PS: Welche Sprache ist das, die ich da in der Fehlermeldung lese?

ukuchel
03.05.2009, 19:02
Hi Osser,
habe vom Vorbesitzer des Rechners noch das dänische Betriebssystem drauf. Ich war zu faul das zu ändern, und irgendwann merkt man das gar nicht mehr.
... CpuSignatures.xml". Den angivne fil blev ikke fundet ... heißt soviel wie: Die angegebene Datei (CpuSignatures.xml) konnte nicht gefunden werden.
Gruß
Ulli

ukuchel
04.05.2009, 06:57
Hallo Osser,
die korrigierte Version von AVRIsp funktioniert jetzt ebenfalls einwandfrei.
Gruß
Ulli

rbaleksandar
15.05.2009, 17:40
Erste Post von mir hier und ich will eine große Danke! sagen. Hab stundenlang mit dem flash tool von Ausro gekämpft. Für bestimmte Zeit dachte ich sogar, dass etwa kaput war. Dann hab ich dieses Wunderzeug hier gefunden. Schon bei dem ersten Lauf hab's alles prima geklappt. Asuro ist geflasht und ich bin sehr glücklich. \:D/ \:D/ \:D/

MfG,
Alex

Osser
16.05.2009, 12:49
Hi rbaleksandar,


schön zu hören das AF gleich funktioniert hat.
Viel Spass mit deinem Asuro!


=;


Bis zu deinem nächsten Post,


O.

rbaleksandar
19.05.2009, 12:28
Hab ein Vorschlag für das Werkzeug. Ich hab folgendes bemerk - wenn man flashen will, muss man das Zeug auf dem Port verbinden. Es ist viel besser, wenn man nicht so 'ne fest Verbindung erstellt. Ich werde natürlich auch erklären warum. Bei dem "Original" Flash-Tool für ASURO macht man so eine Verbindung, dass irgendwie immer nach dem Flashen bricht, d.h. das Port kann wieder von einem anderen Program benutzt werden. Bei deinem Flash-Tool ist es nicht so. Folgendes Problem entsteht - wenn Programm hängt (Not Responding), kann ich irgendwie das Prozess nicht terminieren. Ich hab es mit Log Off und neustarten von dem Explorer - es funktionier nicht. Da bleibt nur eine Möglichkeit - Computer neu starten. Ich muss das machen, weil ich brauch nähmlich den Port und den Tranceiver auch für mein Hyperterminal (benutz HTerm). Wenn ich das Prozess nicht töten kann, kann ich leider den Port auch nicht mehr benutzten wegen diese feste Verbindung zwischen dein Flash-Tool und dem Port. Kannst du mal das vielleicht inrgendwie ändern?

Osser
19.05.2009, 19:20
Hi rbaleksandar,


...wenn Programm hängt (Not Responding), ...

Welche Version von AsuroFlash benutzt Du?


Gruss,

O.

rbaleksandar
19.05.2009, 19:27
AsuroFlash
Ver: 1.7.11.102

Und es hängt ziemlich oft. Weiß nicht warum ehrlich gesagt.

Osser
20.05.2009, 15:37
Hi,

hab ganz vergessen zu fragen wann es hängt, nach dem Flashen, nach dem Compilieren, nach dem...



O.

rbaleksandar
20.05.2009, 16:48
Sorry, ich hab's auch vergessen zu erwähnen. :P
Na ja, normalerweise nach dem ersten Flaschen. Ich compiliere mein Zeug mit dem Programmer Notepad, das in dem Manual beschrieben ist.

Grüße :)

Osser
10.06.2009, 12:20
Hi,

mal ne Frage am Rande.
Hat schon jemand das neue Scripting Feature getestet oder ist noch unklar wie das geht?

Währe interessiert ob alles geht oder obs noch Probleme gibt.


O.

Leachim
10.06.2009, 20:39
Also ich hab ein Problem und zwar bekomme ich das mit Asuroflash nicht gebacken . ich hab mir die neuste version herruntergeladen (1.7.11.102)



Aber bei mir erstellt er nun keine "name".c geschweige den die "name".hex .
Wenn ich auf den "Make all" Knop klickt kommt nur das in der Console.




>Session Environment Variables:
AF_AVRDIR=C:\WinAVR-20090313
AF_PROJECT=Project1
AF_SOURCE_FILES=C:/Dokumente und Einstellungen/All Users/Anwendungsdaten/AsuroFlash/Projects/TestAsuroProjekt/test.c C:/Dokumente und Einstellungen/All Users/Anwendungsdaten/AsuroFlash/Projects/TestAsuroProjekt/asuro.c
AF_ASM_SRC_FILES=
AF_PRGDIR=C:\Programme\AsuroFlash
AF_PRJDIR=H:\Asuro\Meine projecte
AF_ASURO_LIB_PATH=%AllUsersProfile%\asuro_lib\lib
File test.c saved.
>Default make_all.cmd file created.
>Default makefile created.
Make

ExitCode 0
>Ready.
H:\Asuro\Meine projecte\
is set as default flash file.
Use program button to flash it to hardware.


Wenn ich das flash möchte kommt da nur "Flash file not found!"


Das hab ich bei der C++ configuration eingestellt:

Make all
@set path=C:\WinAVR-20090313\utils\bin\make.exe all

Variables
AVR path C:\WinAVR-20090313
der rest standard

Ich habs auch mit dem WinAvr versucht da bekomme ich diesen Fehler


> "make.exe" all
make.exe: *** No rule to make target `all'. Stop.

> Process Exit Code: 2
> Time Taken: 00:00


Ist die Make all defekt oder hab ich was falsch eingetragen das es nicht funktioniert ?
Danke im voraus!

Osser
10.06.2009, 21:15
Hi,

Dein "Make all" Script muss so bleiben wie original eingestellt, also:

@set path=%AF_AVRDIR%\utils\bin;%AF_AVRDIR%\avr\bin;%AF _AVRDIR%\bin;%path%
%AF_AVRDIR%\utils\bin\make.exe all


Deine Einstellung

Make all
@set path=C:\WinAVR-20090313\utils\bin\make.exe all
ist auf jeden Fall falsch.


Probiers so nochmal und poste obs geht (oder nicht).

Gruss,

O.

Leachim
10.06.2009, 21:24
Alles klar es geht ^^
Danke für die schnell antwort die nacht ist gerettet :D
Das flash geht noch nicht aber das bekomme ich noch gebacken ^^

Leachim
16.06.2009, 23:47
Also ich hab nur problems mit dem Programm



-------- begin --------
avr-gcc --version
avr-gcc (WinAVR 20090313) 4.3.2
Copyright (C) 2008 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 -DF_CPU=8000000UL -I. -g -Os -I"C:\Dokumente und Einstellungen\All Users/AsuroFlash/asuro-lib/lib/inc" -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms="test.lst" "test.c" -o test.o
avr-gcc -mmcu=atmega8 -DF_CPU=8000000UL -I. -g -Os -I"C:\Dokumente und Einstellungen\All Users/AsuroFlash/asuro-lib/lib/inc" -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms="test.o" test.o --output Project1.elf -Wl,-Map=Project1.map,--cref -L"C:\Dokumente und Einstellungen\All Users/AsuroFlash/asuro-lib/lib" -lm -lasuro
c:/winavr-20090313/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: cannot find -lasuro
make: *** [Project1.elf] Error 1


ExitCode 2
>Ready.
Und das kommt immer bei jedem Projekt .
Danke im Voraus

Leachim
20.06.2009, 15:20
Kann mir niemand helfen ?

Valen
20.06.2009, 19:15
Ich hab auch mal diesen 'Eierlegendewollmilchsau' installiert, damit ich etwas daruber sagen kan, aber das ist nicht gegangen wie ich es wollte. Das installations program hat administrator zustimmung gefragt und habe es gegeben.

Ich wollte das ganze nicht in den 'Program Files' oder andere von Microsoft eingestellte mappen haben. Deswegen hatte ich beim installieren ein bestimt andere pfad eingegeben fur AsuroFlash:

D:\AsuroFiles\AsuroFlash

und den Lib sollte er im:

D:\AsuroFiles\AsuroFlash\Asuro-lib\lib_2.80rc1

Das hat er aber komplet ignoriert.

Er hat einiger project dateien (beispielen ??) im (unsichtbare) ProgramData mappe versteckt. Schau mal: (bitte achte darauf das ich einer niederlandische Vista Home Premium version habe, und den WinAVR compiler habe ich noch nicht installiert bis jetzt)


Asuro Flash (Alias Eierlegendewollmilchsau) V1.7.11.102 (c) O.O. Müller 2009
User has no admin rights.
Processor branding Intel(R) Core(TM)2 Duo CPU T6400 @ 2.00GHz, OS WINVISTA
Hello Rico on RICO-LAPTOP, have fun :)

Selected flash driver is Standard Asuro Flasher
>Session Environment Variables:
AF_AVRDIR=D:\WinAVR
AF_PROJECT=Project1
AF_SOURCE_FILES=
AF_ASM_SRC_FILES=
AF_PRGDIR=D:\AsuroFiles\AsuroFlash
AF_PRJDIR=C:\ProgramData\AsuroFlash
AF_ASURO_LIB_PATH=%AllUsersProfile%\AsuroFlash\asu ro-lib\lib
>Ready.

Valen
20.06.2009, 19:32
Nein, er hat doch die lib 2.80rc1 auf die richtige stellen gespeichert. Den AF_ASURO_LIB_PATH wert hier oben stimmt nicht. Aber ich mochte gern diesen AF_PRJDIR zum meinem D:\AsuroFiles\AsuroProjects haben. Und naturlich den dateien auch dort hin.

Leachim
20.06.2009, 23:56
Danke für die Hilfe ich hab Winavr und asuroflash nochmal installiert und eingestellt und es geht jetzt einwandfrei
MFG Leachim

Osser
22.06.2009, 12:53
Hi valen,

Du kannst deine Projekte problemlos in ein anderes Verzeichnis speichern und von dort wieder laden. Der Standartpfad steht aber momentan fest eingestellt auf %allusersprofile%/Asuroflash/project, Du musst halt momentan per Hand in ein anderes Verzeichnis wechseln.

Werde in einer der nächsten Versionen den Pfad einstellbar machen, Ok?

Die AsuroLib kannst Du in das von Dir angegebene Verzeichnis kopieren und die Variable "AF_ASURO_LIB_PATH" im C++ Config Dialog anpassen.

Dass sollte funktionieren.


Gruss,

O.

Valen
22.06.2009, 16:33
Danke, wird das machen.

p.s. Ich hoffe das war nicht zu viel niederlandische sprache in meiner PM.

Gruss

Osser
01.07.2009, 11:24
Hi,

da schon einige danach gefragt haben wie eine neue Variable angelegt wird, hier ein kleines Tutorialvideo.
Add Variable Turtorial Movie (http://photoshosting.com/?page=view&id=b3f89541&name=AF_AddVariable.swf&q=high&height=514&width=641)


Gruss,

O.

Valen
01.07.2009, 16:33
Ahh, ach so! CURSOR DOWN wurde ich nie aufgekommen sein.

Osser
05.07.2009, 14:16
Hi,

habe noch ein Tutorial Video augenommen auf der AsuroFlash Homepage um die Benutzung des Scriptfeatures zu erklären.

Asuroflash Homepage (http://secius.com/AsuroFlash)

Und zwar im Menu Examples unter Tutorial Movie


Gruss,

O.

Osser
06.07.2009, 10:12
Hi,

werde demnächst die neue Version online stellen die auch das neue ISP Flash interface unterstützt. Die ersten Tests in meiner Develop Version sind vielversprechend.

Die Qualität der Tutorialvideos war ziemlich schlecht. Jetzt habe ich sie nochmal neu gerendert, so dass die Qulität höher ist.

Asuro Flash Tutorials (http://secius.com/AsuroFlash) (wiederum im Menu Examples unter Tutorial Movie)

Stay tuned...

Gruss,
O.

Osser
06.09.2009, 15:39
Tach,

hier gibts mal wieder ne neue Version von AsuroFlash.

Das Flashen via ISP ist als neue Auswahl im Flash-Menu realisiert, alles bleibt also wie gewohnt, die Daten werden jedoch via Dongle in den Asuro übertragen. Der Dongle ist leicht selbst nachzubauen und sowohl die parallele als auch die serielle Variante werden vom ISP Treiber unterstützt.

Der Flash treiber setzt keine Lock/Fuse Bits, ist somit "Narrensicher".....

Wenn das Projekt nicht gespeichert ist und Make wird selektiert, wird eine Meldung ausgegeben dass erst das Projekt zu speichern ist.

Ach ja, eine Projekthistorie ist jetzt auch enthalten (im File Menu) um schnell die letzten vier Projekte laden zu können.


Die Downloadseite ist wie immer AsuroFlash Site (http://www.secius.com/AsuroFlash/) wobei AsuroFlash version 1.7.12.104 die neueste Release ist.


Falls Ihr noch Fragen habt, bitte hier posten.

Gruss

O.

gego81
13.02.2010, 20:54
hallo osser

ich habe mir dein programm 1.7.12.104 geladen und ist auch super
konnte nach kurzer zeit den asuro programmieren und beim flashen gab es auch nicht viele bzw gar keine fehler.
nun aber meine frage an dich, ich habe mir bei e-robotix eine erweiterungsplatine mit einem atmega32 gekauft und bekomme es nicht hin eine .hex zu erzeugen bekomme immer die fehlermeldung mit dem ERROR 258 und ich bekomme das nicht weg.
die einstellungen die in deinem programm schon vorgegeben sind aber auch nicht hierfür sondern für die erweiterungsplatine mit bluedoot von e-robotix. kannst du mir helfen wie ich mit deinem programm meinen atmega flaschen kann und welche einstellungen hierfür nötig sind?

meine einstellungen sind
E-Robotix Flasher
ATMega32.afcfg
WinAVR 20071221

danke dir für die hilfe
mfg
gego81

Osser
15.02.2010, 07:45
Hi gego81,

hast Du einen Reset Taster auf den ISP Port aufgesteckt?
siehe http://www.secius.com/AsuroFlash/archives/8

Das flashen via bluetooth ist aber noch nicht 100pro, bei Problemen bitte nochmal hier posten.
Poste auch bitte die Ausgabe beim Compilieren unten aus dem Memofenster, möglichst komplett, da ich sonst nicht weiss woher der ERROR 258 rührt.

Wenns gar nicht gehen will, kann evtl direkt via ISP geflasht werden, da ich mittlerweile auch einen ISP Treiber geschrieben habe. Dafür musst Du Dir aber einen kleinen Adapter bauen.
Ich selbst benutze den
BlueMP3/ISP-Platine (http://www.segor.de/suche.shtml?foto=1&Q=BLUEMP3/ISP-Platine&M=1) für 4,00 Eur
BlueMP3/ISP-Teilesatz (http://www.segor.de/suche.shtml?foto=1&Q=BLUEMP3/ISP-Teilesatz&M=1) für 2,60 Eur
Dafür muss dein Rechner aber einen ECHTEN LPT Drucker Port haben, also erst mal checken.


Schön dass sonst alles geht.

Gruss,

O.

gego81
15.02.2010, 10:04
Hallo Osser

es geht bei mir um diesen bausatz von e-robotix
http://www.e-robotix.de/epages/61660837.sf/de_DE/?ObjectPath=/Shops/61660837/Products/As3
mit der option über die ir-schnittstelle zu flashen, ein flashen über die isp ist nicht möglich, da hab ich mich etwas blöd ausgedrückt bzw hast mich falsch verstanden

zu meinem system ich habe win7 prof 64bit
einstellungen im asuruflash 1.7.12.104
E-Robotix Flasher
ATMega32.afcfg
WinAVR 20071221

hier der text meiner fehlermeldung (abschreibe fehler bitte ich zu übersehen)

>Default make_all.cmd file created
>Default makefile created.
Make
C:\Users\gego812516\Desktop>C:\WinAVR-20071221\utils\bin\make.exe all
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst -IC:\Program Files (x86)\AsuroFlash\include asuro.c\
| sed 's;\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d;\
[ -s asuro.d ] || rm -f asuro.d
\usr\bin\sh: -c: line 1: syntax error near unexpected token '(x'
\usr\bin\sh: -c: line 1: 'set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -OS -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst -IC:\Program Files (x86)\AsuroFlash\include asuro.c\'
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.lst -IC:\Program Files (x86)\AsuroFlash\include new.c\
| sed 's;\(.*\)\.o[ :]*,\1.o \1.d : ,g' > new.d;\
[ -s new.d ] || rm -f new.d
\usr\bin\sh: -c: line 1: syntax error near unexpected token '(x'
\usr\bin\sh: -c: line 1: 'set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -OS -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.lst -IC:\Program Files (x86)\AsuroFlash\include new.c\'
----------- begin -------------
avr-gcc --version
avr-gcc (GCC) 4.2.2 (WinAVR 20071221)
Copyright (C) 2007 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=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict- prototypes -Wa,-ahlms=new.lst -IC:\Program Files (x86)\AsuroFlash\include new.c -o new.o
\usr\bin\sh: -c: line 1: syntax error near unexpected token '(x'
\usr\bin\sh: -c: line 1: 'avr-gcc -c -mmcu=atmega32 -I. -g -OS -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=new.lst -IC:\Program Files (x86)\AsuroFlash\include new.c -o new.o'
make: *** [new.o] Error 258


ExitCode 2
>Ready.

muss ich für diese version der erweiterungsplatine eine andere asuro.c und asuro.h verwenden bzw muss dafür das makefile angepasst werden?
hab davon noch nicht ganz soviel plan und komm halt nicht weiter.
](*,)

mfg
gego81

robo.fr
15.02.2010, 15:56
Der E-Robotix Bootloader für die Bluetooth Schnittstelle läuft mit 9600 Baud.
Eventuell musst Du den Bootloader für 2400 Baud wählen.

gego81
15.02.2010, 16:17
hallo robo.fr

bevor ich ein programm übertragen kann muss ich doch erts mal die .hex datei habe und die bekomme ich ja noch nicht mal erzeugt. und ich weis leider nicht woran dies liegt.
mfg
gego81

robo.fr
15.02.2010, 17:36
bevor ich ein programm übertragen kann muss ich doch erts mal die .hex

Wenn Du Dich mit den Grundlagen im ASURO Tutorial auseinandergesetzt hast, solltest Du in der Lage sein, eine HEX-Datei zu erzeugen.
Wenn nicht, ist es sehr ratsam, dass Du den ASURO erst mal ohne die Erweiterung programmieren lernst und danach auf den größeren Prozessor umsteigst.

Der ASURO ist nun mal ein Roboter, bei dem man viel lernen kann, was C-Prograierung und Mikrocontrollertechnik angeht. Diese Arbeit wird Dir wohl keiner abnehmen. Um das Problem in den Griff zu bekommen, kannst Du ja z.B. mal im Mikrocontrollernet die Frage stellen "Was ist eine Hex-Datei und wie kann ich sie erzeugen".

m.a.r.v.i.n
16.02.2010, 10:12
\usr\bin\sh: -c: line 1: syntax error near unexpected token '(x'

Diese Fehlermeldung sagt eigentlich schon alles. Der Compiler kann mit Leerzeichen in Pfadangaben nichts anfangen. Installiere das ganze nochmal neu in einen anderen Ordner ohne Leerzeichen (z.B. C:\AsuroFlash).

gego81
16.02.2010, 13:24
hallo m.a.r.v.i.n

hab ich gleich versucht hab zuerst das projekt in diesn ordner gelegt und dann hab ich alles deintalliert von meinem rechner und das asuroflash in diesen ordner installiert und immer die gleiche fehlermeldung.
das neue ist jetzt nur das asuroflash bring jetzt beim compelieren eine fehlermeldung das Init(); eine nicht bestimmte variable ist

vieleicht hast du ja noch eine idee was helfen könnte

grüsse gego81

m.a.r.v.i.n
16.02.2010, 22:24
Ohne Quellcode und genaue Fehlerausgabe kann ich dir nicht weiterhelfen.

gego81
17.02.2010, 08:25
hallo m.a.r.v.i.n

danke für deine hilfe, das programm was ich übertragen will ist das testprogramm was beim asuroflash 1.7.12.104 unter projekt für atmega32 zu finden ist hab nur noch die LED mit zum leuchten bringen wollen.

#include <asuro.h>

int main(void) {

Init();
FrontLED(ON);
BackLED(ON,OFF);
MotorDir(FWD,FWD);
while(1) {
MotorSpeed(150,150);
Msleep(50);
MotorSpeed(150,100);
Msleep(500);
}

while (1) {}
return 0;

}

fehlermeldung ist die gleiche wie ich schon oben geschrieben habe am ende immer Error 258 Exit Code 2

das seltsame ist wenn ich eine andere einstellung also für meinen atmega8 mache dann läuft alles super ohne probleme
nur bei der programmierung des atmega32 will einfach nichts gehen
muss ich nicht auch bestimte angepasste asuro.c / .h und makfile verwenden das der atmega32 richtig angesprochen wird und das compilieren richtig gemacht wird vom programm um den maschienencode zu erzeugen?

grüsse
gego81

m.a.r.v.i.n
17.02.2010, 10:36
Zum Fehlercode 258 und dem mega32 kann ich wenig sagen. Die AsuroLib ist nur für den mega8 bzw. mega168 geschrieben worden. Für den mega32 muss da sicher einiges angepasst werden.
Wenn du keine angepasste Lib von e-robotix bekommen hast, wirst dich du wohl selbst darum kümmern müssen. Oder frage mal in einem eigenen Thread hier im Forum nach, ob das schon mal jemand gemacht hat.

gego81
17.02.2010, 11:00
hallo

diese idee mit einem eigenen thread hatt ich schon ist

Asuro ATmega32 Erweiterung

aber da kommt keine reaktion auf mein problem und kann mir das aber auch nicht so richtig erklären da doch so viele von erweiterungen mit dem atmega32 schreiben was sie alles noch machen konnten oder was sie jetzt machen können
hatte mir von denen die schon erfahrung haben mit dem atmega32 erweiterungsplatine hilfe erhofft da ich selbst halt so tiff noch nicht n der sache drin stehe

gruss
gego81

Osser
23.02.2010, 15:17
Hi gego81,


also an sich ist es auch ohne AsuroLib möglich die meisten Aufgabenstellungen zu proggen, versuchs doch erstmal damit. Der AsuroFlash installer installiert auch ein paar Beispiele die Du dann nach Lust und Laune erweitern kannst. Wenn Du dann mehr Erfahrung mit der Chose hast kannst Du evtl die Lib dementsprechend ändern.


Gruss,

O.

Double_A
10.05.2010, 12:02
Hallo,

Wenn ich versuche mein Code zu compilieren kommt dieser Fehler:
test.c:1:19: error: asuro.h: No such file or directory

Auch die Beispielprogramme gehen aus dem gleichen Grund nicht...

AVR wurde eingestellt. Muss ich nochwas einstellen, damit es die Header findet???

Und schonmal über eine portable Version nachgedacht? Wo alles schon funktionsfertig eingerichtet ist, mit AVR und so...

Osser
11.05.2010, 10:25
Hi Double_A,

deine Infos sind zu rudimentär. Um Dir helfen zu können brauche ich alle Meldungen die im Statusmemo angezeigt werden.


Gruss,

O.

Double_A
11.05.2010, 11:06
Hallo,

Das ist die ganze Ausgabe, hoffentlich hilft dir (mir^^) das weiter.



>Ready.
>Session Environment Variables:
AF_AVRDIR=C:\AsuroFlash\WinAVR-20090313
AF_PROJECT=Megatest
AF_SOURCE_FILES=new.c
AF_ASM_SRC_FILES=
AF_PRGDIR=C:\AsuroFlash
AF_PRJDIR=C:\Dokumente und Einstellungen\ama\Desktop\AsuroTest
AF_LIB_PATH=%AllUsersProfile%/AsuroFlash/asuro-lib/lib
File new.c saved.
>Default make_all.cmd file created.
>Default makefile created.
Make
C:\Dokumente und Einstellungen\ama\Desktop\AsuroTest>C:\AsuroFlash\WinAVR-20090313\utils\bin\make all
set -e; avr-gcc -MM -mmcu=atmega168 -DF_CPU=8000000UL -I. -g -Os -I"C:\Dokumente und Einstellungen\All Users/AsuroFlash/asuro-lib/lib/inc" -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms="new.lst" "new.c" \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > "new.d"; \
[ -s new.d ] || rm -f "new.d"
-------- begin --------
avr-gcc --version
avr-gcc (WinAVR 20090313) 4.3.2
Copyright (C) 2008 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=atmega168 -DF_CPU=8000000UL -I. -g -Os -I"C:\Dokumente und Einstellungen\All Users/AsuroFlash/asuro-lib/lib/inc" -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms="new.lst" "new.c" -o new.o
new.c:1:19: error: asuro.h: No such file or directory
make: *** [new.o] Error 1


ExitCode 2

EDIT:
Hab es grad selbst hinbekommen... Lesen hilft halt macnhmal ^^
Danke trotzdem! Die Variable für die Library war falsch gesetzt, sah aber auf den ersten Blick richtig aus...

Und nochwas allgemeines zum Programm. Wäre es möglich dass die AsuroFlash.ini nicht aus den Anwendungsdaten geladen wird, sondern direkt aus dem Programmordner?
Dann hätte man eine portable Version...

Osser
11.05.2010, 20:37
Hi,


..., hoffentlich hilft dir (mir^^) das weiter.
lol :)


klar geht das, hab hierfür extra einen Kommandozeilenparameter eingebaut (/ADAP). Damit läufts dann z.B. vom USB-Stick. Lies Dir aber bitte die folgenden Artikel eben durch, da Du ein paar Dateien per Hand umkopieren musst wenn ich mich recht erinnere.


siehe folgende Artikel:
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=374376#374376
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=378020#378020
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=415144&highlight=adap#415144
oder auch der 1te von mir...
https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=359706#359706



Gruss,

O.

Double_A
12.05.2010, 12:29
Ok hat geklappt. Danke

Kann man auch den Standard-Pfad für die Projekte selbst einstellen?
Jetzt sucht er als erstes immer im Programm-Ordner...

Edit:
Ich hab mal meine richtig eingestellte, portable Version hochgeladen.
http://depositfiles.com/files/qmy1uffws

Ist für den Standart-Asuro eingestellt. Und am besten direkt ins C: entpacken (da Leerzeichen im Pfad Probleme machen) und nur über die Verknüpfung öffnen, sonst gehts nicht.

Cruser12
16.05.2010, 22:34
Hallo,
Gibts da so eine Erweiterung für Windows 2000?
Das geht irgw. nur bei XP... ich will, dass es aber auf win2000 geht...?!

Geht das?

Cruser12

Osser
17.05.2010, 08:14
Hi,


@Cruser12:
WIN2000??? Das ist schon langsam etwas betagt oder?

Darauf habe ich die Software nie getestet da keiner meiner Rechner mehr mit Win2K läuft. Prinzipiell kann es funktionieren, da Win2K einen ähnlichen Unterbau hat wie WinXP, es fehlen aber manche System DLLs die AF aber nötig hat. So wird z.B. gdiplus.dll fehlen schätze ich mal.

Installier SP4 und diesen KB Platform SDK Redistributable: GDI+ (http://www.microsoft.com/downloads/details.aspx?FamilyId=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en)
Das sollte alle nötigen dateien installieren.

Wenn ich mich nicht allzusehr täusche gehts dann damit auch unter Win2K.


@Double_A:

...Standard-Pfad für die Projekte selbst einstellen?
Ja, das ist geplant, hab das nur bis jetzt noch nicht eingebaut.
Es gibt noch ein paar Schwierigkeiten mit dem ISP Interface, wenn die gelöst sind kann ich mal wieder eine neue Release ausgeben.

Gruss,

O.


PS. Besorg die mal ein Update auf WinXP, dann bist Du diese Probleme los.

Cruser12
17.05.2010, 13:22
danke,

hammer programm :)

Cruser12

Cruser12
17.05.2010, 21:24
hmm...das programm startet es aber irgendwie will der das nicht compilieren...

ich hab den pfad für mein WinAVR, und meine lib angegeben, aber es funzt nicht...entweder findet er die "asuro.h" nicht oder meckert sonst was...

Fehlt da noch was?

Cruser12

Double_A
17.05.2010, 22:19
Poste mal die ganze Ausgabe...

Oder nimm sonst meine portable Version (alles ist schon eingerichtet)
http://depositfiles.com/files/qmy1uffws

Am besten direkt ins C: entpacken da Leerzeichen im Pfad Probleme machen.

Cruser12
20.05.2010, 20:32
naja, ich halte persönlich nix von so seiten...gibts die portable zip auch wo anders?

danke

Double_A
20.05.2010, 20:45
Naja 35MB Webspace hab ich nicht zu Verfügung...
Von daher wirste wohl oder übel die nehmen müssen.
Vllt. kanns Osser ja durchtesten und auf seiner Seite hosten.



Achja und @ Osser: Mit ist heute aufgefallen, dass der Flasher nach einer Weile einfach nicht mehr geht.
Konnte so etwa 10 Mal flashen, danach flasht es nicht mehr korrekt. Es flasht nix, zeigt aber trotzdem eine Erfolgsmeldung...

Auch nach einem Neustarten von AsuroFlash blieb das Problem. 0o

Weisste woran das liegt? Mit dem normalen Asuro Flasher ging alles noch...

Osser
25.07.2010, 23:52
Hi @all,

Hab mal wieder ein kleines Update erstellt und geuppt.
Alle Änderungen sollten beim ersten Start im Help/Info Dialog angezeigt werden.

Die Aktuelle Version ist 1.8.13.110

Der link zum Blog wo der Installer gedownd weden kann.
AsuroFlash Blog (http://www.secius.com/AsuroFlash)

Gruss,

O.

ThaliMaxi
14.07.2011, 12:17
hallo zusammen bin neu im forum und muss für die schule einen asuro aus einem labyrinth fahren lassen

hab jetz die neue lib installiert mit der exe von Osser und versuche gerade auf seine eierlegendewollmichsau umzustellen

versuche grad die test zu kompilieren bekomme aber folgende Fehlermeldung:
>Session Environment Variables:
AF_AVRDIR=D:\WinAVR
AF_PROJECT=AsuroTest
AF_SOURCE_FILES=test.c asuro.c
AF_ASM_SRC_FILES=
AF_PRGDIR=C:\Program Files (x86)\AsuroFlash
AF_PRJDIR=C:\ProgramData\AsuroFlash\Projects\TestA suroProjekt
AF_ASURO_LIB_PATH=%AllUsersProfile%\asuro_lib\lib
File test.c saved.
File asuro.c saved.
File asuro.h saved.
>Default make_all.cmd file created.
>Default makefile created.
Make
C:\ProgramData\AsuroFlash\Projects\TestAsuroProjek t>D:\WinAVR\utils\bin\make.exe all
Das Ger„t ist nicht bereit.


ExitCode 1
>Ready.

was habe ich falsch eingestellt oder was noch gar nicht eingestellt
bitte um schnelle hilfe denn der abgabetermin rückt schnell näher.

radbruch
14.07.2011, 13:09
AF_PRJDIR=C:\ProgramData\AsuroFlash\Projects\TestA XsuroProjekt

Ist das Leerzeichen hier richtig?

ThaliMaxi
14.07.2011, 13:42
hat sich erledigt

hab trotzdem jetz eine andere frage:

was muss ich alles machen um die neue bibliothek auf meinem rechner zu verwenden
hab die zip datei runtergeladen
bitte eine detailierte beschreibung da ich nicht firm bin auf diesem gebiet

ukuchel
23.04.2013, 19:00
Hallo,
der letzte Beitrag in diesem Thread ist nun schon fast zwei Jahre her, da wird es Zeit...

Für mein neues Projekt habe ich mir einen Arduino Uno R3 zugelegt. Den Arduino-Editor finde ich nicht so dolle und habe deshalb probiert, den Arduino mit der Eierlegendenwollmilchsau zu programmieren. Das ist mir z.T. auch gelungen, aber ich bin daran gescheitert, die mitgelieferten Bibliotheken des Arduino einzubinden. Dazu war es mir wichtig, die Verzeichnisstruktur der Arduino-Software (incl. Compiler) unverändert zu lassen. Auf diesem Wege könnte ich die originale IDE weiterhin nutzen und ohne Probleme auch Updates einspielen.

Hat sich jemand daran schon probiert?

Ulli

Osser
23.04.2013, 20:21
Hi Ulli,

die Libraries kannst Du über den Makefile einbinden.

25218

Gruss,
Osser

ukuchel
23.04.2013, 21:43
Hallo Osser,
das ging ja schnell.

Ich habe bislang probiert, die Verzeichnisse der Bibliotheken im makefile einzutragen. Leider hat das nicht funktioniert. Auch das Einbinden des "wichtigsten" Arduino header files (Arduino.h) direkt ins Programm hat nicht funktioniert.

Die originale IDE vom Arduino geht einen etwas anderen Weg und transformiert zunächst den Programmcode automatisch im Hintergrund:

http://arduino.cc/en/Hacking/BuildProcess

Und diese Transformation habe ich noch nicht auf die Eierlegendewollmilchsau anpassen können.

Gruss,
Ulli

Osser
24.04.2013, 17:47
Hi Ulli,

poste bitte ein Zip-Archiv mit einem Library incl. Header Files.
Das was ich bei Googlitsch gefunden habe ist alles C++.

Gruss,
Osser

ukuchel
27.05.2013, 21:59
Hallo Osser,

ich habe jetzt ein wenig weiter mit meinen Arduino Uno R3 Board rumprobiert:

1.
Prinzipell ist es ziemlich einfach, die Eierlegende Wollmilchsau zum Programmieren des Arduino einzusetzen, solange der Code in C geschrieben wird und die Hardware mit Hilfe eigener Bibliotheken angesteuert wird.
Im Makefile muss lediglich MCU=atmega328p gesetzt werden. Dann klappt schon mal das Compilieren. Das Flashen erfolgt dann mit avrdude und der Kommandozeile -v -p atmega328p -c arduino -P com17 -D -U flash:w:"%AF_HEXFILE%":a. Die Version von avrdude sollte aktuell sein, sonst enthält die Datei avrdude.conf nicht den Arduino Treiber. Den richtigen Com-Port erfährt man im Hardware-Manager sobald man das Arduino-Bord das erste Mal in Betrieb nimmt und den Treiber installiert hat.

2.
Unter dem Stichwort "Cduino" kommt man über Google auf eine Seite zum gleichnamigen Projekt. Dort hat sich der Autor die Mühe gemacht, einige Bibliotheken in reinen C-Code zu übersetzen.

3.
Mein Ziel ist es aber, die Bibliotheken und die Compilerversion direkt aus dem Ordner, in dem sich die komplette und unveränderte Arduino-Installation befindet, zu nutzen: http://arduino.cc/en/Main/Software. Den Arduino-Ordner habe ich als Unterordner zur Eierlegenden Wollmilchsau angelegt, um die Pfadangaben möglicht einfach zu halten. Die Bibliotheken befinden sich dort "einige Etagen tiefer" im Ordner cores.
Einen Ansatz für ein neues makefile habe ich unter: http://playground.arduino.cc/Learning/CommandLine gefunden. Am Anfang des makefile findet sich eine ausführliche Anleitung. Leider ist es mir trotzdem noch nicht gelungen, das von mir gewählte Testprogramm zu compilieren.



//Testprogramm
// Blink: Turns on an LED on for one second, then off for one second...

#include <Arduino.h> //statt WProgram.h

// Pin 13 has an LED connected on most Arduino boards.
int led = 13; // give it a name:

// the setup routine runs once when you press reset:
void setup()
{
pinMode(led, OUTPUT); // initialize the digital pin as an output.
}

// the loop routine runs over and over again forever:
void loop()
{
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}


Ich werde es weiter probieren.

Gruss
Ulli

Osser
01.06.2013, 11:29
Hi Ulli,

also grundsätzlich startet mein Proggi zum Compilieren das Kommandoskript make_all.cmd

Zum Testen solltest Du im Projektverzeichnis eine Konsole öffnen (cmd.exe) und dann folgendes ausführen:
set AF_AVRDIR= <pfad zu AVR, also z.B. c:\WinAVR-20100110>
make_all.cmd

Dann kannst Du die Datei make_all.cmd so lange anpassen bis das Projekt sauber compiliert.
Den Inhalt der Datei make_all.cmd fügst Du dann in Asuroflash Options/C++ configuration im Tab Make all ein.
Ab dem Zeitpunkt benutzt Asuroflash genau diese Einstellungen zum Compilieren.

Viel Glück beim Testen.

Grüße,
Osser

ukuchel
03.06.2013, 19:09
Hallo Osser,
um überhaupt erst man ein Erfolgserlebnis zu bekommen, habe ich Deinen Ratschlag befolgt und bin dabei ganz einfach mit dem Kopf durch die Wand.
Ich habe mir mein Beispielprogramm:



// Blink: Turns on an LED on for one second, then off for one second...

# include "Arduino.h"

// Pin 13 has an LED connected on most Arduino boards.
int led = 13; // give it a name:

// the setup routine runs once when you press reset:
void setup()
{
pinMode(led, OUTPUT); // initialize the digital pin as an output.
}

// the loop routine runs over and over again forever:
void loop()
{
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}


mit der original Arduino-IDE 1.0 compilieren lassen. Die Compilermeldungen habe ich ganz einfach in den pn-Editor kopiert, die entsprechenden Befehle extrahiert, den Rest gelöscht und die AsuroFlash-Variablen eingefügt. Herausgekommen ist folgendes:



@set path=%AF_PRGDIR%\Arduino\hardware\tools\avr\bin\;% path%
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_PRJDIR%\%AF_SOURCE_FILES% -o%AF_PRJDIR%\%AF_SOURCE_FILES%.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\WInterrupts.c -o%AF_PRJDIR%\WInterrupts.c.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\wiring.c -o%AF_PRJDIR%\wiring.c.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\wiring_analog.c -o%AF_PRJDIR%\wiring_analog.c.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\wiring_digital.c -o%AF_PRJDIR%\wiring_digital.c.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\wiring_pulse.c -o%AF_PRJDIR%\wiring_pulse.c.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_PRJDIR%\%AF_SOURCE_FILES% -o%AF_PRJDIR%\%AF_SOURCE_FILES%.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\WInterrupts.c -o%AF_PRJDIR%\WInterrupts.c.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\wiring.c -o%AF_PRJDIR%\wiring.c.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\wiring_analog.c -o%AF_PRJDIR%\wiring_analog.c.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\wiring_digital.c -o%AF_PRJDIR%\wiring_digital.c.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\wiring_pulse.c -o%AF_PRJDIR%\wiring_pulse.c.o
avr-gcc -c -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\wiring_shift.c -o%AF_PRJDIR%\wiring_shift.c.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\CDC.cpp -o%AF_PRJDIR%\CDC.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\HID.cpp -o%AF_PRJDIR%\HID.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\HardwareSerial.cpp -o%AF_PRJDIR%\HardwareSerial.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\IPAddress.cpp -o%AF_PRJDIR%\IPAddress.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\Print.cpp -o%AF_PRJDIR%\Print.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\Stream.cpp -o%AF_PRJDIR%\Stream.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\Tone.cpp -o%AF_PRJDIR%\Tone.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\USBCore.cpp -o%AF_PRJDIR%\USBCore.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\WMath.cpp -o%AF_PRJDIR%\WMath.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\WString.cpp -o%AF_PRJDIR%\WString.cpp.o
avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=100 -I%AF_ARDCORES% -I%AF_ARDTYPES% %AF_ARDCORES%\main.cpp -o%AF_PRJDIR%\main.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\WInterrupts.c.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\wiring.c.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\wiring_analog.c.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\wiring_digital.c.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\wiring_pulse.c.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\wiring_shift.c.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\CDC.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\HID.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\HardwareSerial.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\IPAddress.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\Print.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\Stream.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\Tone.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\USBCore.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\WMath.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\WString.cpp.o
avr-ar rcs %AF_PRJDIR%\core.a %AF_PRJDIR%\main.cpp.o
avr-gcc -Os -Wl,--gc-sections -mmcu=atmega328p -o %AF_PRJDIR%\%AF_SOURCE_FILES%.elf %AF_PRJDIR%\%AF_SOURCE_FILES%.o %AF_PRJDIR%\core.a -L%AF_PRJDIR% -lm
avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 %AF_PRJDIR%\%AF_SOURCE_FILES%.elf %AF_PRJDIR%\%AF_SOURCE_FILES%.eep
avr-objcopy -O ihex -R .eeprom %AF_PRJDIR%\%AF_SOURCE_FILES%.elf %AF_PRJDIR%\%AF_SOURCE_FILES%.hex


Eingetragen habe ich diesen Befehlsblock im Config-Menue unter Make all. Ein makefile ist dann nicht mehr notwendig. Das Fenster Make file im Config-Menue bleibt also leer.
Das Aufräumen erfolgt durch einige wenige Befehle im Fenster Make clean im Config-Menue:



del %AF_PRJDIR%\*.o
del %AF_PRJDIR%\*.a
del %AF_PRJDIR%\*.eep
del %AF_PRJDIR%\*.elf


Zusätzlich zu den Standardvariablen zeigt
AF_ARDCORES in den Arduino-Ordner ..\hardware\arduino\cores\arduino und
AF_ARDTYPES in den Arduino-Ordner ..\hardware\arduino\variants\standard (Uno-Board!)

Die Arduino-Installation befindet sich im Verzeichnis von AsuroFlash im Unterordner Arduino.

Das ganze Verfahren ist sicher alles andere als professionell, aber immerhin ein Ansatz, der schon mal funktioniert.

An der makefile-Vorlage, die ich weiter oben erwähnt habe, bin ich bislang gescheitert.

Gruss
Ulli

ukuchel
04.06.2013, 12:43
Der nächste Schritt ist das Einbinden von weiteren Bibliotheken, z.B. zum Ansteuern eines LCD-Displays. Dazu habe ich die zunächst beiden Dateien "LiquidCrystal.h" bzw. "LiquidCrystal.cpp" aus der Arduino Installation in mein Projektverzeichnis kopiert und in mein Testprogramm includiert:



// HalloWelt: ....

# include "Arduino.h"
# include "LiquidCrystal.h"
# include "LiquidCrystal.cpp"


// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

// the setup routine runs once when you press reset:
void setup()
{
lcd.begin(16, 2); // Set up the LCD's number of columns and rows.
lcd.print("hello, world!"); // Print a message to the LCD.
}

// the loop routine runs over and over again forever:
void loop()
{ // Note: line 1 is the second row, since counting begins with 0).
lcd.setCursor(0, 1); // Set the cursor to column 0, line 1.
lcd.print(millis()/1000); // Print the number of seconds since reset.
}


Das Compilieren und das Flashen klappen einwandfrei.

Die beiden oben genannten Dateien dürfen nicht in das AsuroFlash-Projektverzeichnis aufgenommen werden, da sonst sie Variable AF_SOURCE_FILES mehrere Einträge enthält. Dann funktioniert das Compilieren mit meiner "Kopf durch die Wand"-Methode nicht.

Gruss
Ulli

ukuchel
27.06.2013, 13:44
Wenn der Pfadname eines Projektes Leerzeichen enthält, ist in make_all und make_clean

AF_PRJDIR

komplett (!) durch

"AF_PRJDIR"

zu ersetzen. Sonst gibt der Compiler Fehlermeldungen aus.
Alle anderen Installationsverzeichnisse enthalten bei mir keine Leerzeichen.
Hier müssen u.U. ebenfalls Anpassungen vorgenommen werden.

Ulli

ukuchel
19.10.2014, 12:03
Hallo Osser,
ich arbeite zur Zeit "immer noch" oder besser gesagt "mal wieder" mit der Kombination Arduino <> AsuroFlash.
Dabei nutze ich ziemlich viel das integrierte Terminalprogramm und habe hier einige Verbesserungsvorschläge.
Wenn Du Zeit und Lust hast, AF ein wenig weiterzuentwickeln, stelle ich meine Vorschläge gerne hier ins Forum.
Gruss
Ulli

Osser
20.10.2014, 17:58
Hi Ulli,

was brauchst Du denn für Verbesserungen?

Gruss,
Osser

ukuchel
20.10.2014, 21:46
Hallo Osser,
vielen Dank für deine schnelle Antwort. Ich habe mir in den letzten Wochen ein paar Dinge aufgeschrieben, über die ich immer wieder "gestolpert" bin.

Beim Terminalprogramm:
1. Wenn ich das Programmfenster von AF maximiere, bleibt der aktive Bereich im Terminalmodus begrenzt, d.h. er vergrößert sich nicht mit. Bei meinem Laptop füllt er z.B. nur ca. die Hälfte des Programmfensters aus, die ScrollBar verläuft dann senkrecht mitten durch den Bildschirm.
2. Nach einem Löschen des Terminalinhaltes bleibt der Cursor am Ende des Fensters stehen. Sinnvoll wäre es doch, wenn er an den Anfang zurückspringen würde.
3. Die Baudrate ist auf 9600 begrenzt. Das ist wahrscheinlich dem Asuro geschuldet, beim Datenempfang von einem Arduino wäre eine höhere Baudrate hilfreich.
4. Die Anzahl der darstellbaren Zeilen ist begrenzt. Werden zu viele Zeilen empfangen, "vergisst" das Terminalprogramm den Anfang. Ich beschäftige mich gerade mit einem Arduino-Datenlogger, da kommen schnell viele Zeilen zusammen.
5. Die empfangenen Daten lassen sich nicht abzuspeichern. Weder direkt in einer Datei, noch über "Drag and Drop". Kann man die Funktionalität des Terminalprogramms hier um einige Buttons erweitern (Start mit/ohne Reset, Stopp, Speichern..)? Noch besser wäre es natürlich, wenn man auch Zeichen senden könnte.
6. Der Tab-Befehl \t funktioniert nicht.

Config-Menue:
Hier wäre im make-file-Fenster eine Zeilennummerierung ziemlich hilfreich.


Menue-Leiste:
Die Schaltflächen lassen sich verschieben, diese Veränderungen gehen aber beim Beenden des Programmes verloeren.


Viele Grüße
Ulli

ukuchel
24.10.2014, 10:57
Hallo Osser,
gerade ist noch ein "echtes" Problem aufgetaucht.
Die Kombination AF<>Arduino Uno R3 (China Clone) funktionierte bis auf die oben genannten Schönheitsfehler einwandfrei. Nun habe ich mir einen weiteren Arduino Uno R3 Clone zugelegt, allerdings mit einem CH340-Interface-Chip. Das Aufspielen der Software funktioniert weiterhin, allerdings nicht der Datemempfang mit dem Terminal-Modul von AF. Mit anderen Terminal-Programmen funktioniert der Datenempfang einwandfrei, z.B. in der original IDE vom Arduino.
Die Einstellungen waren immer gleich: Com12, 9600Baud,8 Datenbits, 1 Stoppbit, Parity No.
Hast Du eine Idee?
Oder anders gefragt: Was können andere Terminalprogramme, was AF nicht kann?
Gruss
Ulli

PS: Die ausfürlich Fehlermeldung lautet:



================================================== ============================
= 24-10-2014 16:32:34 =
================================================== ============================
Error setting EventMask (87), Forkert parameter.

Exception class: EVaCommError
Exception message: Error setting EventMask (87), Forkert parameter.
Exception address: 00574589
------------------------------------------------------------------------------
Stack list, generated 24-10-2014 16:32:34
(00173584){AsuroFlash.exe} [00574584]
(001735E0){AsuroFlash.exe} [005745E0]
(001738EA){AsuroFlash.exe} [005748EA]
(00173A3B){AsuroFlash.exe} [00574A3B]
(0021070D){AsuroFlash.exe} [0061170D]
(0002987B){AsuroFlash.exe} [0042A87B]
(0009C3F9){AsuroFlash.exe} [0049D3F9]
(0009D0C0){AsuroFlash.exe} [0049E0C0]
(00029747){AsuroFlash.exe} [0042A747]
(0008C7C9){AsuroFlash.exe} [0048D7C9]
(001C9A4D){AsuroFlash.exe} [005CAA4D]
(001CA070){AsuroFlash.exe} [005CB070]
(0008CBE4){AsuroFlash.exe} [0048DBE4]
(0008CC66){AsuroFlash.exe} [0048DC66]
(0008AE9F){AsuroFlash.exe} [0048BE9F]
(0008C2DB){AsuroFlash.exe} [0048D2DB]
(000902D3){AsuroFlash.exe} [004912D3]
(00072A97){AsuroFlash.exe} [00473A97]
(000902D3){AsuroFlash.exe} [004912D3]
(0008BF68){AsuroFlash.exe} [0048CF68]
(0007C499){AsuroFlash.exe} [0047D499]
(0007A0E7){AsuroFlash.exe} [0047B0E7]
(0002A53C){AsuroFlash.exe} [0042B53C]
(001CA10C){AsuroFlash.exe} [005CB10C]
(0008BF68){AsuroFlash.exe} [0048CF68]
(0008FDC5){AsuroFlash.exe} [00490DC5]
(0009018D){AsuroFlash.exe} [0049118D]
(001C27DC){AsuroFlash.exe} [005C37DC]
(0008F9FC){AsuroFlash.exe} [004909FC]
(0002A53C){AsuroFlash.exe} [0042B53C]
(0002C522){AsuroFlash.exe} [0042D522]
(0007AABC){AsuroFlash.exe} [0047BABC]
(0007AAF6){AsuroFlash.exe} [0047BAF6]
(0007ADEB){AsuroFlash.exe} [0047BDEB]
(0021812F){AsuroFlash.exe} [0061912F]
------------------------------------------------------------------------------
System : Windows XP Professional, Version: 5.1, Build: A28, "Service Pack 3"
Processor: Intel, Intel(R) Core(TM) Duo CPU T2300 @ 1.66GHz, 1666 MHz MMX SSE3 DEP
Memory: 1014; free 573
Display : 1024x768 pixels, 16 bpp
------------------------------------------------------------------------------
List of loaded modules:
[00400000] F:\Programme\Asuro\WinAVR\AsuroFlash.exe
1.7.11.102 - 1.7.11.102
Flashing tool
[01120000] F:\Programme\Asuro\WinAVR\Asuro.flx
<00400000> 1.0.0.15 - 1.0.0.15
AF Standard Flash Driver
[01410000] F:\Programme\Asuro\WinAVR\ERobotix.flx
<00400000> 1.0.0.19 - 1.0.0.19
AF E-Robotix Flash Driver
[01600000] F:\Programme\Asuro\WinAVR\ExtPrcs.flx
<00400000> 1.0.0.19 - 1.0.0.19
AF External Flash Driver
[4EBC0000] C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_65 95b64144ccf1df_1.0.6002.23084_x-ww_f3f35550\gdiplus.dll
5.2.6002.23084 - 5.2.6002.23084 (vistasp2_ldr.130402-1536)
Microsoft GDI+
[59F30000] C:\WINDOWS\system32\DBGHELP.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Windows Image Helper
[5B250000] C:\WINDOWS\system32\uxtheme.dll
6.0.2900.5512 - 6.00.2900.5512 (xpsp.080413-2105)
Microsoft UxTheme-bibliotek
[5F2E0000] C:\WINDOWS\system32\olepro32.dll
5.1.2600.5512 - 5.1.2600.5512
[72FB0000] C:\WINDOWS\system32\winspool.drv
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-0852)
Windows Spooler-driver
[73290000] C:\WINDOWS\system32\RICHED32.DLL
5.1.2600.0 - 5.1.2600.0 (xpclient.010817-1148)
Wrapper Dll for Richedit 1.0
[746E0000] C:\WINDOWS\system32\MSCTF.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
DLL-fil til MSCTF-server
[74DF0000] C:\WINDOWS\system32\RICHED20.dll
5.30.23.1230 - 5.30.23.1230
Rich Text Edit Control, v3.0
[75190000] C:\WINDOWS\system32\msctfime.ime
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Microsoft Text Frame Work Service IME
[76370000] C:\WINDOWS\system32\IMM32.DLL
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Windows XP IMM32 API Client DLL
[76390000] C:\WINDOWS\system32\comdlg32.dll
6.0.2900.5512 - 6.00.2900.5512 (xpsp.080413-2105)
DLL-fil med fælles dialogbokse
[76BE0000] C:\WINDOWS\system32\PSAPI.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Process Status Helper
[76C20000] C:\WINDOWS\system32\WINTRUST.dll
5.131.2600.6285 - 5.131.2600.6285 (xpsp_sp3_gdr.120824-1617)
Microsoft API'er til tillidsbekræftelse
[76C80000] C:\WINDOWS\system32\IMAGEHLP.dll
5.1.2600.6479 - 5.1.2600.6479 (xpsp_sp3_qfe.131113-0419)
Windows NT Image Helper
[77110000] C:\WINDOWS\system32\oleaut32.dll
5.1.2600.6341 - 5.1.2600.6341
[773C0000] C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202\comctl32.dll
6.0.2900.6028 - 6.0 (xpsp_sp3_qfe.100823-1643)
User Experience Controls Library
[774D0000] C:\WINDOWS\system32\ole32.dll
5.1.2600.6435 - 5.1.2600.6435 (xpsp_sp3_qfe.130803-0418)
Microsoft OLE til Windows
[77910000] C:\WINDOWS\system32\setupapi.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2111)
API til Windows Installation
[77A70000] C:\WINDOWS\system32\CRYPT32.dll
5.131.2600.6459 - 5.131.2600.6459 (xpsp_sp3_qfe.131005-0434)
Crypto API32
[77B10000] C:\WINDOWS\system32\MSASN1.dll
5.1.2600.5875 - 5.1.2600.5875 (xpsp_sp3_gdr.090904-1413)
ASN.1 Runtime APIs
[77BF0000] C:\WINDOWS\system32\version.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Version Checking and File Installation Libraries
[77C00000] C:\WINDOWS\system32\msvcrt.dll
7.0.2600.5512 - 7.0.2600.5512 (xpsp.080413-2111)
Windows NT CRT DLL
[77DC0000] C:\WINDOWS\system32\ADVAPI32.dll
5.1.2600.5755 - 5.1.2600.5755 (xpsp_sp3_gdr.090206-1234)
Avanceret Windows 32 Base-API
[77E70000] C:\WINDOWS\system32\RPCRT4.dll
5.1.2600.6477 - 5.1.2600.6477 (xpsp_sp3_qfe.131106-0418)
Remote Procedure Call Runtime
[77F10000] C:\WINDOWS\system32\GDI32.dll
5.1.2600.6460 - 5.1.2600.6460 (xpsp_sp3_qfe.131009-0419)
GDI Client DLL
[77F60000] C:\WINDOWS\system32\SHLWAPI.dll
6.0.2900.5912 - 6.00.2900.5912 (xpsp_sp3_gdr.091207-1454)
Shells letvægts-programmappe
[77FE0000] C:\WINDOWS\system32\Secur32.dll
5.1.2600.5834 - 5.1.2600.5834 (xpsp_sp3_gdr.090624-1305)
Security Support Provider Interface
[7C800000] C:\WINDOWS\system32\kernel32.dll
5.1.2600.6532 - 5.1.2600.6532 (xpsp_sp3_qfe.140312-0419)
Klient-DLL til Windows NT BASE API
[7C900000] C:\WINDOWS\system32\ntdll.dll
5.1.2600.6055 - 5.1.2600.6055 (xpsp_sp3_gdr.101209-1647)
DLL til NT-lag
[7C9C0000] C:\WINDOWS\system32\shell32.dll
6.0.2900.6242 - 6.00.2900.6242 (xpsp_sp3_gdr.120608-1638)
Dll-fil med fælles dialogbokse til brugergrænsefladen i Windows
[7E360000] C:\WINDOWS\system32\USER32.dll
5.1.2600.5512 - 5.1.2600.5512 (xpsp.080413-2105)
Windows XP BRUGER API Klient
------------------------------------------------------------------------------
Active Controls hierarchy:
TAdvFileNameEdit "edFileName"
TAdvToolBar "AdvToolBar4"
TAdvDockPanel "AdvDockPanel1"
TFormMain "FormMain"
------------------------------------------------------------------------------

Osser
24.10.2014, 15:50
Hi Ulli,

manchmal liegt es an der Verkablung, wenn zum Beispiel das RTS nicht gesetzt ist.
Das Terminal in AF ist minimalistisch, selber setze ich mittlerweile ein anderes selbst geschriebenes Terminal ein das VT525 Kommandos versteht.
Damit kann ich dann Farben ändern, Cursor positionieren und so weiter. Das könnte ich auch einmal in AF integrieren.
Mit dem Terminal wären deine Fragen 1,2,3 und 6 gelöst.

zu 4.)
Also wenn der Schirm voll ist, ist er voll... ;)

zu 5.)
Über das Terminal kann mit einem speziellen Protokoll geladen und gespeichert werden.
Du kannst also in Dateien auf dem Rechner, auf dem das Terminalprogramm läuft, in Dateien Daten schreiben bzw. von den Dateien Daten lesen.

Das Terminal emuliert/ist angelehnt an ein Digital DEV VT525 Farbterminal.
Das sind ein paar Kommandos die unterstützt werden.


char ESC = 0x1B;
char CSI = 0x8b;
char DCS = 0x90;
char ST = 0x9c;

char* VT_CUR_HSC_s = "\x8b=1c"; /* show cursor */
char* VT_CUR_HSC_h = "\x8b=0c"; /* hide cursor */
char* VT_CUR_DECSC = "\x1b\x37"; /*ESC+7 save cursor pos */
char* VT_CUR_DECRC = "\x1b\x38"; /*ESC+8 restore cursor pos */
char* VT_IRM_ON = "\x8b\x34\x68"; /*CSI+'4h'*/
char* VT_IRM_OFF = "\x8b\x34\x6c"; /*CSI+'4l'*/
char* VT_ED2 = "\x8b\x32\x4a"; /*CSI+'2J'*/
char* VT_EL0 = "\x8b\x30\x4b"; /*CSI+'0K' Erase Line; From the cursor to the end of the line */
char* VT_SRM_off = "\x8b\x31\x32\x68"; /*CSI+'12h' Send/Receive Mode (Local Echo) off */
char* VT_SRM_on = "\x8b\x31\x32\x6c"; /*CSI+'12h' Send/Receive Mode (Local Echo) on */


char* VT_FONT_NORMAL = "\x8b\x30m"; /*CSI+'0m'*/
char* VT_FONT_BOLD = "\x8b\x31m"; /*CSI+'1m'*/
char* VT_FONT_USCORE = "\x8b\x34m"; /*CSI+'4m'*/
char* VT_FONT_BLINK = "\x8b\x35m"; /*CSI+'5m'*/

char* VT_DECDHL_T = "\x1b#3"; /* Double height line; Top half */
char* VT_DECDHL_B = "\x1b#4"; /* Double height line; Bottom half */
char* VT_DECSWL = "\x1b#5"; /* Single width line */
char* VT_DECDWL = "\x1b#6"; /* Double width line */

char* VT_REGIS = "\x90\x30\x70"; /* ReGIS graphics mode on; exited with ST(#$9C) */
char* VT_ST = "\x9c"; /* ReGIS graphics mode off */


Damit Du eine Idee bekommst was das original Terminal damals (ca. 1985) konnte....

http://www.youtube.com/watch?v=wXFjtV6ugVo
und das VT340

http://www.youtube.com/watch?v=ewP-EYlb2Xc


Meins ist aber noch nicht so ausgereift...


Gruß,

Osser

ukuchel
24.10.2014, 19:13
Hallo Osser,
ein komfortableres Terminalprogramm in AF wäre natürlich schön, bislang fand ich es bis auf die genannten "Schönheitsfehler" aber absolut ausreichend.
Meine Anfrage war eher so zu verstehen, ob es nicht mit sehr wenigen Modifakationen von AF möglich ist, die genannten Punkte zu ändern.

Noch einmal zu Punkt 4:
Da glaube ich, dass Du mich missverstanden hast. Nicht der Schirm ist voll, das ist er ja sowieso sehr schnell, sondern die zuerst angezeigten Zeilen verschwinden im Nirwana. Ein Beispiel: Vom Arduino werden folgende Strings gesendet:

Zeilennummer 1
Zeilennummer 2
Zeilennummer 3
...
Zeilennummer 498
Zeilennummer 499
Zeilennummer 500

Am Ende sieht mein Terminalfenster so aus:
29269
Scrollt man nun hoch:
29270
Die Zeilen 1 - 226 sind also verschwunden, obwohl sie übertragen wurden.

Zu Punkt 5:
Hier habe ich lange probiert.
Ein typischer Arduino-Befehl lautet: Serial.print(...).
Setze ich hier eine von den oben genannten Terminal-Sequenzen ein, passiert ... nix.

Zum CH340G-Chip:
Leider gibt es über die Verschaltung dieses Interface-IC's auf dem genannten Arduino-Board keine Informationen. Aber ich glaube auch nicht, dass das die (einzige) Ursache ist, denn die anderen Terminal-Programme bekomme ich ja dazu, die gesendeten Daten anzuzeigen. Bei AF erfolgt schon beim Aufrufen des Terminal-Moduls eine Fehlermeldung. Die hatte ich in meinem letzten Beitrag rangehängt.

Viele Grüsse
Ulli