-
Data: 2020-10-05 11:46:52
Temat: Re: Odczyt parametrów karty CF
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 04.10.2020 05:47, s...@g...com wrote:
> Taki FS jest najprostszy i najmniej pamieciozerny.
> Do wielu zastosowan sie nadaje.
W ramach testu odpaliłem na tym sprzęcie FatFS-. Jak już chyba
wspominałem, potrzebne były drobne poprawki żeby go skompilować, bo nie
CC65 nie radził sobie z niektórymi wyrażeniami użytymi w kodzie. Po
skompilowaniu z wyłączoną większością opcjo rozmiar mojego projektu
urósł dość znacznie, jednak wciąż mam jeszcze około 7kB wolnej
przestrzeni pamięci EPROM, co powinno wystarczyć na zaimplementowanie
funkcji, które chciałbym tam jeszcze dodać.
Pamięcią RAM się specjalnie nie przejmuję, bo 8kB w tego typu urządzeniu
jest dostatecznie dużą ilością, żeby nie trzeba było się przejmować
brakiem miejsca na bufory.
Pierwszy test wypadł w miarę pozytywne. Udało mi się zamontować system
plików na karcie CF - instrukcja f_mount(&cffs, "", 1) zwraca 0 (jeśli
usunę kartę zwraca 3)_.
Instrukcja f_open(&file, "name.txt", (FA_OPEN_ALWAYS | FA_WRITE))
również zwraca taką samą wartość.
Wskazuje to na to, że występuje prawidłowa komunikacja pomiędzy kartą a
systemem plików. Problem pojawia się dopiero, gdy próbuję wykonać zapis
do pliku, za pomocą następującego ciągu instrukcji:
feed_hungry_watchdog();
res = f_write(&file, "Test\r\n", 6, NULL);
feed_hungry_watchdog();
mos6551_puts("File write: ");
utoa(res, buf, 10);
mos6551_puts(buf);
mos6551_puts("\r\n");
feed_hungry_watchdog();
f_close(&file);
prepare_disp();
Urządzenie się resetuje, UART nie wysyła żadnej informacji o wartości
zwróconej przez f_write. Co ciekawe jednak, na wyświetlaczu pojawia się
efekt działania prepare_disp().
Watchdog jest ustawiony w ten sposób, żeby zresetować urządzenie dopiero
po 1,2s braku aktywności. Jak widać resetuję go tuż przed i zaraz po
wywołaniu f_write(). Chyba zapis paru znaków nie zabierze tyle czasu,
nawet systemowi z 1 MHz 6502... Poza tym to nie wyjaśniłoby wykonania
prepare_disp()...
Ktoś ma jakiś pomysł?
Pełny, aktualny kod tutaj:
https://github.com/marekw1986/RetroEG/tree/testing/c
ode
Najnowsze wątki z tej grupy
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
Najnowsze wątki
- 2025-07-05 Shrek, wzrośnie cena prądu :-)
- 2025-07-05 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-07-05 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-05 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-07-06 Płacić za wodę ze studni
- 2025-07-06 Kolejny inżynier...
- 2025-07-05 UE ustępuje pod presją Trumpa. Socjaldemokraci: oddaliśmy miliardy
- 2025-07-04 od kiedy można obrażać Plastusia i do kiedy Batyra?
- 2025-07-05 UE ustępuje pod presją Trumpa. Socjaldemokraci: oddaliśmy miliardy
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=