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

atmega8, system plików, zapis, odczyt

kamil1cos7 05 Lis 2011 13:18 1410 3
REKLAMA
  • #1 10103704
    kamil1cos7
    Poziom 14  
    Witam,
    Otóż, od jakiegoś czasu w wolnych chwilach robię sobie termometr, i już wszystko jest z nim ok, temperatura jest dosyć dokładna, wszystko działa jak należy... Na razie jest wszystko na płytce stykowej. Z tym że, teraz chciałbym zrobić następującą rzecz... Podłączyć kartę pamięci, stworzyć system plików i zapisywać temperaturę na tej właśnie karcie pamięci. Cały projekcik jest pisany w asemblerze atmela, a mikroprocesor jak w temacie(atmega8), wszystko pod linuxem. Proszę o jakieś, rady, na temat jaki system plików, z czym to się je, jakieś przydatne linki... Z tego co wiem to musi być stworzony wcześniej plik na karcie, chciałbym żeby to był plik .txt chyba tak najwygodniej... Jeśli ktoś wcześniej zabierał się za taki projekcik to rady i sugestie bardzo mile widziane, zwłaszcza czy z półrocznym doświadczeniem z asemblerem da się coś takiego samemu napisać...
    Pozdrawiam, i z góry dziękuje za każdą odpowiedź.
  • REKLAMA
  • #2 10122852
    y0yster
    Poziom 19  
    Jeśli chodzi o system plików to poczytaj sobie o "FatFs Generic FAT File System Module". Informacje na ten temat możesz znaleźć tutaj: Link

    Jednak biblioteka ta jest pisana w C.

    Sam pisałem dość spory czas w Asemblerze. Tworzyłem biblioteki w tym języku choćby do obsługi popularnego wyświetlacza LCD opartego na sterowniku HD44780. Problem jest taki, że kod w asemblerze jest mało czytelny- chociaż bardzo dobrze skomentowany. Wszelkie modyfikację są dość czasochłonne.

    Polecam, abyś przesiadł się na C. Zawsze newralgiczne fragmenty programu możesz napisać w asemblerze jako wstawki.

    Zaczynając od asemblera niewątpliwie musiałeś się zetknąć z datasheet'em do uC. To bardzo procentuje w przyszłości.
  • REKLAMA
  • #3 10123532
    tmf
    VIP Zasłużony dla elektroda
    Dokładnie. Napisanie tego co napisałeś (odczyt temp.) w C to pare linijek, do tego dodasz sobie np. PetitFS i problem z głowy. Z drugiej strony, to musi być karta pamięci? Może lepiej zwykły zewnętrzny EEPROM i dodać jakiś interfejs komunikacyjny, np. RS232 i to potem odczytywać?
  • #4 10123748
    kamil1cos7
    Poziom 14  
    Właśnie sęk w tym że bardziej niż na efekcie końcowym zależy mi na tym żeby się nauczyć dobrze programować, i zrozumieć zasadę działania systemów plików, działania eeprom itd... Dołączenie gotowej biblioteki i wykorzystanie funkcji w niej zawartych to trochę zbyt proste...

    Dodano po 15 [minuty]:

    Ostatecznie spróbuje przeanalizować napisane biblioteki w języku C i na podstawie kodu zrozumieć na czym to polega... Z językiem C mam trochę doświadczenia, a zszedłem o poziom niżej do asemblera żeby zrozumieć lepiej architekturę uK... O wiele trudniej jest później się połapać w kodzie napisanym w asemblerze nawet przez siebie samego jeśli ma on te 600 lini kodu niż w C ale nie jest to niewykonalne... Poczytam owszem o tym zewnętrznym eeprom i interfejsie RS232, dzięki za pomysł:)
REKLAMA