I. Co nowego w wersji v1.6?
- FLASH SPI 512Mbit i rozszerzona lista obsługiwanych układów
Dodano obsługę pamięci SERIAL NOR FLASH SPI 512Mbit 1.8V oraz 3V takich jak: S25FL512S (3V), S25FS512S (1.8V), GD25Q512 (3V), MT25QU512A (1.8V), MT25QL512A (3V), MX25U51245G (1,8V), MX25L51245G (3V), MX66U51235F (1,8V), MX25L51237G (3V), MX25LM51245G (3V), MX25UM51245G (1,8V) i inne. Coraz więcej producentów pamięci poszerza swoją ofertę o układy niskonapięciowe (1.8V) - zaktualizowaliśmy listę obsługiwanych układów od takich producentów jak: Spansion, Micron, Winbond, Gigadevice, SST, Macronix, Adesto itd. Zaktualizowana lista układów znajduje się stronie produktu. - Programowanie skryptowe SPI oraz I2C
Programowanie skryptowe to rozbudowane narzędzie pełniące funkcje tzw. "bus pirate" dla protokołów szeregowej transmisji I2C oraz SPI. Pochłonęło one ogromne nakłady czasu i jest nadal w fazie rozwojowej, jednakże już o wielkich możliwościach. Przy wykorzystaniu skryptów istnieje możliwość wywoływania dowolnych komend (rozkazów) na magistrali w dowolnej sekwencji z zachowaniem odpowiednich opóźnień czasowych. Przykładowe zastosowanie to wszelkie niestandardowe operacje na pamięci, udokumentowane (bądź nie) w nocie katalogowej układu, np. odblokowanie urządzeń (ukryta sekwencja zapisu haseł), odczyt i zapis ukrytych rejestrów, zapis niestandardowych rejestrów (sector protection bits, rejestry OTP) itd.
W praktyce też jest to bardzo praktyczne narzędzie dla elektroników konstruktorów oraz programistów embedded. Do złącza ICSP programatora REVELPROG-IS można podłączyć się z dowolnym urządzeniem lub układem po SPI lub I2C.
Więcej o programowaniu skryptowym można znaleźć w zaktualizowanej instrukcji (rozdział 6) lub w poradniku na forum z przykładami. - Identyfikacja układów FLASH SPI (Chip ID / Read ID)
Oddajemy w Wasze ręce narzędzie, które powinno się pojawić wcześniej, ale z pewnych obaw nie zostało do tej pory udostępnione. REVELPROG-IS obsługuje również układy niskonapięciowe. Przed odczytaniem ID pamięci wymagana jest akceptacja poziomu napięć. Prosimy o zachowanie ostrożności, gdyż próba identyfikacji układu przy zbyt wysokim napięciu może taki układ uszkodzić. Jeżeli nie jesteśmy pewni poziomu napięć pamięci, to należy sprawdzić jakim napięciem pamięć jest zasilana w układzie. Jeżeli pamięć jest wylutowana, to zaleca się próbę identyfikacji na niższym napięciu (1.8V) a w razie niepowodzenia dopiero zwiększanie napięcia.
W praktyce wystarczy znać napięcie pracy i samą pojemność pamięci. W REVELPROG-IS są uniwersalne "inteligentne" procedury programowania dla układów FLASH SPI, np. jeżeli pamięć FLASH SPI ma 64Mbit to w aplikacji wystarczy wybrać układ FLASH -> 25 series -> 25..064[PP]* (dla 128Mbit będzie to 25..128[PP], a dla 256Mbit 25..256[PP] itd.), a następnie ustawić właściwe napięcie pracy VPP (1.6 - 2.0V dla układów niskonapięciowych oraz 2.8 - 3.6V dla układów standardowych). Programator sam zadba o resztę. *[PP] oznacza Page-Program czyli programowanie stronami - wszystkie współczesne pamięci FLASH SPI wspierają ten tryb (zapis jest wielokrotnie szybszy) - Konfiguracja QUAD SPI dla pamięci FLASH SPI
Narzędzie umożliwia włączenie lub wyłączenie trybu Quad SPI poprzez zmianę flagi QE (Quad Enable) w rejestrach pamięci.
Więcej informacji znajduje się w zaktualizowanej instrukcji (rozdział 4.4.5) - Adresowanie pamięci I2C 24x w układzie zewnętrznym (wyprowadzenia A0/A1/A2)
Istnieje możliwość zmiany domyślnego adresowania układów 24x (I2C) podczas programowania w układzie zewnętrznym. Funkcja jest przydatna kiedy w układzie do pojedynczej magistrali I2C jest podłączonych kilka pamięci lub kiedy podłączona pamięć nie ma domyślnego adresowania. W zależności od wybranego układu istnieje możliwość zaadresowania pamięci poprzez ustawienie stanu pinów A0/A1/A2. - Inne zmiany i poprawki
Zmian - tych większych i mniejszych - jest więcej, ale nie wszystkie będą na widoczne pierwszy rzut oka, m.in:
- nowe wersje bibliotek libusb + optymalizacja transmisji USB (sterowniki USB bez zmian),
- wykrywanie błędów komunikacji FLASH SPI 25x (np. niekontaktujące piny w układzie) również podczas odczytu,
- zmiany w algorytmach komunikacji z modułami SFP - rozdzielono na dwa tryby komunikacji: tryb kompatybilny (obsługa większości wkładek) i tryb fast-mode (dla wkładek wymagających szybkiej transmisji)
- dodano listę ostatnio wybieranych układów w bazie pamięci,
I inne drobne poprawki. - Przyszłe zmiany i automatyczne aktualizacje
Od wersji 1.6 dodano wykrywanie nowych wersji oprogramowania - kiedy aplikacja wykryje dostępną nowszą wersje oprogramowania (łączy się z serwerem REVELTRONICS) zaproponuje przeprowadzenie aktualizacji, która po zgodzie użytkownika jest w pełni zautomatyzowana. Dzięki temu będziemy mogli wydawać częściej aktualizacje nawet z pojedynczymi uaktualnieniami. Lista zmian (oraz informacja czy będzie wymagana aktualizacja firmware w programatorze) będzie dostępna w programie.
II. Aktualizacja
Aktualizacja jest opcjonalna i udostępniana jest bezpłatnie. Programator można zaktualizować samemu (przez USB z poziomu nowego oprogramowania). Przed aktualizacją prosimy dokładnie zapoznać się z instrukcją aktualizacji.
Instrukcja aktualizacji znajduje się w zaktualizowanej instrukcji (rozdział 7):
https://www.reveltronics.com/pl/produkt ... instrukcje
Najnowsze oprogramowanie można pobrać ze strony produktu:
https://www.reveltronics.com/pl/produkt ... gramowanie
III. Wasze opinie
Korzystając z okazji, zachęcamy do wystawienia opinii o REVELPROG-IS na naszej stronie lub na facebooku REVELTRONICS (niedawno założonym ). To nas napędza i dodatkowo mobilizuje - dziękujemy serdecznie!
Pomysły na kolejne usprawnienia w kolejnych aktualizacjach można zgłaszać na forum lub kontaktując się bezpośrednio z nami. Bardzo dziękujemy za wszelkie przesłane uwagi - to właśnie dzięki nim możemy rozwijać produkt zgodnie z Waszymi oczekiwaniami.