PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Asuro Programmieren WinAvr



Katjes
15.05.2018, 08:33
Ich habe folgendes Problem:

Ich habe mir nun aus dem Internet vom Asuro Wiki den kollisions Test runtergeladen, wenn ich aber nun diesen in mein Programmers Notepad einfüge und WinAVR Make all benutze erscheint nur folgende Fehlermeldung und es wird keine .hex Datei erstellt die ja zum flashen gebraucht wird.

Für Tipps wie ich die Fehlermeldung behebe oder die Hex Datei erstelle wäre ich dankbar.

Fehlermeldung:

> "make.exe" all
0 [main] sh 14244 sync_with_child: child 10836(0x160) died before initialization with status code 0xC0000142
39514 [main] sh 14244 sync_with_child: *** child state waiting for longjmp
/usr/bin/sh: fork: Resource temporarily unavailable
0 [main] sh 11288 sync_with_child: child 13884(0x160) died before initialization with status code 0xC0000142
14374 [main] sh 11288 sync_with_child: *** child state waiting for longjmp
/usr/bin/sh: fork: Resource temporarily unavailable

-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
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.

make.exe: *** No rule to make target `test.elf', needed by `elf'. Stop.

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

Code

/************************************************** *************************
*
* File Name: kollisiontest.c
* Project : ASURO
*
* Description: Kollisionstest mit Hilfe der Tastensensoren
*
* Ver. Date Author Comments
* ------- ---------- ----------------- ------------------------------
* 1.0 10.09.2005 Peter initial build
* 1.1 08.01.2006 Peter 2x PollSwitch + Vergleich,
* anstelle 8x PollSwitch
*
* benoetigt die modifizierte Asuro Bibliothek 'asuro.c'
* von waste, stochri und andun. Zu finden bei www.roboternetz.de
*/

#include "asuro.h"

#define FULL_L 250
#define FULL_R 220

/* Motor vorwärts */
void MotorFwd(void)
{
MotorDir(FWD,FWD);
MotorSpeed(FULL_L,FULL_R);
}

/* Motor rückwärts */
void MotorRwd(void)
{
MotorDir(RWD,RWD);
MotorSpeed(FULL_L,FULL_R);
}

/* Motor rückwärts Links */
void MotorRwdL(void)
{
MotorDir(RWD,RWD);
MotorSpeed(FULL_L,0);
}

/* Motor rückwärts Rechts */
void MotorRwdR(void)
{
MotorDir(RWD,RWD);
MotorSpeed(0, FULL_R);
}

/* Motor stop */
void MotorStop(void)
{
MotorSpeed(0,0);
}

int main(void)
{
unsigned char t1, t2;

Init();
while(1)
{
t1 = PollSwitch();
t2 = PollSwitch();
if(t1 == 0 && t2 == 0) /* keine Taste */
{
MotorFwd(); /* vorwärts fahren */
FrontLED(ON);
BackLED(OFF,OFF);
}
else if (t1 && t2 && t1 == t2)
{
MotorStop();
if(t1 & 0x07) /* Tasten links gedrückt? */
{
MotorRwdL(); /* Rückwärtskurve links fahren */
FrontLED(OFF);
BackLED(ON,OFF);
}
if (t1 & 0x38) /* Tasten rechts gedrückt? */
{
MotorRwdR(); /* Rückwärtskurve rechts fahren */
FrontLED(OFF);
BackLED(OFF,ON);
}
Msleep(1000); /* 1 Sekunde fahren */
}
}
return 0;
}




Mit freundlichem Gruß
Katjes

Ceos
15.05.2018, 08:48
2 Lösungen, Windows 7 oder kleiner verwenden

oder Atmel Studio 7 benutzen

der alte compiler tut es nicht mehr > Win8

Die Community um Asuro hat schon Lösungen diverser Art gebaut, aber die sind zu 98% englisch (liegt aber an meinen Such Präferenzen) also hilft nur einfach nach deinem Fehler googeln und Lösungen finden und hoffen

ich habe nach "winavr /usr/bin/sh: fork: Resource temporarily unavailable" gesucht

oberallgeier
15.05.2018, 11:04
.. folgendes Problem: .. vom Asuro Wiki den kollisions Test runtergeladen .. nur folgende Fehlermeldung und .. keine .hex Datei ..
Hallo Katjes, willkommen im Forum.

Meine verschiedenen Tests mit dem asuro, selbst erstellt oder (Quellen) runtergeladen, hatte ich fast immer mit AVR-Studio 4 auf Win7-pro compiliert. Ohne Makefile - der wurde vom Studio4 erstellt ;-}

Wenn ich´s richtig im Kopf habe war da schon auch mal ein Test dabei der auf WIN10-pro mit ATMEL-Studio7 compiliert wurde.

BTW, kleiner Tipp: Vielleicht könntest Du später noch Probleme mit dem Flashen bekommen. Die hatte jedenfalls ich (manchmal, öfters) und hatte mich daher auf ne Klipp-Lösung (diese (https://www.roboternetz.de/community/threads/48271-ISP-zum-Aufklippen-f%C3%BCr-THT-Controller?highlight=flashen)) mit dem "normalen" ISP-Anschluss festgelegt. Die Bildchen zeigen zweimal den tiny13 und einmal den mega8. Dabei könnte man allerdings den Bootloader überschreiben ! ! ! Aber Sicherheit und Geschwindigkeit sind dann zeitgemäss. Programmer war mein Standard (klick hier) (https://www.pololu.com/product/1300), das pololu-Dings USB AVR Programmer.

Ceos
15.05.2018, 11:39
Den bootloader kann man auf der asuro seite als binary runterladen und wieder per ISP aufspielen wenn man es braucht

Katjes
15.05.2018, 14:21
Danke für die Tipps habe mir nun das Atmel Studio 7 installiert und guck da grad ein wenig aber finde nur Anleitungen für Arduino. Steig da auch kaum durch da wir das bei der Arbeit als LZK haben und ich vorher noch nie damit zu tun hatte oder gar mit programmieren. =D

oberallgeier
15.05.2018, 19:04
.. Steig da auch kaum durch da wir das bei der Arbeit als LZK haben und ich vorher noch nie damit zu tun hatte oder gar mit programmieren ..MUSS ich verstehen was LZK ist - ausser Landes-Zahnärzte-Kammer ? Katjes, was bedeuten hier diese drei Buchstaben ?

i_make_it
15.05.2018, 20:00
LZK wäre bei Azubis eine "Lern Ziel Kontrolle".

Katjes
17.05.2018, 10:08
Ja ist eine Lern Ziel Kontrolle

- - - Aktualisiert - - -

Nun verwende ich das Atmel Studio 7 und bekomme wenn ich auf Make oder Compile klicke mit dem Code folgende Meldungen

Severity Code Description Project File Line
Error recipe for target 'library.o' failed Asuro C:\Users\VW4VC7D\Desktop\Neuer Ordner (2)\Neuer Ordner\Asuro\Asuro\Debug\Makefile 79

Severity Code Description Project File Line
Error asuro.h: No such file or directory Asuro C:\Users\VW4VC7D\Desktop\Neuer Ordner (2)\Neuer Ordner\Asuro\Asuro\library.c 18

radbruch
17.05.2018, 10:47
Hallo

Früher durften die Pfade keine Leer- oder Sonderzeichen enthalten:


...Neuer Ordner (2)\Neuer Ordner...

Vielleicht gilt das heute immer noch.

Gruß Micha

Katjes
17.05.2018, 10:58
Danke aber war leider nicht erfolgreich.

Wenn ich auf den 1 Fehler klick werde ich zu diesem abschnitt geleitet: ./%.o: .././%.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 5.4.0
$(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2. 150\include" -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega8 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.2. 150\gcc\dev\atmega8" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<

Beim 2 Hierhin:#include "asuro.h"

Ceos
17.05.2018, 11:04
hast du die asuro bibliothek mit in das projekt gepackt?

das sieht aus als ob er die asuro.h nicht findet und ihm notwendige files fehlen

frag mich jetzt bitte nciht wie genau das geht, ich habe die asuro lib jetzt nicht vor mir liegen aber du müstest in den projekteinstellungen den suchpfad zur asuo lib mit angeben

Katjes
17.05.2018, 11:49
Ja nun habe ich kein fehler oder eine Warnung mehr nur die HEX Datei wird nich erstellt =/

Ceos
17.05.2018, 12:06
poste mal noch den build log, sicher dass du auch in den einstellungen gesagt hast dass er ein hex machen soll und nciht nur ein ELF

Katjes
17.05.2018, 12:40
------ Build started: Project: Asuro, Configuration: Debug AVR ------
Build started.
Project "Asuro.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Compiler.targets" from project "C:\Users\VW4VC7D\Desktop\hallo\kol\Asuro\Asuro\Asu ro\Asuro.cproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils
C:\Program Files (x86)\Atmel\Studio\7.0\shellUtils\make.exe all --jobs --output-sync
make: Nothing to be done for 'all'.
Done executing task "RunCompilerTask".
Task "RunOutputFileVerifyTask"
Done executing task "RunOutputFileVerifyTask".
Done building target "CoreBuild" in project "Asuro.cproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files (x86)\Atmel\Studio\7.0\Vs\Avr.common.targets" from project "C:\Users\VW4VC7D\Desktop\hallo\kol\Asuro\Asuro\Asu ro\Asuro.cproj" (entry point):
Done building target "Build" in project "Asuro.cproj".
Done building project "Asuro.cproj".

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

Ceos
17.05.2018, 12:54
make: Nothing to be done for 'all'.

dein makefile hat kein all target, keine ahnung welches target du wählen musst

Katjes
17.05.2018, 13:07
Wie änder ich das

Ceos
17.05.2018, 13:44
wenn wir den buildlog und das makefile eines funktionierenden builds mal mit deinem vergleichen könnten würde es bestimmt ins auge stechen XD

leider bin ich aus der ebene des programmierens schon so weit raus dass ich keine ahnung mehr habe, hoffen wir auf die anderen Forenteilnehmer (will sagen makefiles und co. ich baue mir meine projekte meist baremetal oder lade mir ein OS auf den chip, wie micropython)

Katjes
17.05.2018, 14:26
Ja ich habe da nich allgemein so viel Ahnung von =D.

Was halt nich wo ich das makefile bei builds ändern kann steck grad fest.