logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Nut/os, MMnet103, WinAVR Problem z ruszeniem

BąQ 02 Lis 2009 22:25 1826 11
  • #1 7208145
    BąQ
    Poziom 11  
    Witam,
    posiadam moduł MMnet103 wraz z płytą EVBnet03.
    Zainstalowałem sobie najnowszego Nut/OS ze strony Tej konfiguruje wszystko jak opisane jest TU wybieram plik konfiguracyjny dla mojej płytki jednak, gdy próbuje zbudować os (postępując jak w manualu) wyskakuje błąd.

    Taki jest log

    
    22:20:22: Nut/OS Configurator Version 2.0.9
    22:20:22: Linked to wxWidgets 2.8.9
    22:20:22: Running on Windows XP (build 2600, Dodatek Service Pack 2)
    22:20:22: Working in c:\ethernut
    22:20:36: Loading nut/conf/repository.nut
    22:20:36: Loading C:/ethernut/nut/conf/MMnet103.conf
    22:20:36: OK
    22:21:18: Creating Makefiles for avr-gcc in C:/ethernut1/nutosbybaq
    22:21:18: Creating header files in C:/ethernut1/nutosbybaq
    22:21:18: OK
    22:21:19: ----- Running 'make clean' -----
    22:21:19: Located c:\ethernut\nut\tools\win32\make.exe
    22:21:25: ----- 'make clean' terminated successfully -----
    22:21:25: ----- Running 'make all' -----
    22:21:25: Located c:\ethernut\nut\tools\win32\make.exe
    avr-ar: creating libnutarch.a
    avr-ar: creating libnutos.a
    C:/ethernut/nut/dev/chat.c: In function `NutChat':
    C:/ethernut/nut/dev/chat.c:670: warning: implicit declaration of function `strdup'
    make[1]: *** [chat.o] Error 1
    make: *** [all] Error 2
    22:21:41: ----- 'make all' failed with error 2 -----
    22:21:44: ----- Running 'make install' -----
    22:21:44: Located c:\ethernut\nut\tools\win32\make.exe
    C:/ethernut/nut/dev/chat.c: In function `NutChat':
    C:/ethernut/nut/dev/chat.c:670: warning: implicit declaration of function `strdup'
    make[1]: *** [chat.o] Error 1
    make: *** [install] Error 2
    22:21:44: ----- 'make install' failed with error 2 -----
    


    wcześniej brakowało w ogóle biblioteki stdint.h bo była schowana po kataloga ale dorzuciłem ją bezpośrednio do katalogu include.

    Ale teraz już nie wiem co mam zrobić bo ten error nic mi nie mówi.
    Nic w kodzie nie zmieniałem.
  • #3 7208210
    tmf
    VIP Zasłużony dla elektroda
    strdup jest zadeklarowane w string.h - moze wiec po prostu wystarczy w tych plikach zainkludowac string.h i problem zniknie.
  • #4 7208272
    BąQ
    Poziom 11  
    podejrzałem plik chat.c i jest w nim dołączony już plik string.h
  • #5 7208326
    Freddie Chopin
    Specjalista - Mikrokontrolery
    A jednak dla 670-tej linijki tego pliku funkcja strdup nie posiada prototypu, więc kompilator interpretuje jej nazwę jako wprowadzenie funkcji typu int nazwa(void) (chyba).

    Sprawdź czy aby na pewno strdup jest zdefiniowane w tym nagłówku.

    No i pokaż "okolice" tej 670-tej linijki.

    4\/3!!
  • #6 7208389
    BąQ
    Poziom 11  
    int NutChat(int fd, CONST char *script)
    {
        int rc = -1;
        char *buf;
    
        /*
         * Work with a local copy of the chat string.
         */
       [b] if ((buf = strdup(script)) != NULL) {[/b]
            rc = NutChatProc(fd, buf);
            free(buf);
        }
        return rc;
    }


    fakt nie ma tego prototypu w string.h... to co zainstalować inną wersję WinAvr ?

    //Edit
    Pod linuxem wszystko mi się ładnie zbudowało nawet nie musiałem przenosić tej biblioteki. Jeżeli będę mógł zaprogramować płytę z linuxa pod wirtualna maszyną na której mam linuxa to chyba tak bede robił a jak nie to będę musiał dalej kombinować z tym.
  • #8 7213016
    BąQ
    Poziom 11  
    Zainstalowałem najnowszego WinAVR i teraz to już w ogóle jest lipa:

    
    23:38:39: Nut/OS Configurator Version 2.0.9
    23:38:39: Linked to wxWidgets 2.8.9
    23:38:39: Running on Windows XP (build 2600, Dodatek Service Pack 2)
    23:38:39: Working in c:\ethernut
    23:38:42: Loading nut/conf/repository.nut
    23:38:43: Loading C:/ethernut/nut/conf/MMnet103.conf
    23:38:43: OK
    23:38:58: Creating Makefiles for avr-gcc in C:/ethernut1/nutosbybaq
    23:38:59: Creating header files in C:/ethernut1/nutosbybaq
    23:38:59: OK
    23:38:59: ----- Running 'make clean' -----
    23:38:59: Located c:\ethernut\nut\tools\win32\make.exe
    23:39:03: ----- 'make clean' terminated successfully -----
    23:39:03: ----- Running 'make all' -----
    23:39:03: Located c:\ethernut\nut\tools\win32\make.exe
    In file included from C:/ethernut/nut/include/arch/avr/gcc.h:78,
                     from C:/ethernut/nut/include/arch/avr.h:94,
                     from C:/ethernut/nut/include/compiler.h:75,
                     from C:/ethernut/nut/include/sys/types.h:167,
                     from C:/ethernut/nut/include/sys/atom.h:105,
                     from C:/ethernut/nut/arch/avr/os/context_gcc.c:119:
    c:/winavr/lib/gcc/../../avr/include/avr/pgmspace.h:222: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'prog_int64_t'
    c:/winavr/lib/gcc/../../avr/include/avr/pgmspace.h:223: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'prog_uint64_t'
    make[1]: *** [avr/os/context_gcc.o] Error 1
    make: *** [all] Error 2
    23:39:05: ----- 'make all' failed with error 2 -----
    23:39:07: ----- Running 'make install' -----
    23:39:07: Located c:\ethernut\nut\tools\win32\make.exe
    In file included from C:/ethernut/nut/include/arch/avr/gcc.h:78,
                     from C:/ethernut/nut/include/arch/avr.h:94,
                     from C:/ethernut/nut/include/compiler.h:75,
                     from C:/ethernut/nut/include/sys/types.h:167,
                     from C:/ethernut/nut/include/sys/atom.h:105,
                     from C:/ethernut/nut/arch/avr/os/context_gcc.c:119:
    c:/winavr/lib/gcc/../../avr/include/avr/pgmspace.h:222: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'prog_int64_t'
    c:/winavr/lib/gcc/../../avr/include/avr/pgmspace.h:223: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'prog_uint64_t'
    make[1]: *** [avr/os/context_gcc.o] Error 1
    make: *** [install] Error 2
    23:39:07: ----- 'make install' failed with error 2 -----
    
  • #10 7213456
    tmf
    VIP Zasłużony dla elektroda
    Ten modul masz z Propoxu? Mysle, ze najprosciej jest sie skontaktowac z producentem i go zapytac czym to kompilowal. Skoro wywala ci bledy w naglowkach AVR-glibc to znaczy, ze gdzies jest skopany kod w nutOS. Zaczalbym od sprawdzenia pliku MMNet103.conf, pewnie gdzies konfigurator nie dodal srednika, nie zamknal nawiasu klamrowego itd.
  • #11 7234412
    herszt
    Poziom 18  
    Mi Ethernut kompiluje się TYLKO z jedną wersją WinAVR - 20050214. Wszystko inne wywalało całe mnóstwo błędów. Zupełnie tego nie rozumiem, ale tak jest :)

    A tak a propo. Może ktoś wie jak obsługuje się zewnętrzne przerwania w Ethernucie? Np. zbocze narastające na INT0 - kawałeczek kodu by bardzo pomógł. Bo przeszukałem ładny kawałek sieci i nic nie znalazłem, a domyślam się że są na to gotowe procedury.

    z góry dzięki
    pozdrawiam
    herszt
  • #12 7234524
    BąQ
    Poziom 11  
    No niestety dalej mi nie działa ale na VM działa to poprostu bede chyba tylko wgrywał pod windowsem :)

    //Edit po formacie zaczęło to działać
REKLAMA