Poprzedni temat «» Następny temat
EdW 1/2006 - Płytka testowa kursu AVR-GCC
Autor Wiadomość
Koppel 



Wiek: 34
Dołączył: 24 Lip 2005
Posty: 482
Skąd: Gliwice
Wysłany: 2007-06-24, 13:44   

treker napisał/a:
Układ z lepszą płytką wykonawczą bedzie jako nowy kit czy poprawka do tego?
Raczej sama płytka wykonawcza byłaby jako inny zestaw. Jeśli dobrze rozumiem, teraz płytka wykonawcza i sterująca są sprzedawane oddzielnie...
Po prostu nie chodzi mi jedynie o prostą poprawkę polegającą na usunięciu problemów z programowaniem, ale także na dodaniu i przemieszczeniu kilku elementów. Na aktualnej płytce brakuje mi na przykład możliwości prostego podłączenia 1wire i i2c.
 
     
treker
Nowy na forum


Dołączył: 11 Lut 2007
Posty: 41
Wysłany: 2007-06-26, 17:41   

Koppel napisał/a:
Jeśli dobrze rozumiem, teraz płytka wykonawcza i sterująca są sprzedawane oddzielnie...

Wydaje mi się, że nie.
 
     
oki 
Nowy na forum


Dołączył: 16 Wrz 2007
Posty: 3
Skąd: Gdańsk
Wysłany: 2007-09-16, 11:47   

Witam
Mam nadzieję, że jeszcze ktoś tu zagląda. Mam taki problem. Rozpocząłem "przerabianie" kursu C z EDW. "Zassałem" narzędzia, zainstalowałem, skonfigurowałem. Zassałem pliki "make" i "clean" oraz listingi ze strony Autora. Dodałem "Tools" "make" i Clean". Przy próbie kompilacji (F7) otrzymuję coś takiego:
"
> "C:\WinAVR\make.bat"

C:\WinAVR\_do_cz1\_do_cz1\hello>make.exe
AllocationBase 0x0, BaseAddress 0x71590000, RegionSize 0x170000, State 0x10000
C:\WinAVR\UTILS\BIN\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 487

-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

AllocationBase 0x0, BaseAddress 0x71590000, RegionSize 0x170000, State 0x10000
C:\WinAVR\UTILS\BIN\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 487
make.exe: *** [sizebefore] Error 1

> Process Exit Code: 2
"

Jeżeli muszę podać jeszcze jakieś informacje, to proszę pytać.
Jeżeli ktoś może mi podsunąć jakąkolwiek poradę, to będę BARDZO wdzięczny (bez tego niezbyt mogę "człapać" dalej w kursie C :) :) ).

Z góry dziękuję za odpowiedzi.
Pozdrawiam serdecznie
Oki
 
     
Koppel 



Wiek: 34
Dołączył: 24 Lip 2005
Posty: 482
Skąd: Gliwice
Wysłany: 2007-09-16, 14:05   

oki napisał/a:
llocationBase 0x0, BaseAddress 0x71590000, RegionSize 0x170000, State 0x10000
C:\WinAVR\UTILS\BIN\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 487

Wygląda to tak jakby na komputerze były zainstalowane dwie różne wersje Cygwina. Proszę wyszukać biblioteki cygwin1.dll i zostawić tylko jedną kopię.

Jeśli na komputerze znajduje się pełny cygwin, proponuję usunąć cygwin1.dlll z katalogu /bin instalacji WinAVR.
 
     
oki 
Nowy na forum


Dołączył: 16 Wrz 2007
Posty: 3
Skąd: Gdańsk
Wysłany: 2007-09-16, 16:53   

Witam

Przede wszystkim bardzo dziękuję za błyskawiczną odpowiedź.
Usunięcie drugiego "cygwin1.dll" nie pomoglo. Nie wiem, czy tak powinno być, ale gdy uruchomię "Programers Notepad", to w oknie programu na górze (pozioma, niebieska listwa tytułowa) wyświetla mi się : "Programers Notepad 2", i to samo mam w listwie zadań na dole ekranu.
Na tym komputerze był kiedyś zainstalowany PN, ale potem była reinstalacja systemu. Wyszukiwanie pliku "pn.exe" wskazuje tylko jeden taki plik (w aktualnej lokalizacji WinAVR...).
Może jest jeszcze jakaś podpowiedź na taką sytuację.
Jeszcze raz dziękuję za poprzednią wskazówkę i czekam na ewentualne kolejne.

Pozdrawiam
Oki
 
     
Koppel 



Wiek: 34
Dołączył: 24 Lip 2005
Posty: 482
Skąd: Gliwice
Wysłany: 2007-09-16, 17:03   

Z cygwinem jest taki problem, że jeśli w systemie istnieją inne jego instalacje, to wcale nie musi kłócić się przez bibliotekę cygwin1.dll. WinAVR korzysta jeszcze z cygncurses-8.dll, cygiconv-2.dll. Może nawet z czegoś jeszcze? Jeśli to możliwe proszę usunąć, przynajmniej na próbę, całkowicie aplikację w której wystąpił drugi plik cygwin1.dll.

Ten problem nie ma nic wspólnego w Programmers Notepad'em - to jest tylko edytor. Problem pojawia się w chwili uruchomienia narzędzi do kompilacji.
 
     
oki 
Nowy na forum


Dołączył: 16 Wrz 2007
Posty: 3
Skąd: Gdańsk
Wysłany: 2007-09-16, 17:09   

Witam

Spróbuję, ale muszę z tym poczekać do jutra. Dzisiaj niestety nie mogę usunąć z komputera, z którego korzystam wspomnianej aplikacji.

Jeszcze raz bardzo dziękuję, i jutro dam znać jak zadziałało.
Pozdrawiam
Oki

[ Dodano: 2007-09-17, 10:03 ]
Witam
OGROMNE dzięki. Zainstalowałem narzędzia na innym komputerze (bez aplikacji, która miała "cygwin1.dll"), i co :
"

-------- end --------


> Process Exit Code: 0
".
Jeszcze raz dziękuję (i żałuję, że na tym forum nie ma "sogów", "bajaderek" :) :) , albo czegoś innego dla wyrażenia uznania).

Jeżeli Autor będzie w Trójmieście, to proszę o kontakt i od razu zapraszam na kebab i "duże, bezalkoholowe z pianką :) :) ".

Pozdrawiam
Oki
 
     
bluex 
Nowy na forum


Wiek: 27
Dołączył: 26 Wrz 2006
Posty: 9
Skąd: Grudziądz
Wysłany: 2007-11-30, 11:29   

Mam jeszcze pytanie dotyczące najnowszego WinAVR(20070525), programy korzystające z rs'a po poprawnym skompilowaniu nie odbierają znaków wysyłanych do mikrokontrolera
(np po ponownym skompilowaniu bootloadera z części 12 komunikacja nie jest w ogóle nawiązywana)

Kod:
#include <avr\io.h>

#define DEF_BAUD 4800

#define RS_MAKE_UBRR(baud) (F_CPU/(baud*16l)-1)
#define RS_SET_BAUD(baud) \
    {UBRR0H = (uint8_t)(RS_MAKE_UBRR(baud)>>8); \
    UBRR0L = (uint8_t)RS_MAKE_UBRR(baud); }

int rs_put(char znak)
{
    while(!(1<<UDRE0 & UCSR0A)) {}
    UDR0 = znak;
    return 0;
}

int rs_get(void)
{
    char znak;
    while(!(1<<RXC0 & UCSR0A)) {}
    znak = UDR0;
    return znak;
}

int main(void)
{
    char c = 0;
   
    RS_SET_BAUD(DEF_BAUD);
    UCSR0C = 1<<URSEL0 | 1<<UCSZ01 | 1<<UCSZ00;
    UCSR0B = 1<<RXEN0 | 1<<TXEN0;
    UCSR0A = 0;
   
    for(;;) {
        c=rs_get();
        rs_put(c);
    }
    //for(;;)
    //    rs_put('a'+(c++)%('z'-'a'+1));
}


powyższy program działa dopiero po usunięciu linii
Kod:
UCSR0C = 1<<URSEL0 | 1<<UCSZ01 | 1<<UCSZ00;


problem występuje tylko z odbieraniem, nadawanie działa bardzo dobrze (np. nieskończona pętla wypisująca alfabet w komentarzu)
może ma ktoś jakieś pomysły?

Problem rozwiązany - wystarczło wstawienie nowego pliku Makefile :oops:
Mam jednak jeszcze jedo pytanie dotyczące bootloadera - czemu w miejscu, gdzie powinna być obsługa programowania pamięci eeprom nie ma nic?
Kod:
else if(komenda == 'e')
{
    // Zapis bufora pod określony adres w pamięci eeprom
}
 
     
treker
Nowy na forum


Dołączył: 11 Lut 2007
Posty: 41
Wysłany: 2007-12-01, 16:50   

Kiedy będzie książka?
 
     
gwozdex 



Wiek: 33
Dołączył: 24 Lut 2006
Posty: 836
Skąd: Czechowice-Dziedzice
Wysłany: 2007-12-01, 23:03   

To pytanie należałoby skierować do autora p. Radosława Koppla (przepraszam jeśli źle odmieniłem nazwisko).
 
 
     
sasha_amator 
Nowy na forum


Wiek: 34
Dołączył: 07 Wrz 2006
Posty: 10
Skąd: katowice
Wysłany: 2008-02-21, 23:48   

witam,
przy instalacji winavr postepowalem zgodnie z zalecaniami zawartymi w kursie C opisanego w EdW, mimo tego mam problem , mianowicie po skompilowaniu programu w okienku output drukuje sie cos takiego :

> "C:\WinAVR\make.bat"

C:\projekt>make.exe clean

-------- begin --------

Cleaning project:
rm -f test.hex
rm -f test.eep
rm -f test.cof
rm -f test.elf
rm -f test.map
rm -f test.sym
rm -f test.lss
rm -f test.o
rm -f test.lst
rm -f test.s
rm -f test.d
rm -f .dep/*
-------- end --------


> Process Exit Code: 0

najdziwniejsze jest to, ze drukuje sie zawsze to samo, niezaleznie od tego co znajduje sie w kompilowanym pliku! moge napisac tam wypracowanie z polskiego,a w output zawsze bedzie to samo.

bardzo prosze o pomoc.

mam winavr 20050214, ale probowalem tez 20071221-efekt taki sam.
 
     
snow 
AVR, AVR-GCC


Wiek: 34
Dołączył: 16 Sty 2007
Posty: 735
Skąd: lubelskie
Wysłany: 2008-02-22, 07:13   

Nie używasz przypadkiem "Make Clean"? bo to komunikat z czyszczenia projektu z plików wynikowych.

Do kompilowania używa się "Make All" a później do zaprogramowania "Program".
 
 
     
sasha_amator 
Nowy na forum


Wiek: 34
Dołączył: 07 Wrz 2006
Posty: 10
Skąd: katowice
Wysłany: 2008-02-22, 09:17   

uzywalem Make oraz Make All, ale efekt ciagle taki sam , pozniej wcisnalem Make clean ,ale w outputs wypisuje to samo. w dodatku nie generuje zadnych plikow, chociaz z tego output wynika jakby generowl pliki i od razu je usuwal. tylko dlaczego to sie kompiluje bez wzgledu na zawartosc kompilowanego pliku ?
 
     
snow 
AVR, AVR-GCC


Wiek: 34
Dołączył: 16 Sty 2007
Posty: 735
Skąd: lubelskie
Wysłany: 2008-02-22, 09:24   

Z tego co wkleiłeś w poprzednim poście wynika że uruchamiasz plik make.bat i on ma polecenie do czyszczenia w sobie.

Makefile masz poprawnie skonfigurowany? ja przyznam się że nie spotkałem się z takim problemem i projekty się poprawnie kompilowały od razu po zainstalowaniu winavr.
 
 
     
sasha_amator 
Nowy na forum


Wiek: 34
Dołączył: 07 Wrz 2006
Posty: 10
Skąd: katowice
Wysłany: 2008-02-22, 09:51   

plik make.bat stworzylem dokladnie w taki sposob jak bylo to opisane w Edw. wyglada on nastepujaco:

@set PATH=C:\WinAVR\bin;C:\WinAVR\utils\bin;
make.exe clean

co ciekawe plik clean.bat ma tylko inna nazwa , ale wyglada dokladnie tak samo :

@set PATH=C:\WinAVR\bin;C:\WinAVR\utils\bin;
make.exe clean

wydalo mi sie to dziwne , ale poniwaz nie znam sie na tym, wiec przyjalem to jako pewnik.

makefile tez zmienilem tak jak to bylo w Edw, ale wydaje mi sie ze tam raczej nie ma bledow.
zmienilem pole MCU, F_CPU i target.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,05 sekundy. Zapytań do SQL: 11