Hi,
ich versuche gerade Eclipse mit AVR zu laufen zu bekommen(Was wohl die
leichteste Methode ist, AVRs mit eine Macbook zu Programmieren?).
Allerdings klappt es nicht ;(
Ich möchte ein kleines Test-Programm auf den uController schreiben. Es
soll einfach eine LED blinken lassen. Allerdings tut sich gar nichts.
Falsche Einstellung in Eclipse?
Software:
Eclipse(Mars.2 Release (4.5.2))
AVR Eclipse Plugin Version 2.4.1
Hardware:
Verwendeter Mikrocontroller: ATMEGA8-16PU
Verwendeter Programmer:
USBasp (gekauft: Programmierer-Adapter 3.3V oder 5V USBASP
Download-Programm ISP-AVR
http://www.amazon.de/Programmierer-Adapter-3-3V-USBASP-Download-Programm-ISP-AVR/dp/B00AVRHVPO/ref=pd_bxgy_23_img_2?ie=UTF8&refRID=05Y7492NC4QX46XZW8RN)
Der Richtige MCU-Type wird automatisch vom Programm gefunden, wenn man
auf "Load from MCU" drückt.
Code:
1 | #include <avr/io.h>
|
2 |
|
3 | #define running 1
|
4 |
|
5 | // Unterprogramm mit Zeitschleife fuer ATMega16 ohne Quarz
|
6 | void delay_ms( unsigned int ms )
|
7 | {
|
8 | unsigned int i;
|
9 | unsigned int j;
|
10 |
|
11 | for ( i = ms; i; i-- )
|
12 | {
|
13 | for ( j = 1000; j; j-- )
|
14 | {
|
15 | asm ("nop");
|
16 | }
|
17 | }
|
18 | }
|
19 |
|
20 | int main( void )
|
21 | {
|
22 |
|
23 | // PortD6 als Output konfigurieren
|
24 | DDRD |= _BV(PD6);
|
25 |
|
26 | // Hauptschleife des Programms
|
27 | while ( running )
|
28 | {
|
29 | // LED einschalten, und dann warten
|
30 | PORTD |= _BV(PD6);
|
31 | delay_ms( 1000 );
|
32 |
|
33 | // LED ausschalten, und dann warten
|
34 | PORTD &= ~_BV(PD6);
|
35 | delay_ms( 29000 );
|
36 | }
|
37 | }
|
Output ("CDT Build Console[AVR]"):
1 | 16:07:25 **** Build of configuration Debug for project AVR ****
|
2 | make all
|
3 | Building file: ../main.c
|
4 | Invoking: AVR Compiler
|
5 | avr-gcc -Wall -g2 -gstabs -O0 -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=16000000UL -MMD -MP -MF"main.d" -MT"main.o" -c -o "main.o" "../main.c"
|
6 | Finished building: ../main.c
|
7 |
|
8 | Building target: AVR.elf
|
9 | Invoking: AVR C Linker
|
10 | avr-gcc -Wl,-Map,AVR.map -mmcu=atmega8 -o "AVR.elf" ./main.o
|
11 | Finished building target: AVR.elf
|
12 |
|
13 | Invoking: AVR Create Extended Listing
|
14 | avr-objdump -h -S AVR.elf >"AVR.lss"
|
15 | Finished building: AVR.lss
|
16 |
|
17 | Create Flash image (ihex format)
|
18 | avr-objcopy -R .eeprom -R .fuse -R .lock -R .signature -O ihex AVR.elf "AVR.hex"
|
19 | Finished building: AVR.hex
|
20 |
|
21 | Create eeprom image (ihex format)
|
22 | avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex AVR.elf "AVR.eep"
|
23 | Finished building: AVR.eep
|
24 |
|
25 | Invoking: Print Size
|
26 | avr-size --format=avr --mcu=atmega8 AVR.elf
|
27 | AVR Memory Usage
|
28 | ----------------
|
29 | Device: atmega8
|
30 |
|
31 | Program: 230 bytes (2.8% Full)
|
32 | (.text + .data + .bootloader)
|
33 |
|
34 | Data: 0 bytes (0.0% Full)
|
35 | (.data + .bss + .noinit)
|
36 |
|
37 |
|
38 | Finished building: sizedummy
|
39 |
|
40 |
|
41 | 16:07:26 Build Finished (took 401ms)
|
Allerdings bekomme ich in einem anderen Consolen-Fenster folgende
Fehler-Meldung:
1 | <terminated> (exit value: 127) AVR.elf[C/C++ Application] /Documents/workspace/AVR/Debug/AVR.elf(4/19/16, 4:07PM)
|
Hatte eventuell jemand das selbe Problem und weiß wie ich es beheben
kann?