Hallo zusammen,
meine µC-Zeiten liegen bereits über 10 Jahre zurück, deshalb bezeichne
ich mich mal als Anfänger.
Folgendes Problem:
ich habe mir eine kleine Schaltung von diamex gekauft
(http://www.diamex.de/dxshop/USB-Temperatur-Sensor-Tester-fuer-DS18B20).
Es handelt sich um einen µC (Atmel 90USB162) mit dem man Sensoren vom
Typ DS18B20 auslesen kann.
Der Quellcode des µCs ist auf der oben genannten Seite unter dem
Menüpunkt "Download" -> "Software und Anleitung Temperatursensor" zu
finden. Softwareseitig wird die max. Anzahl auf 5 Sensoren begrenzt. Ich
würde diesen Wert gerne auf 24 erhöhen.
Definiert ist die maximale Anzahl der Kanäle in der main.c in Zeile 13.
Die Verbindung mittels FLIP zum µC funktioniert.
Probleme habe ich nun bei der Erzeugung eines passenden HEX-Files. Kann
mir jemand unter die Arme greifen und erklären, wie ich den vorhandenen
Code ins ATMEL Studio lade, und ein neues HEX-File erzeuge bzw. gibt es
eine Anfängeranleitung, aus der man die entsprechenden Informationen
entnehmen kann?
Vielen Dank für Eure Unterstützung.
Gruß Michael
1) Wenn du das gemacht hast.
MSYS - Paket inkl. GCC-Compiler:
1. Archiv entzippen, z.B. auf C:/msys
2. "msys.bat" starten
3. Auf der Kommandozeile folgendes eintippen:
cd /home/temp-sensor/
4. make clean
5. make
MSYS - Paket inkl. GCC-Compiler
2) Dann download die "Software und Anleitung für Temperatursensor"
Software und Anleitung für Temperatursensor:
Inklusive Sourcecode für AT90USB162
Software und Anleitung für Temperatursensor
3) ändere deine Zeile im code
4) wechsel in das verzeichnis "BIOS" in cmd window un tippe
make clean
make
ein
Hi Bios,
vorab schon mal vielen Dank für das HEX-File. Werde es testen. Trotzdem
würde ich gerne den Fehler verstehen.
Das CMD-Window bleibt offen, wenn ich die mysys.bat ausführe. WinACR
habe ich im Verzeichnis C:/WinAVR installiert. Den Pfad habe ich auch in
der makefile angepasst.
Muss der Pfad noch an anderer Stelle angepasst werden?
Danke.
Gruß Michael
@Bios,
Dein HEX-File funktioniert, vielen Dank. Bzgl. der
Kompilierungsproblematik muss ich mich noch mal dahinterklemmen. Mir
sind die ganzen Begrifflichkeiten und Abhängigkeiten nicht mehr
geläufig.
@Jim,
sorry, wenn ich nochmal nachfrage. WinAVR ist mittlerweile unter
C:/WinAVR installiert. Im Makefile habe ich den Pfad entsprechend
angepasst. Wo muss die Umgebungsvariable noch angepasst werden? Danke.
Gruß Michael
Hi Michael,
die Umgebungsvariable setzt man über Windows.
Explorer -> rechte Maustaste auf Computer -> Eigenschaften -> Erweiterte
Systemeinstellungen
Tab "Erweitert" dort Umgebungsvariablen
Dort dann bei Systemvariablen
in die Path Variable dein Installations Verzeichnis eingeben
BSP:
C:\WinAVR-20100110\bin;C:\WinAVR-20100110\utils\bin;
Gruß,
BIOS
Hallo BIOS,
habe die Umgebungsvariable entsprechend Deinem Hinweis aktualisiert
(siehe Anhang). Bei mir ist der Installationspfad C:\WinAVR.
Der Fehler beim Kompilieren bleibt leider bestehen.
-------- BEGIN --------
Compiling: usb_rawhid.c
avr-gcc -c -mmcu=at90usb162 -I. -Os -std=gnu99 -DF_CPU=16000000UL -Iinc
-I.. -finline-limit=0 -ffunction-sections -fdata-sections
-fno-inline-small-functions -Wall -Wstrict-prototypes -MD -MP -MF
.deps/usb_rawhid.o.d usb_rawhid.c -o usb_raw
hid.o
sh: avr-gcc: command not found
make: *** [usb_rawhid.o] Error 127
-----------------------
Wo könnte ich noch nach der Ursache suchen? Vielen Dank.
Gruß Michael
Hallo Micha
bei mir steht die AVR-GCC.Exe in diesem Pfad.
C:\Program Files (x86)\Atmel\AVR Studio
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin.
Ist natürlich bei Dir anders.
Suche doch die Datei mit dem Explorer und kopiere dann die Pfadangabe
direkt in die Umgebungsvariablen
mfg
Auf deinem Rechner suchen, wo avr-gcc.exe liegt.
a) existiert: Pfad dahin in $PATH
b) existiert nicht: installieren
Mehr gibts dazu wirklich nicht zu sagen.
Fred schrieb:> Auf deinem Rechner suchen, wo avr-gcc.exe liegt.>> a) existiert: Pfad dahin in $PATH> b) existiert nicht: installieren>> Mehr gibts dazu wirklich nicht zu sagen.
Doch: $PATH ist nicht $PATH.
Sprich: Ist die Kommandozeile die ganze Zeit aktiv gewesen? Dann werden
die Umgebungsvariablen nicht aktualisiert bis sie manuell geändert
werden oder die Kommandozeile neu geöffnet wird, wenn du sie in den
Windows-Einstellungen änderst.
Du kannst mit "set" alle Variablen sehen
Sonst per "echo %PATH%" mal ausgeben lassen
Danke für Eure Rückmeldung.
Ich finde auf meinem PC die avr-gcc.exe zweimal.
1.) C:\WinAVR\bin
2.) C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.1
002\avr8-gnu-toolchain\bin
Verwendeter Variabelname: AVR32_HOME
Ich habe jetzt beide einmal als Umgebungsvariable eingetragen. Als
erstes Pfad (1), dann getestet, dann Pfad (2) und getestet. In der
Konsole habe mittels "set" jeweils geprüft, ob die Variable auch
registriert ist.
Der bekannte Fehler bleibt bestehen:
-------- BEGIN --------
Compiling: usb_rawhid.c
avr-gcc -c -mmcu=at90usb162 -I. -Os -std=gnu99 -DF_CPU=16000000UL -Iinc
-I.. -finline-limit=0 -ffunction-sections -fdata-sections
-fno-inline-small-functions -Wall -Wstrict-prototypes -MD -MP -MF
.deps/usb_rawhid.o.d usb_rawhid.c -o usb_raw
hid.o
sh: avr-gcc: command not found
make: *** [usb_rawhid.o] Error 127
-----------------------
Hat sonst noch jemand eine Idee? Danke.
Okay, danke. Jetzt habe ich auch verstanden, in welchen Variablennamen
die Angaben gehören. ASCHE AUF MEIN HAUPT! Steht ja alles schon weiter
oben. Sorry.
Nichts desto trotz stehe ich wohl immer noch auf dem Schlauch.
Die über set erhaltenen Angaben in Path
PATH=.:/usr/local/bin:/mingw/bin:/bin:/bin/subversion:/bin/git:/bin/Code
souceryG
++Lite/bin
finde ich so aber nicht unter Windows in den Umgebungsvariablen.
Hier ist folgendes zu finden:
C:\WinAVR\bin;C:\WinAVR\utils\bin;C:\Program Files\Common
Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common
Files\Microsoft Shared\Windows
Live;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYST
EMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program
Files\Intel\DMIX;C:\SWTOOLS\ReadyApps;C:\Program Files\7-Zip;C:\Program
Files (x86)\IVI Foundation\IVI\bin;C:\Program Files\IVI
Foundation\IVI\bin;C:\Program Files\IVI
Foundation\VISA\Win64\Bin\;C:\Program Files (x86)\IVI
Foundation\VISA\WinNT\Bin\;C:\PROGRA~2\IVIFOU~1\VISA\WinNT\Bin;C:\Progra
m Files (x86)\IVI Foundation\VISA\WinNT\Bin;C:\Program
Files\Siemens\Teamcenter8.3\Visualization\Products\Mockup\ClearanceDB;C:
\Program Files\Intel\WiFi\bin\;C:\Program Files\Common
Files\Intel\WirelessCommon\;C:\Program Files (x86)\Windows
Live\Shared;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files
(x86)\Atmel\Atmel Toolchain\AVR8
GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin
Der Pfad zur avr-gcc.exe ist mit C:\WinAVT\bin eingetragen. Es ändert
sich die Angabe in path allerdings nicht, wenn ich set aufrufe. (Konsole
wurde vorher geschlossen und neu gestartet).
Noch eine Idee? Vielen Dank.
Sodelle,
Problem gelöst. Ich habe unter der im ersten Link verfügbaren Msys
Installation Abstand genommen, mir ein MinGW auf den Rechner gepackt,
Source Code angepasst und kompiliert.
Alles fehlerfrei. Vielen Dank für die Unterstützung.
Gruß Michael