120 likes | 272 Views
Autor: Piotr Wojtowicz Opiekun naukowy referatu: dr inż. Cezary Worek. PROGRAMATOR SD. EAIiE Katedra Elektroniki AGH 12 maja 2011. Cele projektu. Zbudowanie autonomicznego i bardzo prostego w obsłudze programatora mikrokontrolerów
E N D
Autor: Piotr Wojtowicz Opiekun naukowy referatu: dr inż. Cezary Worek PROGRAMATOR SD EAIiE Katedra Elektroniki AGH 12 maja 2011
Cele projektu Zbudowanie autonomicznego i bardzo prostego w obsłudze programatora mikrokontrolerów Stworzenie uniwersalnego interfejsu programowego dla celów flashowania najpopularniejszych mikrokontrolerów
Idea działania programatora • Na karcie SD umieszczamy oprogramowanie które ma być załadowane do mikrokontrolera. • Podpinamy programator do programowanego układu • Programator parsuje zawartość karty w poszukiwaniu odpowiednich plików • Po wykryciu na karcie nowego oprogramowania następuje aktualizacja wszystkich lub wybranych pamięci programowanego układu
Problem ujednolicenia interfejsu • Stworzenie jednolitego interfejsu dla różnych typów programowanych układów • Jak zapewnić rozróżnienie kilku typów programowanych pamięci? • Co z ewentualnymi ustawieniami konfiguracyjnymi (bity blokujące dostęp do pamięci, konfiguracja parametrów pracy mikrokontrolera – AVR)?
Rozwiązanie – organizacja danych na karcie • Dany układ który ma być programowany będzie miał w głównym katalogu swój podkatalog o określonej nazwie, w nim 2 podkatalodi – „read” i „write” • W każdym z nich znajdować się będą osobne podkatalogi dla konkretnych typów pamięci występujących w układzie (np. katalogi FLASH oraz EEPROM)
Rozwiązanie – organizacja danych na karcie • W danym folderze znajdą się 2 pliki: • file_name.txt – zawiera nazwę pliku, z którego ma być pobrana nowa zawartość dla dedykowanej pamięci • Plik binarny wskazywany przez file_name.txt • Bity konfiguracyjne będą programowane w ten sam sposób – będą zawierać swój podkatalog w którym znajdą się też pliki file_name.txt oraz dedykowany plik z zawartością. W tym przypadku mamy plik tekstowy, prosty do ręcznej edycji
Manager strumieni Manager strumieni odpowiada za: • Inicjalizację karty SD, wykrycie odpowiedniego drzewa katalogowego • Inicjalizację strumieni wyjściowych • Odczyt danych z plików i przesłanie do strumieni wyjściowych
Co to są strumienie wykonawcze? Strumienie wykonawcze są to zunifikowane interfejsy do programowanych pamięci. Strumień wykonawczy posiada 4 podstawowe funkcje: • Inicjalizacja strumienia • Transmisja do strumienia • Transmisja ze strumienia • Zamknięcie strumienia
Jak działają strumienie? Strumienie wykonawcze przyjmują dane w takiej formie jak były zapisane w pliku. Następnie wysyłają je za pomocą interfejsu programującego zdefiniowanego przez producenta układu.
Podsumowanie • Opracowany został bardzo prosty interfejs służący do programowania mikrokontrolerów • Uruchomiona jest część oprogramowania, trwają prace nad interfejsem programującym SPI AVR • Planowane jest połączenie projektu z komputerem PC za pomocą USB – emulacja pamięci masowej USB. Da to możliwość wgrywania danych na kartę SD bez konieczności stosowania adaptera. • W późniejszych planach opracowanie urządzenia jako USB Mass Storage bez karty SD (translacja pakietów USB MS bezpośrednio do strumieni wyjściowych)