Jak we własnym zakresie zrobić SD2IEC
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
Programowanie
@Suchy, z czytnika usunąłem jedynie wtyk USB, i nic poza nim.
Ścieżki zgodnie z twoim opisem poprzecinałem, nie mam pomysłu gdzie może być błąd. Jeszcze mam cierpliwość by to sprawdzić. Wiąże się to z całkowitym wylutowaniem gniazda z czytnika, ścieżki idą pod gniazdem, płytka jest dwustronna.
Przy próbie uruchomienia avrdude.exe, wyskakuje komunikat brak libusb0.dll (skopiowałem ten plik do katalogu avrdude), i brak giveio ( uruchomiłem install_giveio.bat).
Dopiero teraz mogę uruchomić avrdude.exe
Ścieżki zgodnie z twoim opisem poprzecinałem, nie mam pomysłu gdzie może być błąd. Jeszcze mam cierpliwość by to sprawdzić. Wiąże się to z całkowitym wylutowaniem gniazda z czytnika, ścieżki idą pod gniazdem, płytka jest dwustronna.
Przy próbie uruchomienia avrdude.exe, wyskakuje komunikat brak libusb0.dll (skopiowałem ten plik do katalogu avrdude), i brak giveio ( uruchomiłem install_giveio.bat).
Dopiero teraz mogę uruchomić avrdude.exe
- Załączniki
-
- capture_08032011_220354.jpg (95.23 KiB) Przejrzano 10457 razy
C64II+SD2IEC+JiffyDOS+SwinSid88
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
@starymarabut, niestety nie mam dla Ciebie dobrych wiadomości. Jeśli te (ostatnie) komunikaty z AVRdude są prawdziwe (a nie błędne), to wygląda na to że masz zablokowanego procka (wyłączony fusebit SPIEN = zablokowany interfejs szeregowego programowania). Sprawdź czy procek daje się czytać, wpisz:
... wcześniej tak samo -U flash:r:test.hex:i
... i zobacz czy odczytuje flasha i zapisuje coś do pliku test, czy wyrzuca jakiś komunikat. Dziwne, skoro nie chciał programować flasha (bootloader zaczyna się od adresu $f000, a więc nic nie zaprogramował dobrze, skoro tam wyrzuca pierwszy błąd weryfikacji) to dlaczego próbował zmodyfikować opcjonalne ustawienia fusebits w procku na idiotyczne FFy (a ty mu na to niestety zezwoliłeś, co jeśli faktycznie nastąpiło, to masz zablokowany ISP!). Może jednak nie zmodyfikował fusków, skoro źle programuje. Jakiś problem z programatorem (złe działanie, nie ten wybrany z listy, czy co)?
W sobotę będę miał trochę więcej czasu, żeby pobawić się AVRdude to sprawdzę dogłębniej jego działanie.
Dzisiaj zdążyłem jeszcze sprawdzić nowe bootloadery (z pliku newboot). Mojego 644P programowałem siprogiem z poziomu softu PonyProg (wersja 2.06g - poprawiona przez chłopaków z forum64.de - robi ATMEGA644P). Potwierdzam, że newboot larsp dla 644P działa teraz dobrze z moją kartą uSD 2GB (wcześniejsze bootloadery nie chodziły z tej karty). Co ciekawe programowanie procka plikiem z karty SD działa wyjątkowo szybko!
... wcześniej tak samo -U flash:r:test.hex:i
... i zobacz czy odczytuje flasha i zapisuje coś do pliku test, czy wyrzuca jakiś komunikat. Dziwne, skoro nie chciał programować flasha (bootloader zaczyna się od adresu $f000, a więc nic nie zaprogramował dobrze, skoro tam wyrzuca pierwszy błąd weryfikacji) to dlaczego próbował zmodyfikować opcjonalne ustawienia fusebits w procku na idiotyczne FFy (a ty mu na to niestety zezwoliłeś, co jeśli faktycznie nastąpiło, to masz zablokowany ISP!). Może jednak nie zmodyfikował fusków, skoro źle programuje. Jakiś problem z programatorem (złe działanie, nie ten wybrany z listy, czy co)?
W sobotę będę miał trochę więcej czasu, żeby pobawić się AVRdude to sprawdzę dogłębniej jego działanie.
Dzisiaj zdążyłem jeszcze sprawdzić nowe bootloadery (z pliku newboot). Mojego 644P programowałem siprogiem z poziomu softu PonyProg (wersja 2.06g - poprawiona przez chłopaków z forum64.de - robi ATMEGA644P). Potwierdzam, że newboot larsp dla 644P działa teraz dobrze z moją kartą uSD 2GB (wcześniejsze bootloadery nie chodziły z tej karty). Co ciekawe programowanie procka plikiem z karty SD działa wyjątkowo szybko!
Ostatnio zmieniony 09 mar 2011, 21:50 przez suchy, łącznie zmieniany 1 raz.
C64PLC
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
programowanie atmegi
Przeczytałem od początku ten wątek, Jacek napisał że ograniczenie w Bascom-ie dotyczą tylko kompilacji pliku. Jako że w avrdude nie powiodło się, postanowiłem spróbować wgrać bootloader, tym programem. Udało się za pierwszym razem.
Teraz sd2iec zaczął mrugać diodami. Dziesięć mrugnięć czerwoną, później na około 13sekund zapalają się obie diody, i cykl się powtarza.
Teraz sd2iec zaczął mrugać diodami. Dziesięć mrugnięć czerwoną, później na około 13sekund zapalają się obie diody, i cykl się powtarza.
- Załączniki
-
- capture_09032011_211626.jpg (225.66 KiB) Przejrzano 10404 razy
C64II+SD2IEC+JiffyDOS+SwinSid88
... no ale musisz mieć na karcie SD wrzucony plik (do głównego katalogu):
sd2iec-0.10.1-larsp-m644p.bin
... bootloader pobiera ten plik z karty SD i nim programuje FLASHa (takie samoprogramowanie)
Masz już napięcie 3,3V na gnieździe karty SD??
Fusebity ustawiłeś:
lfuse: 0xd7
hfuse: 0xd2
efuse: 0xfc
lub inaczej zaznaczone (zafistaszkowane - zaprogramowane na "0"):
lfuse: SUT1 CKSEL3
hfuse: SPIEN EESAVE BOOTSZ1 BOOTRST
efuse: BODLEVEL1 BODLEVEL0
... w takiej konfiguracji u mnie działa dobrze.
Co prawda bootloadery nowe już chodzą z FAT32, ale kartę SD sformatuj na FAT16, bo tylko Fibr chodzi z FAT32 i nie będziesz mógł używać innych commanderów plików/katalogów dla komcia.
Możesz również nie bawić się z bootloaderem tylko od razu zaprogramować flasha plikiem .bin firmware (jak wyżej) i cieszyć się od razu działającym SD2IEC. Wtedy musisz inaczej zaprograować fuski (wyłączyć bootrestart):
hfuse: SPIEN EESAVE BOOTSZ1 BOOTSZ0 (pozostałe fusy jak wyżej)
sd2iec-0.10.1-larsp-m644p.bin
... bootloader pobiera ten plik z karty SD i nim programuje FLASHa (takie samoprogramowanie)
Masz już napięcie 3,3V na gnieździe karty SD??
Fusebity ustawiłeś:
lfuse: 0xd7
hfuse: 0xd2
efuse: 0xfc
lub inaczej zaznaczone (zafistaszkowane - zaprogramowane na "0"):
lfuse: SUT1 CKSEL3
hfuse: SPIEN EESAVE BOOTSZ1 BOOTRST
efuse: BODLEVEL1 BODLEVEL0
... w takiej konfiguracji u mnie działa dobrze.
Co prawda bootloadery nowe już chodzą z FAT32, ale kartę SD sformatuj na FAT16, bo tylko Fibr chodzi z FAT32 i nie będziesz mógł używać innych commanderów plików/katalogów dla komcia.
Możesz również nie bawić się z bootloaderem tylko od razu zaprogramować flasha plikiem .bin firmware (jak wyżej) i cieszyć się od razu działającym SD2IEC. Wtedy musisz inaczej zaprograować fuski (wyłączyć bootrestart):
hfuse: SPIEN EESAVE BOOTSZ1 BOOTSZ0 (pozostałe fusy jak wyżej)
Ostatnio zmieniony 09 mar 2011, 22:18 przez suchy, łącznie zmieniany 1 raz.
C64PLC
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
programowanie atmegi
Ustawione, cykl migania diod przyspieszył znacznie.
Jeszcze nie mam zasilania dla karty SD, podłącze zewnętrzny zasilacz i spróbuję załadować z karty firmware.
Jeszcze nie mam zasilania dla karty SD, podłącze zewnętrzny zasilacz i spróbuję załadować z karty firmware.
- Załączniki
-
- capture_09032011_220606.jpg (249.18 KiB) Przejrzano 10396 razy
C64II+SD2IEC+JiffyDOS+SwinSid88
Pamiętasz, że nie masz jednego przełącznika (?) w gnieździe karty SD (swojego przerabianego czytnika), więc musisz (o ile dobrze pamiętam - przeczytaj wcześniejsze moje wpisy) odpowiedzialny za to pin atmegi (do którego dochodzić miał ten sygnał z nieistniejącego u Ciebie przełacznika) podpiąć do masy (sprawdź)!
Z tym nowym bootloaderem działanie SD2IEC u mnie wygląda tak:
Pierwsze odpalenie SD2IEC (programowanie plikiem firmware z karty SD): zapalają się obie diody czerwona i zielona ( u mnie zółta), po czym żółta zaczyna migotać z dużą częstotliwością (w czasie programowanie). Trwa to może ok pięciu sekund, po czy obie diody gasną (koniec programowania). Od tego momentu SD2IEC powinien już działać poprawnie. Jak sprawdzić? Masz JifftDOSa, wystarczy, że wpiszesz:
@ (no i RETURN) ale po pierwszym uruchomieniu!
Wyświetli się komunikat statusu (informacja o wersji SD2IEC:
73, SD2IEC 0.10.1 ,00, 00
Przy każdym następnym odpaleniu SD2IEC zapalają się obie diody, po chwili dioda zielona (zółta ) dwa razy miga i obie diody gasną (trwa to może ok sekundy - bootloader sprawdza w ten sposób czy nie ma nowego firmware). Trochę mnie to drażni - wolałem wersję bez bootloadera (wszystko ma swoje blaski i cienie ) i nie wiem czy do niej nie wrócę!
@Jacek31, masz już w końcu tego nowego procka. Jeśli tak to ile ostatecznie za niego dałeś (z "POTWORA" brałeś, tak jak gadaliśmy na początku)?
Z tym nowym bootloaderem działanie SD2IEC u mnie wygląda tak:
Pierwsze odpalenie SD2IEC (programowanie plikiem firmware z karty SD): zapalają się obie diody czerwona i zielona ( u mnie zółta), po czym żółta zaczyna migotać z dużą częstotliwością (w czasie programowanie). Trwa to może ok pięciu sekund, po czy obie diody gasną (koniec programowania). Od tego momentu SD2IEC powinien już działać poprawnie. Jak sprawdzić? Masz JifftDOSa, wystarczy, że wpiszesz:
@ (no i RETURN) ale po pierwszym uruchomieniu!
Wyświetli się komunikat statusu (informacja o wersji SD2IEC:
73, SD2IEC 0.10.1 ,00, 00
Przy każdym następnym odpaleniu SD2IEC zapalają się obie diody, po chwili dioda zielona (zółta ) dwa razy miga i obie diody gasną (trwa to może ok sekundy - bootloader sprawdza w ten sposób czy nie ma nowego firmware). Trochę mnie to drażni - wolałem wersję bez bootloadera (wszystko ma swoje blaski i cienie ) i nie wiem czy do niej nie wrócę!
@Jacek31, masz już w końcu tego nowego procka. Jeśli tak to ile ostatecznie za niego dałeś (z "POTWORA" brałeś, tak jak gadaliśmy na początku)?
C64PLC
... tak sobie myślę nad tym brakiem 3,3V na gniazdku karty SD w Twoim czytniku i dochodzę do wniosku, że pewnie zostawiłeś wiszącą w powietrzu nogę procka czytnika, do której był podłączony wcześniej przełącznik SD CARD DETECT (musiałeś go przecież odciąć, żeby podpiąć do ATmegi). Podepnij tą nogę procka czytnika (poszukaj po ścieżkach) na stałe do masy, a napięcie 3,3V powinno się pojawić na styku gniazda karty SD! Sprawdź!starymarabut pisze:...Jeszcze nie mam zasilania dla karty SD...
C64PLC
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
Wylutowałem całkowicie, gniazdo karty sd z czytnika. W trakcie przeglądu wyszła na jaw przyczyna braku zasilania.
Ścieżka podająca +3,3V z procka na kartę była przerwana, zrobiłem w tym miejscu mostek.
Teraz mam zasilanie, ale jest ono odwrócone -3,10V.
Niezłe jaja mam. z tym czytnikiem.
Ścieżka podająca +3,3V z procka na kartę była przerwana, zrobiłem w tym miejscu mostek.
Teraz mam zasilanie, ale jest ono odwrócone -3,10V.
Niezłe jaja mam. z tym czytnikiem.
C64II+SD2IEC+JiffyDOS+SwinSid88
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
@ Suchy, tak jak wcześniej napisałeś, odczytałem zawartość pamięci flash atmegi.
- Załączniki
-
- test.rar
- (7.62 KiB) Pobrany 377 razy
C64II+SD2IEC+JiffyDOS+SwinSid88
No to jest OK! Masz zapisany we Flashu tam gdzie trzeba newbootloader dla płytki LarsP i procka ATmega644P. Teraz tylko musisz "opanować" ten czytnik, który robi Ci takiego psikusa. Odłóż go na razie do szuflady na dobrych parę dni, bo się "zapętliłeś" i zapomnij o nim. Za tydzień ze świeżym umysłem obejrzyj go przez silną lupę jeszcze raz!
PS Kurde, widzę, że nie spisz po nocach! Wyśpij się porządnie, bo nic dobrego nie wymyślisz!
PS Kurde, widzę, że nie spisz po nocach! Wyśpij się porządnie, bo nic dobrego nie wymyślisz!
C64PLC
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
@Suchy. Ok, płytkę czytnik odłożyłem. Bardzo dobrze zrobiło jej przetarcie wacikiem, nawilżonym w denaturacie. Poprawił się wizualny kontrast.
Ustawiłem poprawnie fuse bity.
Teraz z powodu braku LF33CV, zasilanie dla karty wziąłem z dwóch paluszków. Linie [SD WRITE_PROTECT ], zgodnie z twoją sugestią połączyłem na stałe z [GND].I wygląda na to że, operacja się udała pacjent żyje.
Wgrało się firmware z karty, a po podłączeniu do C64, sd2iec działa.
Wielkie dzięki za wsparcie, jak mogę ci się odwdzięczyć?
Ustawiłem poprawnie fuse bity.
Teraz z powodu braku LF33CV, zasilanie dla karty wziąłem z dwóch paluszków. Linie [SD WRITE_PROTECT ], zgodnie z twoją sugestią połączyłem na stałe z [GND].I wygląda na to że, operacja się udała pacjent żyje.
Wgrało się firmware z karty, a po podłączeniu do C64, sd2iec działa.
Wielkie dzięki za wsparcie, jak mogę ci się odwdzięczyć?
- Załączniki
-
- fuse bits.jpg (238.09 KiB) Przejrzano 10388 razy
C64II+SD2IEC+JiffyDOS+SwinSid88
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25
@Raf, taką protezę diodową w miejsce stabilizatora można zastosować tylko wtedy, kiedy jesteś pewien, że odbiornik pobiera w miarę stały prąd. W przypadku pamięci (np. karty SD) prąd przez nie pobierany może się zmieniać w bardzo dużym zakresie: 100µA -100mA, a dla złącza krzemowego diod spadki napięcia na nim (zgodnie z charakterystyką If vs Vf) wynoszą odpowiednio: 0,5V-0,7V. W związku z tym (dla 2xSi dioda w szeregu i zasilaniu z 5V) mogą wystąpić spore wahania napięcia zasilającego kartę SD (odpowiednio): 4,0V-3,6V a to już może być szkodliwe dla karty, a na pewno będzie miało jakiś wpływ na jej żywotność, bo napięcie powinno być raczej z zakresu: 2,7V-3,6V. Jeśli już tak eksperymentować, olewając możliwe skoki napięcia na karcie SD, to może 3 x Si dioda w szereg (3 x 1N4001-7) będziemy mieli wtedy odpowiednio skoki napięcia: 3,5V-2,9V.
C64PLC
-
- Posty: 361
- Rejestracja: 05 lip 2010, 22:25