2017-06-13 15 views
-4

Ich versuche embedded C Programmierung für atmega zu lernen. Ich bin mit diesem Fehler steckt genanntatmega embedded C Programmierung

avr-gcc.exe (0,0): Createprocess: Keine solche Datei oder das Verzeichnis

ich einen einfachen C-Code von etwa 10 Zeilen geschrieben habe.

/* 
* RAJESH_AVRC_PROG.c 
* 
* Created: 6/10/2017 10:33:39 PM 
* Author: AMMU_AMMA 
*/ 

#define F_CPU 2000000L 
#include <avr/io.h> 
#include <avt/delay.> 
int main(void) 
{ 
    DDRB = 0xFF; 
    PORTB = 0xFF; 

    while(1) 
    { 
     PORTB = 0xFF; 
     _delay_ms(1000); 
     PORTB=0x00; 
     _delay_ms(1000); 
     //TODO:: Please write your application code 
    } 
} 
+4

Es kann Ihren 'avr-gcc.exe' Compiler nicht finden. völlig unabhängig von Ihrem Code. –

+3

'avt/delay.' ist ein ausgesprochen seltsamer Name für eine Datei. – EOF

+0

Hier gibt es viel zu verbessern, wie in den anderen Kommentaren erwähnt. Ich bin auch neugierig, wie Sie zu Ihrem Wert für F_CPU gekommen sind. Das ist überhaupt nicht typisch für erste Versuche. Auch es ist 'delay.h' und Sie müssen herausfinden, wo es wirklich auf Ihrem System ist. Und natürlich den Compiler finden. ;) – TomServo

Antwort

0

Wenn Sie einen schnellen Start zu bekommen, empfehle ich Ihnen Linux verwenden (in einer VM oder auf einem separaten PC). mit auf Debian/Ubuntu, können Sie die erforderlichen Werkzeuge auf einem Terminal installieren:

sudo apt-get install avrdude gcc-avr 

Anschließend können Sie diese verwenden, um Ihre Dateien zu kompilieren (für ATmega32):

avr-gcc -Os -mmcu=atmega32 RAJESH_AVRC_PROG.c -o RAJESH_AVRC_PROG.elf && avr-objcopy -O ihex -j .text -j .data RAJESH_AVRC_PROG.elf RAJESH_AVRC_PROG.hex 

Sie können die resultierende hex laden Datei auf Ihrem AVR.

+0

Eine Linux-VM ist eine Option, aber eine einfachere ist, dass die Installation der arduino-IDE notwendigerweise ein funktionierendes avr-gcc irgendwo ablegt - Sie müssen nur herausfinden, wo, und dann können Sie es ohne Weiteres für nicht-Arduino avr-Projekte verwenden. –