Not logged in. · Lost password · Register

Page:  1  2  next 

All posts by Mosha (19)

topic: Bier (Was ist dein Lieblingsbier?)  in the forum: Sonstiges Sonstige Themen und Unterhaltung
Mosha
Member since Oct 2010
19 posts
Lederer Pils. Fehlt definitiv
topic: Abgegebenes Programm anzeigen  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2406
faui0sr0 [~]> /proj/i4gspic/pub/showabgabe
Usage: /proj/i4gspic/pub/showabgabe <aufgabeX>
faui0sr0 [~]> /proj/i4gspic/pub/showabgabe aufgabe4
Keine Abgabe gefunden
faui0sr0 [~]> /proj/i4gspic/pub/showabgabe aufgabe3
Keine Abgabe gefunden
faui0sr0 [~]> /proj/i4gspic/pub/showabgabe aufgabe2
Keine Abgabe gefunden
faui0sr0 [~]> /proj/i4gspic/pub/showabgabe aufgabe1
Keine Abgabe gefunden
faui0sr0 [~]>

1. Testlauf
topic: "Initialisierungselement ist nicht konstant"  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2366
aber wieso? Im oberen Fall hab ich ein uint8_t array[] und PORTD steht ja für einen dereferenzierten uint8_t-Pointer, müsste Datentyptechnisch also hinhauen

im unteren Fall hab ich ja ein uint8_t *array[] und in klammern hab ich die dereferenzierung weggelassen.
Datentyptechnisch also eigtl. auch ok.

Der compiler meckert ja nicht wegen Datentypen, sondern wegen den nicht konstanten Ausdrücken.

Schreibe ich im oberen fall statt PORTD (*(volatile uint8_t*)(0x12)) manuell rein, geht's auch.


echt verzwickt die Sache.

mfg,
Markus


Nachtrag:

#define PORTD ((volatile uint8_t*)(0x12))
static volatile uint8_t    *array_PORT[] = {PORTD};

so gehts.

#define PORTD (*(volatile uint8_t*)(0x12))
static volatile uint8_t    array_PORT[] = {PORTD};

so nicht. :D

egal
This post was edited on 2011-06-18, 21:12 by Mosha.
topic: "Initialisierungselement ist nicht konstant"  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
Subject: "Initialisierungselement ist nicht konstant"
#define PORTD (*(volatile uint8_t*)(0x12))
static volatile uint8_t    array_PORT[] = {PORTD};

-->  hier bringt mit der Compiler die Meldung  "Initialisierungselement ist nicht konstant"
(mir ist bekannt, dass man anscheinend keine globalen Variablen mit anderen Variablen initialisieren darf);

bei

static volatile uint8_t* array_PORT[] = {(volatile uint8_t*)(0x12)}
nicht

Ich dachte, der Präprozessor ist reine Textverarbeitung und ersetzt mir die Ausdrücke automatisch vor dem Compilen.
Offenbar merkt das mein Compiler nicht und meckert rum. So ist es natürlich sau unschön, diese Arrays anzulegen.
Woran kann das liegen?

Ich benutze gcc unter Linux mit dem originalen Makefile. Muss man da irgendwelche Optimierungsflags entfernen?


Danke für jede Hilfe,
mfg, Markus
topic: AVRSTudio vorladen - Probleme mit dem Flash_ISP-Button - Lösung  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2335
Quote by Gwen:
Hi,

könntet ihr vielleicht nochmal etwas genauer erklären wie  ich den Pfad in Build Events ändern muss.

Das, was da steht ist der Text, der beim Klicken auf "build" (oder durch F7) in eine Datei namens stk500.bat geschrieben wird.

D.h. der Pfad muss erstmal auf die stk500.exe zeigen. Im Normalfall, wenn du die commandlinetools richtig installiert hast, ist das:

C:\Programme (x86)\Atmel\AVR Studio 5.0\tools\stk500  (in diesem Verzeichnis müssen die stk500.exe und libelfdwarfparser.dll liegen)

Falls nach dem builden und anschließendem klicken auf flash_isp immer noch eine Meldung kommt, dass irgendein Pfad nicht gefunden wurde, lösche erstmal die vorhandene
stk500.bat und klicke erneut auf build.

Falls eine Meldung kommt "Aufgabe.hex" nicht gefunden, musst du in den Build events das %Name durch %MSBuildProjectName ersetzen
topic: AVRSTudio vorladen - Probleme mit dem Flash_ISP-Button - Lösung  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2304
Quote by Chris71670 on 2011-05-31, 14:44:
Hallo,

bei mir funktioniert der Flash-ISP Button auch noch nicht. die Ausgabe in der Konsole ist wie folgt:


Der Befehl "C:\Dokumente" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.


Jemand eine Idee was ich verändern muss. Hab AVR-Studio genauso eingerichtet wie es in der Anleitung beschrieben wurde.

mfg

Chris71670

Also meiner Erfahrung nach funktionieren Verzeichnispfade ohne Leerzeichen besser.
Ansonsten nochmal genau auf die " " achten.
topic: AVRSTudio vorladen - Probleme mit dem Flash_ISP-Button - Lösung  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2229
Quote by mukkl:
Hmm, bei mir geht der Flash_ISP-Button leider immer noch nicht und es erscheint die Meldung, dass "liebelfdwarfparser.dll" auf dem Computer fehlt. Irgendjemand eine Idee?

Deinstalliere die Commandlinetools (falls vorhanden)
Du hast sie wahrscheinlich nach C:\Programme (x86)\Atmel\Commandlinetools oder so ähnlich installiert.

Wähle dieses mal als Verzeichnis (C:\Programme (x86)\Atmel\AVR Studio 5.0\tools
Danach findest du in diesem Ordner \avrispmkii die erforderlichen .dlls, die du dann nach stk500 kopieren kannst

mfg,
Mosha

edit:  die Sache mit dem fehlenden Button lässt sich normalerweise dadurhc beheben, indem du im AVRStudio  gemäß der Folien http://www4.informatik.uni-erlangen.de/Lehre/SS11/V_GSPIC/…, Seite 12  die Settings importierst
This post was edited on 2011-05-27, 15:56 by Mosha.
topic: AVRStudio einrichten  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2181
Quote by holzblock:
Hi!
Ich habe das Problem, dass mein AVRISP mk II nicht von AVR studio erkannt wird. Bin nach der Anleitung vorgegangen habe die den Jungo Treiber und alles installiert aber mir wird das Gerät unter Debugger nicht angezeigt, nur der AVR Simulator. Treiberinstallation müsste aber soweit geklappt haben. Das Gerät wird von Windows erkannt, LED leuchtet und im Gerätemanager kann ich es auch sehen. Weiß da jmd. weiter?

der AVRISP mk II ist KEIN debugger, sondern nur der Programmer.

Geh mal auf tools/Programming im AVR-Studio.
Du solltest oben links den AVRISP auswählen können und "apply" klicken.
Dann kannste mit dem Schieberegler die Frequenz einstellen. (muss <90KHz sein, starte zu Testzwecken aber lieber erstmal mit weniger)

und dann befürchte ich, musst du noch diverse Änderungen in den Pfaden usw. vornehmen.

Mir ist zB aufgefallen, dass unter "rechtsklick auf das Project" / Build  in der Kommandozeile, wo das stk500.bat erzeugt wird, ein Makro namens $Name existiert.
Dieses liefert allerdings Aufgabe zurück. Bei mir konnte deshalb nicht geflasht werden, da nach Aufgabe.hex gesucht wurde, aber nur eine aufgabe2.hex vorhanden war.
Ich hab dann  $Name durch $(MSBuildProjectName) ersetzt und dann ging alles.

Also, einfach bisschen rumexperimentieren, irgendwann hat man dann schon ein funktionierendes AVR-Studio.
Im Nachhinein muss ich sagen, dass die Einrichtung einer Programmierumgebung unter Linux deutlich einfacher war, aber auch nur, weil es schon ein Makefile gab.
topic: AVRStudio einrichten  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2152
Quote by bem:
Hallo,

ich gehe jetzt mal davon aus, dass hier von Linux die Rede ist.
Dein User muss erstmal in der Gruppe dialout sein.
Leg dir eine Datei /etc/udev/rules.d/60-atmel.rules mit folgendem Inhalt an:

SUBSYSTEM!="usb_device", ACTION!="add", GOTO="avrisp_end"

# Atmel Corp. JTAG ICE mkII
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2103", MODE="660", GROUP="dialout"
# Atmel Corp. AVRISP mkII
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2104", MODE="660", GROUP="dialout"
# Atmel Corp. Dragon
ATTR{idVendor}=="03eb", SYSFS{idProduct}=="2107", MODE="660", GROUP="dialout"

LABEL="avrisp_end"

Jetzt noch udev neustarten, den Programmer ab- und wieder anstöpseln und fröhlich drauf los flashen ;)

HTH

Bernd


Genial,
Danke! Jetzt geht wirklich alles.
topic: AVRStudio einrichten  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2148
Ok, vielen Dank, hat soweit funktioniert.

Jetz steh ich shcon wieder vor dem nächsten Problem:

Hab das Makefile jetzt so weit manipuliert, dass er versucht, die .hex mittels avrdude zu flashen.

Allerdings kommt hier der Output:

         Using Port                    : usb
         Using Programmer              : avrisp2
         Setting bit clk period        : 2.0
avrdude: usb_open(): cannot read serial number "error sending control message: Operation not permitted"
avrdude: usb_open(): cannot read product name "error sending control message: Operation not permitted"
avrdude: usbdev_open(): Found [unnamed product], serno: [unknown]
avrdude: usbdev_open(): error setting configuration 1: could not set config 1: Operation not permitted
avrdude: usbdev_open(): did not find any USB device "usb"
make: *** [snake.hex.flash] Fehler 1
rm snake.hex snake.elf

Der Absatz im Makefile sieht so aus:

$(AVRDUDE) -p m32 -B 2 -c avrisp2 -P usb -U flash:w:$< -v;

ändere ich ihn auf
$(AVRDUDE) -p m32 -B 2 -c avrisp -P usb -U flash:w:$< -v;

kommt ein ähnlicher output, dass das Gerät "usb" nicht gefunden wurde.
Was könnt' man hier noch tun?
topic: AVRStudio einrichten  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2144
Quote by morty:
Quote by Steve91:
diese Datei suche, finde ich diese nur unter \AVR Tools\  --> kopierte dies trotzdem hinein, jedoch änderte dies nicht an der Fehlermeldung
("libelfdwarfpaser.dll nicht installiert").
Da ist wohl bei der Installation der Commandline Tools etwas schief gelaufen. Evtl einfach nochmal drüber installieren (die DLL muss in Windows regestriert werden - kopieren funktioniert also nicht).


Quote by Steve91:
Noch kurz zum Debugger. Wenn ich unter Project ->  <x> properties den Debugger festlegen will, kann ich nur den AVR Simulator auswählen und nicht, wie gewünscht, den JTAGICE Debugger.


Naja, du wirst auch nur den ISP und nicht den JTagICE (goßer Kasten) haben.


Also, bei mir hat das bloße Rüberkopieren der libelfdwarfparser.dll schon ausgereicht, vermutlich aber nur, weil der Pfad zum Verzeichnis, in dem sie liegen SOLLTE in Windows registriert war, sprich, du musst auf jeden Fall die Commandlinetools installieren.
Versuche mal eine komplette Deinstallation von AVRStudio und allen dazugehörigen Komponenten und installiere dann alles mit angestöpseltem Programmer neu.
-Danach AVR mit Templates und Settings einrichten.
-Neues SPIC-Projekt erstellen
-Rechtsklick auf das Projekt, alle Pfade ändern.
-File/export  und dein neues, leeres Projekt mit den neuen Pfaden als neues Template exportieren (dann musst du nicht bei jedem neuen Projekt die Pfade ändern)
-Coden, builden, flashen und freuen



Frage zu Linux und avr-gcc:
wie kann ich zusätzliche includepfade angeben?
Beim compilen findet er zwar den Pfad zu led.h etc., nicht aber die stdint.h, die ja im AVR-Verzeichnis liegt. Wie kann ich diesen Pfad als Paramter an avr-gcc übergeben?
topic: AVRStudio einrichten  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2098
Quote by morty:
Quote by Mosha:
Quote by morty:
...das ist die Falsche stk500.exe. Du brauchst die, die mit http://www.atmel.no/beta_ware/AVRCommandLineTools/AVRComma… installiert wird.

:( hat leider nichts gebracht, selber output

Das müsste was von
STK500 command line programmer, v 2.3 Atmel Corp (C) 2004-2009.
stehen. Evtl hilft auch ein Firmware update....


So:
Firmware Update war vorher schon durchgeführt.
Ich habe jetzt die commandlinetools in ein anderes Verzeichnis kopiert.

C:\Program Files (x86)\Atmel\AVR Studio 5.0\tools\

Beim Flashen kam die Meldung, ich hätte  libelfdwarfpaser.dll nicht installiert.
Diese kopierte ich aus dem Ordner

C:\Program Files (x86)\Atmel\AVR Studio 5.0\tools\AVRISPmkII

nach

C:\Program Files (x86)\Atmel\AVR Studio 5.0\tools\STK500

jetzt komm beim Flashen folgender Prompt:
C:\Program Files (x86)\Atmel\AVR Studio 5.0>"C:\Program Files (x86)\Atmel\AVR Studio 5.0\tools\STK500\Stk500.exe" -cUSB -dATmega32 -e -pf  -if"D:\Dokumente\Studium\AVR\aufgabe2\Build\Aufgabe.hex"  
STK500 command line programmer, v 2.3 Atmel Corp (C) 2004-2009.

Connected to AVRISP mkII on port USB:000200069122
Device parameters loaded
Programming mode entered
Device erased
FLASH input file D:\Dokumente\Studium\AVR\aufgabe2\Build\Aufgabe.hex read
Programming FLASH... Could not program FLASH
Programming mode left
Connection to AVRISP mkII closed

WARNING! One or more operations failed! Please examine the output log above!

die .hex Datei ist vorhanden und sollte funktionieren, da das Programm heute in den Übungen schon voll funktionstüchtig auf den Controlloer geflasht wurde


edit: hatte was mit der Frequenz zu tun!
Unter Tools/AvrProgramming im Studio die Frequenz auf x < 1/4 * (Frequenz des Controllers) stellen. Hatte die Frequenz grade nicht zur Hand, also einfahc mal 2khz und voilá: es geht!

Tausend Dank!

Ich helfe anderen, die ähnliche Probleme haben, gerne weiter, damit nicht alle zu morty ins Büro stürmen :D
Evtl. komm ich am Wochenende auch dazu ein Tutorial mit Bildern zu erstellen und irgendwo hochzuladen.
Danach wird das Projekt Linux in Angriff genommen, da ich eigentlich gar nicht unter Windows proggen wollte.
This post was edited on 2011-05-18, 15:18 by Mosha.
topic: AVRStudio einrichten  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2093
Quote by morty:
...das ist die Falsche stk500.exe. Du brauchst die, die mit http://www.atmel.no/beta_ware/AVRCommandLineTools/AVRComma… installiert wird.

:( hat leider nichts gebracht, selber output
topic: AVRStudio einrichten  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
In reply to post ID 2090
Jepp, die Einrichtung unter Linux würde ich auch interessieren.

Hab´ allerdings unter Windows mit AVRStudio noch das Problem, dass der Programmer wohl nicht erkannt wird.

Ausgabe der Konsole beim Flashen:


C:\Program Files (x86)\Atmel\AVR Studio 5.0>"D:\Dokumente\Studium\AVR\stk500.exe" -cUSB -dATmega32 -e -pf  -if"D:\Dokumente\Studium\AVR\aufgabe2\Build\Aufgabe.hex"  

STK500 v 1.20 (C) 2000-2002 Atmel Corp.

Detecting.. FAILED!

(Die Pfade oben sind die von meinem Homerechner, sprich die .exe und .hex sind vorhanden)
Das Gerät wird im Gerätemanager unter "Jungo" erkannt, leider kann ich im AVRStudio unter tools --> add mk500 keinen Port auswählen.

Wäre für jede Hilfe dankbar

Aber schonmal tausend Dank für die schnelle Hilfe bei der Einrichtung @ Morty
topic: AVRStudio einrichten  in the forum: 2. Semester Grundlagen der systemnahen Programmierung in C
Mosha
Member since Oct 2010
19 posts
Subject: AVRStudio einrichten
Hi.
Ich mag mir gestern ein SPiC-Board zusammengelötet und den entsprechenden Programmer gekauft.
Ich habe allerdings noch Schwierigkeiten, eine Programmierumgebung einzurichten und zwar sowohl unter Linux als auch unter Windows.
Der Einfachkeit halber beschränke ich mich mal auf die Problembeschreibung unter Windows:

-AVRStudio 5 installiert
I4-Projekt importiert /proj/i4gspic/pub/tools/AVRStmpl.zip
-settings importiert /proj/i4gspic/pub/tools/SPIC.vssettings

Testprojekt erstellt, blink.c

so, und jetzt beim compilen kam zunächst die Fehlermeldung "led.h nicht vorhanden"
Daraufhin hab ich mal alle .h-Dateien von der GSPiC-Seite ins das Projektverzeichniskopiert und den Pfad explizit angegeben
#include <d:\docs\...\led.h>  --> hat funktioniert

jetzt kommt eine Meldung couldnt find  -libspicbrd oder so ähnlich..

Also prinzipiell muss man wahrscheinlich einige Dateien von /proj/i4gspic/ runterladen und in ein Verzeichnis packen und den Pfad hierzu im AVRStudio einrichten.
Kann mir jemand sagen, was genau ich machen muss?

mfg
Close Smaller – Larger + Reply to this post:
Special characters:
Page:  1  2  next 
Go to forum
Powered by the Unclassified NewsBoard software, 20110527-dev, © 2003-8 by Yves Goergen