2017-06-13 1 views
-4

J'essaie d'apprendre la programmation C embarquée pour atmega. Je suis coincé avec cette erreur appeléeatmega intégré C programmation

-gcc.exe AVR (0,0): CreateProcess: Aucun fichier ou répertoire

J'ai écrit un simple code C d'environ 10 lignes.

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

Il ne trouve pas votre compilateur 'avr-gcc.exe'. totalement indépendant de votre code. –

+3

'avt/delay.' est un nom décidément étrange pour un fichier. – EOF

+0

Beaucoup à améliorer ici comme mentionné dans les autres commentaires. Je suis également curieux de savoir comment vous êtes arrivé à votre valeur pour F_CPU. Ce n'est pas du tout typique pour les premières tentatives. C'est aussi 'delay.h' et vous devez trouver où il se trouve réellement sur votre système. Et bien sûr, trouvez le compilateur. ;) – TomServo

Répondre

0

Si vous voulez obtenir un démarrage rapide, je vous suggère d'utiliser Linux (dans une machine virtuelle ou sur un PC séparé). Sur Debian/Ubuntu, vous pouvez installer les outils nécessaires sur un terminal en utilisant:

sudo apt-get install avrdude gcc-avr 

Vous pouvez ensuite utiliser pour compiler vos fichiers (pour 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 

Vous pouvez charger l'hexagone résultant fichier sur votre AVR.

+0

Une machine virtuelle Linux est une option, mais plus simple est que l'installation de l'IDE arduino vide nécessairement un avr-gcc fonctionnel quelque part - vous n'avez qu'à déterminer où, et alors vous pouvez facilement l'utiliser pour des projets avr non-Arduino. –