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

FAT Chan'a pierwsze kroki i No rule to make target

figa_miga 20 Maj 2011 09:59 2020 15
REKLAMA
  • #1 9525932
    figa_miga
    Poziom 19  
    dokładniej: make: *** No rule to make target `..//E/FatFs', needed by `uart.o'. Stop.

    W ogóle t tego uart.o nigdzie nie widze w bibliotekach (wszystko wciągłem z płytki mirka36)
    W załączniku cały projekt
  • REKLAMA
  • #2 9526031
    tadzik85
    Poziom 38  
    W czym kompilujesz?
  • REKLAMA
  • #3 9526074
    Piotrek_P
    Poziom 18  
    Mi to wygląda na problem z Makefile. Jego brak lub niewłaściwe ustawienia projektu. Jakie środowisko :?:

    Pozdrawiam
    Piotrek
  • #4 9526178
    figa_miga
    Poziom 19  
    avr studio
  • #5 9526295
    Piotrek_P
    Poziom 18  
    Załadowałem Twój projekt do AVRStudio i dostałem komunikat o braku niektórych plików, ale po ręcznym skojarzeniu wymaganych plików (tych na czerwono w drzewie projektu) już jest ok. Oczywiście błędy kompilacji są, ale wynikają one z tego o czym pisze Mirek w swojej książce.
    Ja na Twoim miejscu założył bym projekt na nowo (Minuta roboty).

    Pozdrawiam
    Piotrek
  • #6 9526474
    mirekk36
    Poziom 42  
    figa_miga napisał:
    dokładniej: make: *** No rule to make target `..//E/FatFs', needed by `uart.o'. Stop.

    W ogóle t tego uart.o nigdzie nie widze w bibliotekach (wszystko wciągłem z płytki mirka36)
    W załączniku cały projekt


    No dobrze, wszystko wyciągasz z płytki mirka36. Ale czy przeczytałeś cały ten rozdział w którym jest krok po najmniejszym kroczku opisane jak to zrobić? jak sobie z tymi komunikatami poradzić? Nie podałem gotowca - ale za to podałem step-by-step opis problemów związanych z odpalaniem tych bibliotek.... a co ważniejsze sposobów jak to wszystko poprawić, okiełznać i poprawnie uruchomić żeby na końcu wykorzystywać już dowolnie wg własnych pomysłów. (w tym opisie jest właśnie wyjaśnione wszystko o tym o co tu pytasz)
  • REKLAMA
  • #7 9526481
    figa_miga
    Poziom 19  
    A co tam zrobiłeś?
    Projekt robiłem od nowa, zacząłem od 150 byków z powodu braku plików, został jeden... Z tego co Mirek pisze to zrobiłem tylko w RTC, wykasowałem też deklaracje portów których brak w M32 i chyba w tym sofcie też nie były potrzebne.

    -----
    Mirek36, czytałem kilka razy rozdział traktujący o FAT, niestety nie idzie to w takiej kolejności jak opisujesz i prędzej czy później dochodzę do miejsc z którymi sobie rady nie daje
    No niestety chyba piz..czka ze mnie ;/

    Np teraz zostają mi trzy błędy na temat power_on i portu E, odznaczam funkcję tak jak wspomniałeś i dostaje 80 errorów undefinied reference to 'ff_convert" i tym podobnych.
  • #8 9528778
    Piotrek_P
    Poziom 18  
    Jako że też aktualnie próbuję uruchomić FatFS pozwolę sobie dołączyć do wątku. U mnie sytuacja wygląda w ten sposób, że żadna z dwóch kart nie inicjalizuje się :-(. Karty to MMC 128 MB i SD 1GB. Sprzętowo jest OK bo program testowy od Dharmanitech rozpoznaje kartę, ale z tym to już inna historia. Całą "procedurę" dostosowania biblioteki FatFS do używalności opisaną przez Mirka znam już na pamięć. Niestety, coś mi jeszcze bruździ w kodzie tej biblioteki że te karty nie są wykrywane :-(. Wstawiłem do funkcji disk_initialize funkcję wysyłającą wartość zmiennej DSTATUS Stat po UART i otrzymuję "ed". Nie wiem jak to rozumieć :-(.

    Pozdrawiam
    Piotrek
  • #9 9528789
    figa_miga
    Poziom 19  
    A ty masz płytkę i książke od mirka?. Tam jest przerobiony, gotowy kod.
    Wczoraj jak już nie miałem siły to go wciągłem, co prawda coś tam jeszcze nie lata chyba do końca bo proc się zgłasza ale coś nie odpowiada zbytnio. W razie czego napisz na bolo(_at_)poczta.ox.pl to podeśle ci ten kod.
  • #10 9528809
    mirekk36
    Poziom 42  
    Panowie - trochę prostszy kod jest na płytce w lekcji n/t PetitFat - gdzie efekt działania karty można obserwować na LCD bez zabawy z UART'em

    spróbujcie go sobie odpalić tak jak jest - on musi działać jeśli sprzętowo jest wszystko podłączone - bo go sprawdzałem nie raz .... Wtedy będziecie wiedzieć czy w ogóle karta działa i czy sprzęt jest ok.

    Jeśli nie zadziała to niestety musicie nadal szukać błędów w połączeniach sprzętowych. Przejrzyjcie sobie schemat zestawu uruchomieniowego ATB - sprawdźcie tam jak to zorganizowałem .... bo na tym zestawie za każdym razem jak podłączam to wszystko działa od tzw "pierwszego kopa". Zarówno PetitFat jak i FatFS
  • #11 9528882
    Piotrek_P
    Poziom 18  
    PetitFat wałkowałem około miesiąc temu i było OK i jak teraz sprawdzam to karta jest wykrywana i zapis do pliku działa. Nie wiem czemu w "pełnym" FatFS nie wykrywa mi kart. Może chodzi o funkcje które sprawdzają obecność karty w slocie lub coś koło tego, ale w funkcji power_status mam na sztywno ustawione "return 1; " więc teoretycznie jest OK. Powalczę jeszcze i dam znać co mi z tego wyszło.

    Pozdrawiam
    Piotrek
  • #12 9528919
    figa_miga
    Poziom 19  
    Wysłanie di0 po uarcie ma odpowiadać (dziesiętnie) 100,105,48 czy jeszcze musi być jakiś znak?.
    Na razie procek mi się przedstawia po resecie, a wysłane komendy wracają echem, tyle że nie dostaje odpowidzi o stanie karty

    -------edit
    już chyba widze, chce \r, ale jakoś terminal (by bray) nie chce wysłać
    -------edit edita
    W terminalu trzeba wstawić $0D
  • #13 9529006
    mirekk36
    Poziom 42  
    Piotrek_P napisał:
    ..... Nie wiem czemu w "pełnym" FatFS nie wykrywa mi kart. Może chodzi o funkcje które sprawdzają obecność karty w slocie lub coś koło tego,.....


    aaa, no Panowie, to zwróćie uwagę na sprawdzanie sygnału sprawdzającego kartę w slocie. Teraz nie jestem przy kodach i nie mam możliwości sprawdzenia a z pamięci nie dam rady wsztstkiego odtworzyć, ale ja na pewno w swoim zestawie uruchomieniowym używam CD (Card Slot) czyli zdaje że sprawdzam to...

    w bibliotekach zmieniłem tylko, żeby nie było realizacja włączania/odłączania zasilania do karty - ale w najnowszej wersji zestawu i ten fiuczer zastosuję nie mówiąc już o gotowych układach. Bo TAKA możliwość (programowy PWR-ON/OFF - to świetna rzecz szczególnie gdy transmisja z kartą się przywiesi a to potrafi się zdarzyć)

    ....o już mam kawałek kodu - sprawdźcie sobie co się dzieje w funkcji:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    chodzi o zmienną

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    więc jeśli chcecie żeby to działało od pierwszego kopa to podłączcie sobie sygnał CD z gniazda na kartę - no chyba, że macie takie gniazdo, które go nie ma :(

    to wtedy trzeba sobie w tej funkcji, którą podałem wyżej pokombinować ze statusami. One jak widać są sprawdzane cyklicznie w timerze - więc nie pomoże żadna tam zmiana gdzieś w kodzie, że jakaś tam funkcja będzie zwracać na siłę status 1.
  • #14 9552225
    Piotrek_P
    Poziom 18  
    Chociaż to nie mój wątek, pozwolę sobie odgrzać temat aby nie zakładać nowego. Mimo wielu prób, nie udaje mi się uruchomić podstawowej funkcji biblioteki FatFS czyli "disk_initialize". W porównaniu z PetitFAT (która mi działa) są różnice w sposobie inicjalizacji kart i z tym nie mogę sobie poradzić :cry: . Jak wcześniej pisał Mirek trzeba się zainteresować funkcjami takimi jak "disk_timerproc", ale mimo moich zmian jakoś nie mogę z tym sobie poradzić. Dodam że na mojej płytce nie mam możliwości sprawdzania czy karta jest w slocie i czy jest w trybie R/W czy tylko R.
    To co mam w tej chwili ustawione w/w funkcji:
    [code]
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Jak by miał któryś z kolegów wiedzę w tym temacie i coś podpowiedział to może mi się coś rozjaśni.

    Z góry dziękuję za zainteresowanie tematem
    Pozdrawiam
    Piotrek
  • #15 9552343
    mirekk36
    Poziom 42  
    czy to ci coś podpowie?

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    a ty ustawiasz

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    a sprawdziłeś sobie co to jest Stat i do czego? co on przechowuje i jakie komunikaty? ... warto to zrobić ;)

    zobacz też na to:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #16 9553343
    Piotrek_P
    Poziom 18  
    Temu i tym podobnym przyglądam się od kilku dni, ale teraz dotarłem do funkcji:
    [code]
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    W niej między innymi jest użyta zmienna Stat, ale wartość tej zmiennej nie wpływa na ostateczny wynik inicjalizacji karty.

    Pozdrawiam
    Piotrek
REKLAMA