2017-06-13 43 views
-4

我在學習嵌入式C編程for atmega。我堅持這個錯誤被稱爲atmega嵌入式C編程

AVR-gcc.exe(0,0):CreateProcess的:沒有這樣的文件或目錄

我已經寫了約10行簡單的C代碼。

/* 
* 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

它找不到你的'avr-gcc.exe'編譯器。與您的代碼完全無關。 –

+3

'avt/delay.'對於一個文件來說絕對是一個奇怪的名字。 – EOF

+0

在其他評論中提到的很多改進。我也很好奇你是如何得到F_CPU的價值的。對於第一次嘗試這根本不是典型的。它也是'delay.h',你需要找出它在系統上的真實位置。當然,找到編譯器。 ;) – TomServo

回答

0

如果您想快速入門,建議您使用Linux(在虛擬機或單獨的PC上)。在Debian/Ubuntu中,你可以使用一個終端上安裝所需的工具:

sudo apt-get install avrdude gcc-avr 

然後,您可以用它來編譯你的文件(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 

您可以加載生成的十六進制文件放到你的AVR上。

+0

Linux VM是一個選項,但更簡單是安裝arduino IDE必然會在某個地方轉儲一個可用的avr-gcc - 你只需要弄清楚在哪裏,然後你就可以很容易地將它用於非Arduino avr項目。 –