Hola Juan, efectivamente 4.4 funciona de manera básica y se deja construir, el problema ocurre cuando tratas de instanciar clases en un programa usando C++, en algunos casos los constructores de clases no retornan en su declaración haciendo que los programas no funcionen, en otros casos el código del constructor de la clase es erróneamente reemplazado (cuando se hace debug se puede ver esto). He probado con el paquete que Ricardo Dueñas envió y al parecer funciona bién tanto en 64 como en 32 bits pero necesitamos confirmar esto. He subido versiones de Wiring para probar http://wiring.org.co/download/wiring-0026.zip (Windows), http://wiring.org.co/download/wiring-0026.dmg (OSX) y http://wiring.org.co/download/wiring-0026.tgz (Linux), podrían ayudarme a probar si la de linux efectivamente funciona? Voy a probar también con la última versión del paquete que mandó Gabriel Zea.

Un abrazo,
Hernando.

Juan I Reyes wrote:
Hola Hernando,

avr-gcc con AVRLIB me funciona en fedora-12:

gcc version 4.4.3 20100127 (Red Hat 4.4.3-4) (GCC)

blueberry> avr-gcc -v

Using built-in specs.
Target: avr
Configured with: ../gcc-4.4.2/configure --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info --target=avr
--enable-languages=c,c++ --disable-nls --disable-libssp
--with-system-zlib --enable-version-specific-runtime-libs
Thread model: single
gcc version 4.4.2 (GCC)
Con mis makefiles y al compilar el 'Hello World' de Wiring/avr-gcc

blueberry> make
avr-gcc -c -g -Os -Wall -Wstrict-prototypes -I/home/juanig/avrlib
-Wa,-ahlms=blink.lst -mmcu=atmega128 -I. blink.c -o blink.o
avr-gcc -c -g -Os -Wall -Wstrict-prototypes -I/home/juanig/avrlib
-Wa,-ahlms=/home/juanig/avrlib/timer.lst -mmcu=atmega128
-I. /home/juanig/avrlib/timer.c -o /home/juanig/avrlib/timer.o
In file included from /home/juanig/avrlib/timer.c:20:
/usr/lib/gcc/avr/4.4.2/../../../../avr/include/avr/signal.h:36:2:
warning: #warning "This header file is obsolete.  Use
<avr/interrupt.h>."
avr-gcc  /home/juanig/avrlib/timer.o blink.o   -Wl,-Map=blink.map,--cref
-mmcu=atmega128 -o blink.elf
avr-objcopy   -O ihex    -R .eeprom blink.elf blink.hex
avr-objcopy   -j .eeprom --set-section-flags=.eeprom="alloc,load"
--change-section-lma .eeprom=0 -O ihex   blink.elf blink.eep
avr-objcopy: --change-section-lma .eeprom=0x00000000 never used
avr-size blink.elf
   text    data     bss     dec     hex filename
   2196       0      28    2224     8b0 blink.elf
Errors: none
avr-objdump -S blink.elf > blink.ss rm /home/juanig/avrlib/timer.o blueberry>

Por si acaso el programita de blink es:


//------------------------------------------------------
//------------------------------------------------------
// // AVRLIB-DEMO
//  For avrlib and Wiring development board.
// //
//  File:     blink.c
//  Author:   Juan Reyes    juanig-at-ccrma-stanford_edu
//  Date:     June 18, 2008
//
//  Notes:
//-----------------------------------------------------
//  USING THE WIRING DEVELOPMENT BOARD, BUILT-IN LED
//  IN PIN 48 PORT D SHOULD LIGHT.
//
//-----------------------------------------------------
//  Layout of ports in Wiring board correspond with
//  ATMega128 as follows:
//
//  ATMega128                WIRING
//  =========                ======
// // PORTD PORT-0
//  PORTC                    PORT-1
//  PORTA                    PORT-2
//  PORTB                    PORT-3
//  PORTE                    PORT-4
//  PORTF                    PORT-5
//  PORTG                    PORT-6
//-----------------------------------------------------
//  Layout of pins in Wiring board correspond with
//  ATMega128 as follows:
//
//  px0                   WPIN0
//  px1                   WPIN1
//   .                      .
//  px7                   WPIN7
//
//  Where x = {a,b,...,g}
//
//-----------------------------------------------------
//  More information about Wiring board:
//
//  http://wiring.org.co/hardware/index.html
// //-----------------------------------------------------
//  Information about functions used here and avrlib:
// // ~/avrlib/examples/basic_io/basiciotest.c // // //
//*********************************************************
//   Description:
//   ============
//
// This program will cause Built-in LED to blink on/off // every 500ms.
//
//*********************************************************


//compiler includes
#include <avr/io.h>
#include <avr/interrupt.h>

//avrlib includes
#include "global.h"
#include "timer.h"


int main(void)
{

// outb(register,byte) is a function that writes // a byte to a register.


        //  The DDRG register sets the direction of Port G.
        //  PORTG is labeled PORT6 on the Wiring Board.
// a '1' makes the corresponding pin an OUTPUT.
        // a '0' makes the corresponding pin an INPUT.
        // Ports can only be set as INPUT or OUTPUT (0x00, 0xff).

        // 0xFF is hexadecimal for binary 11111111.
// Therefore using ´outb'. all pins of PORTG // are set to OUTPUT as follows:
        //
        outb(DDRG, 0xFF);
        //
        

        // Gnome calculator in Fedora can do bin-to-hex conversion.
// The PORTG register can set the physical pins on port G high // or low when those pins are set to be outputs using DDRG. // When pins are set to input, the PORTG register does something
        // else that will be discussed later.
// To turn off the LEDs we want to pull the end connected to // port A high (to 5V) so that there will be no voltage drop
across
        // the LEDs. See the schematic.
        // So we "set" the low 4 bits HIGH (to 5V) of PORTG by writing
1's.
        // Remember 0xF0 is hexadecimal for binary 11110000
        
        outb(PORTG, 0xF0);
        

        // initialize the timer library
        timerInit();

        //loop forever
        while (1) {
          //clear bit PG0 in the PORTG register - turn LED on
          cbi(PORTG,PG0);
          //PORTG = 0xFF;
          // pause for 500ms
          timerPause(500);

          //set bit PG0 in the PORTG register - turn LED off
          sbi(PORTG,PG0);
          // PORTG = 0x00;
          //pause for 500ms
          timerPause(500);
}
        return 0;
}

//------------------------------------------------------

_______________________________________________
____ ____ ___  ____ _  _ ___
|__| |__/   /  |___  \/  |__]
|  | |  \  /__ |___ _/\_ |

Arzexp mailing list
[email protected]
http://lists.slow.tk/listinfo.cgi/arzexp-slow.tk

_______________________________________________
____ ____ ___  ____ _  _ ___
|__| |__/   /  |___  \/  |__]
|  | |  \  /__ |___ _/\_ |

Arzexp mailing list
[email protected]
http://lists.slow.tk/listinfo.cgi/arzexp-slow.tk

Responder a