Mikrosemi - logoDG0388 Błąd FPGA SmartFusion2 SoC
Wykrywanie i korygowanie pamięci Seram

Instrukcja użytkownika

©2021 Microsemi, spółka zależna należąca w całości do Microchip Technology Inc. Wszelkie prawa zastrzeżone. Microsemi i logo Microsemi są zastrzeżonymi znakami towarowymi firmy Microsemi Corporation. Wszystkie inne znaki towarowe i znaki usługowe są własnością ich odpowiednich właścicieli.
Microsemi nie udziela żadnych rękojmi, oświadczeń ani gwarancji dotyczących informacji zawartych w niniejszym dokumencie lub przydatności swoich produktów i usług do określonego celu, ani też Microsemi nie przyjmuje żadnej odpowiedzialności wynikającej z zastosowania lub użycia jakiegokolwiek produktu lub obwodu. Produkty sprzedawane poniżej oraz wszelkie inne produkty sprzedawane przez Microsemi zostały poddane ograniczonym testom i nie powinny być używane w połączeniu ze sprzętem lub aplikacjami o znaczeniu krytycznym. Uważa się, że wszelkie specyfikacje wydajności są wiarygodne, ale nie są weryfikowane, a Kupujący musi przeprowadzić i ukończyć wszystkie testy wydajności i inne produkty, samodzielnie oraz razem z produktami końcowymi lub w nich zainstalowanymi. Kupujący nie będzie polegał na żadnych danych i specyfikacjach wydajności ani parametrach dostarczonych przez Microsemi. Obowiązkiem Kupującego jest

niezależnie określają przydatność wszelkich produktów oraz je testują i weryfikują. Informacje dostarczone przez Microsemi w ramach niniejszej Umowy są dostarczane „tak jak są, gdzie są” i ze wszystkimi wadami, a całe ryzyko związane z takimi informacjami ponosi wyłącznie Kupujący. Microsemi nie przyznaje, w sposób wyraźny ani dorozumiany, żadnej stronie żadnych praw patentowych, licencji ani żadnych innych praw własności intelektualnej, czy to w odniesieniu do samych takich informacji, czy czegokolwiek opisanego w takich informacjach. Informacje zawarte w tym dokumencie są własnością Microsemi i Microsemi zastrzega sobie prawo do wprowadzania jakichkolwiek zmian w informacjach zawartych w tym dokumencie lub w jakichkolwiek produktach i usługach w dowolnym momencie i bez powiadomienia.
O Microsemi
Microsemi, spółka zależna należąca w całości do Microchip Technology Inc. (Nasdaq: MCHP), oferuje kompleksowe portfolio rozwiązań półprzewodnikowych i systemowych dla przemysłu lotniczego i obronnego, komunikacji, centrów danych i rynków przemysłowych. Produkty obejmują wysokowydajne i odporne na promieniowanie analogowe układy scalone sygnałów mieszanych, układy FPGA, SoC i ASIC; produkty do zarządzania energią; urządzenia do pomiaru czasu i synchronizacji oraz precyzyjne rozwiązania czasowe, wyznaczające światowy standard czasu; urządzenia do przetwarzania głosu; rozwiązania RF; elementy dyskretne; rozwiązania pamięci masowej i komunikacji dla przedsiębiorstw, technologie bezpieczeństwa i skalowalne zabezpieczenia anty-tamper produkty; rozwiązania Ethernet; Układy scalone Power-over-Ethernet i urządzenia midspan; a także niestandardowe możliwości i usługi projektowe. Dowiedz się więcej na www.microsemi.com.

Historia rewizji

Historia zmian opisuje zmiany, które zostały wprowadzone w dokumencie. Zmiany są wymienione według wersji, począwszy od bieżącej publikacji.
1.1 Wersja 11.0
Poniżej znajduje się podsumowanie zmian wprowadzonych w tej wersji.

  • Zaktualizowano dokument dla Libero SoC v12.6.
  • Usunięto odniesienia do numerów wersji Libero.

1.2 Wersja 10.0
Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.8 SP1.
1.3 Wersja 9.0
Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.8.
1.4 Wersja 8.0
Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.7 (SAR 77402).
1.5 Wersja 7.0
Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.6 (SAR 72777).
1.6 Wersja 6.0
Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.5 (SAR 64979).
1.7 Wersja 5.0
Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.4 (SAR 60476).
1.8 Wersja 4.0
Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.3 (SAR 56852).
1.9 Wersja 3.0
Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.2 (SAR 52960).
1.10 Wersja 2.0
Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.0 (SAR 47858).
1.11 Wersja 1.0
Pierwsza publikacja tego dokumentu.
SmartFusion2 SoC FPGA – wykrywanie błędów i korekta pamięci Seram

Wstęp

W tym dokumencie opisano możliwości wykrywania i korekcji błędów (EDAC) urządzeń SmartFusion® 2 w wbudowanej statycznej pamięci o dostępie swobodnym (Seram). Kontrolery EDAC zaimplementowane w urządzeniach SmartFusion2 obsługują korekcję pojedynczego błędu i wykrywanie podwójnych błędów (SECDED). Wszystkie pamięci w podsystemie mikrokontrolera (MSS) SmartFusion2 są chronione przez SECDED. Pamięć Seram może mieć format eSRAM_0 lub eSRAM_1. Zakres adresów eSRAM_0 to 0x20000000 do 0x20007FFF, a zakres adresów eSRAM_1 to 0x20008000 do 0x2000FFFF.
Gdy opcja SECDED jest włączona:

  • Operacja zapisu oblicza i dodaje 8 bitów kodu SECDED na każde 32 bity danych.
  • Operacja odczytu odczytuje i porównuje dane z przechowywanym kodem SECDED, aby zapewnić 1-bitową korekcję błędów i 2-bitowe wykrywanie błędów.

W tej wersji demonstracyjnej EDAC można rozpoznać po migającej diodzie elektroluminescencyjnej (LED) na płycie oraz po graficznym interfejsie użytkownika (GUI).Microsemi DG0388 SmartFusion2 SoC FPGA wykrywanie i korekta błędów pamięci eSRAM - schemat blokowy poziomówEDAC eSRAM obsługuje następujące funkcje:

  1. Mechanizm SECDED
  2. Zapewnia przerwania dla procesora ARM Cortex-M3 i struktury FPGA po wykryciu błędu 1-bitowego lub błędu 2-bitowego.
  3. Zapisuje liczbę błędów 1-bitowych i 2-bitowych w rejestrach licznika błędów.
  4. Przechowuje adres ostatniej lokalizacji pamięci, w której wystąpił błąd 1-bitowy lub 2-bitowy.
  5. Przechowuje 1-bitowe lub 2-bitowe dane o błędach w rejestrach SECDED.
  6. Dostarcza sygnały magistrali błędów do struktury FPGA.

Zapoznaj się z rozdziałem EDAC w UG0443: Podręcznik użytkownika SmartFusion2 i IGLOO2 FPGA Security and Reliability oraz rozdziałem Seram w UG0331: Podręcznik użytkownika podsystemu mikrokontrolera SmartFusion2.
2.2 Wymagania demonstracyjne
W poniższej tabeli wymieniono wymagania sprzętowe i programowe wymagane do uruchomienia projektu demonstracyjnego.
Tabela 1 • Wymagania projektowe

Wymóg Wersja
System operacyjny 64-bitowy Windows 7 i 10
Sprzęt komputerowy
Zestaw oceny bezpieczeństwa SmartFusion2:
• Programista FlashPro4
• Kabel USB A do Mini – B USB
• Zasilacz 12 V
Wersja D lub nowsza
Oprogramowanie
FlashPro Express Zapoznaj się z plikiem readme.txt file podane w projekcie files
dla wersji oprogramowania używanych w tym projekcie referencyjnym.
Libero
 Oprogramowanie System-on-Chip (SoC).
Miękka konsola
Sterowniki komputera hosta Sterowniki USB do UART
Do uruchamiania demonstracyjnego GUI Klient Microsoft.NET Framework 4

Notatka: Libero Smart Design i zrzuty ekranu konfiguracji pokazane w tym przewodniku służą wyłącznie celom ilustracyjnym.
Otwórz projekt Libero, aby zobaczyć najnowsze aktualizacje.
2.3 Wymagania wstępne
Zanim zaczniesz:
Pobierz i zainstaluj Libero SoC (jak wskazano w pliku webwitryna tego projektu) na komputerze głównym z następującej lokalizacji.
https://www.microsemi.com/product-directory/design-resources/1750-libero-soc
2.3.1 Projektowanie Files
Projekt demonstracyjny files są dostępne do pobrania z poniższej ścieżki w Microsemi webstrona: http://soc.microsemi.com/download/rsc/?f=m2s_dg0388_df
Projekt fileobejmują:

  • Plik wykonywalny GUI
  • Projekt Libero
  • Praca programisty
  • Przeczytaj mnie file

Poniższy rysunek przedstawia strukturę najwyższego poziomu projektu fileS. Więcej informacji można znaleźć w pliku readme.txt file.Microsemi DG0388 SmartFusion2 SoC FPGA wykrywanie i korygowanie błędów pamięci eSRAM - projekt demonstracyjny2.4 Opis projektu demonstracyjnego
Każdy Seram w MSS jest chroniony przez dedykowany kontroler EDAC. EDAC wykrywa błąd 1-bitowy lub 2-bitowy podczas odczytywania danych z pamięci. Jeśli EDAC wykryje błąd 1-bitowy, kontroler EDAC koryguje ten sam bit błędu. Jeśli EDAC jest włączone dla wszystkich 1-bitowych i 2-bitowych błędów, odpowiednie liczniki błędów w rejestrach systemowych są zwiększane i generowane są odpowiednie przerwania i sygnały magistrali błędów do struktury FPGA.
W środowisku podatnym na zakłócenia spowodowane pojedynczym zdarzeniem (SEU) pamięć o dostępie swobodnym (RAM) jest podatna na przejściowe błędy spowodowane przez ciężkie jony. Dzieje się to w czasie rzeczywistym. Aby to zademonstrować, wprowadza się błąd ręcznie oraz obserwuje się wykrywanie i korektę.
Ten projekt demonstracyjny obejmuje realizację następujących zadań:

  • Włącz EDAC
  • Zapisz dane do Serama
  • Odczytaj dane z Serama
  • Wyłącz EDACa
  • Uszkodzony jeden lub dwa bity
  • Zapisz dane do Serama
  • Włącz EDAC
  • Przeczytaj dane
  • W przypadku błędu 1-bitowego sterownik EDAC koryguje błąd, aktualizuje odpowiednie rejestry stanu i podaje dane zapisane w kroku 2 w operacji odczytu wykonanej w kroku 8.
  • W przypadku błędu 2-bitowego generowane jest odpowiednie przerwanie, a aplikacja musi poprawić dane lub podjąć odpowiednią akcję w procedurze obsługi przerwania. Te dwie metody zostały zademonstrowane w tym demo.
    W tym demo zaimplementowano dwa testy: test pętli i test ręczny, które mają zastosowanie zarówno do błędów 1-bitowych, jak i 2-bitowych.

2.4.1 Test pętli
Test pętli jest wykonywany, gdy SmartFusion2 otrzyma polecenie testu pętli z GUI. Początkowo wszystkie liczniki błędów i rejestry związane z EDAC znajdują się w stanie RESET.
Dla każdej iteracji wykonywane są następujące kroki:

  1. Włącz kontroler EDAC.
  2. Zapisz dane w określonej lokalizacji pamięci Seram.
  3. Wyłącz kontroler EDAC.
  4. Zapisz 1-bitowe lub 2-bitowe dane wywołane błędami w tej samej lokalizacji pamięci Seram.
  5. Włącz kontroler EDAC.
  6. Odczytaj dane z tej samej lokalizacji pamięci Seram.
  7. Wyślij 1-bitowe lub 2-bitowe dane dotyczące wykrywania błędów i 1-bitowej korekcji błędów w przypadku 1-bitowego błędu do GUI.

2.4.2 Test ręczny
Ta metoda umożliwia ręczne testowanie w celu włączenia lub wyłączenia EDAC oraz operacji zapisu lub odczytu. Za pomocą tej metody można wprowadzić błędy 1-bitowe lub 2-bitowe w dowolnym miejscu szwu. Włącz EDAC i zapisz dane pod podanym adresem, korzystając z pól GUI. Wyłącz EDAC i zapisz 1-bitowe lub 2-bitowe uszkodzone dane pod tym samym adresem. Włącz EDAC i odczytaj dane z tego samego adresu, po czym dioda LED na płycie przełączy się, powiadamiając o wykryciu i naprawieniu błędów. Odpowiedni licznik błędów zostanie wyświetlony w interfejsie GUI. Konsola szeregowa GUI rejestruje wszystkie działania wykonane w SmartFusion2.
Poniższy rysunek przedstawia operacje demonstracyjne Seram EDAC.Microsemi DG0388 SmartFusion2 SoC FPGA wykrywanie i korygowanie błędów pamięci eSRAM - przebieg projektowania2.5 Uruchamianie wersji demonstracyjnej
W tej sekcji opisano konfigurację płyty zestawu ewaluacyjnego zabezpieczeń SmartFusion2, opcje graficznego interfejsu użytkownika oraz sposób wykonania projektu demonstracyjnego.
2.5.1 Konfiguracja demonstracyjna
Poniższe kroki opisują sposób konfigurowania wersji demonstracyjnej:

  1. Podłącz programator FlashPro4 do złącza J5 płytki zestawu ewaluacyjnego zabezpieczeń SmartFusion2.
  2. Podłącz jeden koniec kabla USB mini-B do złącza J18 znajdującego się na płycie zestawu ewaluacyjnego zabezpieczeń SmartFusion2. Podłącz drugi koniec kabla USB do komputera-hosta. Upewnij się, że sterowniki mostka USB do UART są automatycznie wykrywane (można to sprawdzić w Menedżerze urządzeń), jak pokazano na rysunku 4, strona 7.
    Notatka: Skopiuj numer portu COM do konfiguracji portu szeregowego. Upewnij się, że lokalizacja portu COM jest określona tak, jak w konwerterze szeregowym USB D, jak pokazano na poniższym rysunku.Microsemi DG0388 SmartFusion2 SoC FPGA wykrywanie i korekta błędów pamięci eSRAM - sterowniki mostka USB na UART
  3. Jeśli sterowniki mostka USB do UART nie są zainstalowane, pobierz i zainstaluj sterowniki ze strony www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip
  4. Podłącz zworki na płycie zestawu ewaluacyjnego zabezpieczeń SmartFusion2, jak pokazano na poniższym rysunku. Podczas wykonywania zworek wyłącznik zasilania SW7 musi być wyłączony.
    Tabela 2 • Ustawienia zworek zestawu oceny zabezpieczeń SmartFusion2
    Sweter Przypnij (od) Przypnij (do)  Uwagi
    J22, J23, J24, J8, J3 1 (domyślnie) 2 Są to domyślne ustawienia zworek na płycie zestawu ewaluacyjnego zabezpieczeń SmartFusion2. Upewnij się, że zworki są odpowiednio ustawione.
  5.  Podłącz zasilanie do złącza J18.

Poniższy rysunek przedstawia konfigurację płyty do uruchomienia wersji demonstracyjnej zestawu SmartFusion2 SecuEvaluation Kit.Microsemi DG0388 SmartFusion2 SoC FPGA wykrywanie i korygowanie błędów pamięci eSRAM - konfiguracja zestawu2.5.2 Graficzny interfejs użytkownika
Poniższa sekcja opisuje Seram – GUI demonstracyjny EDAC.Microsemi DG0388 SmartFusion2 SoC FPGA Wykrywanie i korekta błędów pamięci eSRAM - Demo GUI

GUI obsługuje następujące funkcje:

  1. Wybór portu COM i szybkości transmisji.
  2.  Wybór 1-bitowej zakładki korekcji błędów lub 2-bitowej zakładki wykrywania błędów.
  3. Wybór eSRAM0 lub eSRAM1.
  4. Pole adresu do zapisu lub odczytu danych do lub z określonego adresu Seram.
  5. Pole danych do zapisu lub odczytu danych do lub z określonego adresu Seram.
  6.  Sekcja konsoli szeregowej, w której można wydrukować informacje o statusie otrzymane z aplikacji.
  7. EDAC ON/OFF: Włącza lub wyłącza EDAC.
  8. Zapis: Umożliwia zapisanie danych pod podanym adresem.
  9. Odczyt: Umożliwia odczytanie danych z podanego adresu.
  10. Test LOOP ON/OFF: Umożliwia testowanie mechanizmu EDAC metodą pętlową.

2.5.3 Uruchomienie projektu
Poniższe kroki opisują sposób uruchomienia projektu:

  1. Włącz przełącznik zasilania, SW7.
  2. Zaprogramuj płytkę zestawu oceny zabezpieczeń SmartFusion2 za pomocą zadania file dostarczane jako część projektu files (\Programming job\eSRAM_0\eSRAM0.job lub \Programming job\eSRAM_1\eSRAM1.job) przy użyciu oprogramowania FlashPro Express, patrz Dodatek: Programowanie urządzenia przy użyciu FlashPro Express, strona 12.
  3. Naciśnij przełącznik SW6, aby zresetować płytkę po pomyślnym zaprogramowaniu.
  4. Uruchom plik wykonywalny GUI demonstracyjnego EDAC_eSRAM file dostępne w projekcie files (\Plik wykonywalny GUI\EDAC_eSRAM.exe). Wyświetli się okno GUI, jak pokazano na rysunku 6, strona 9.
  5. Z listy rozwijanej Port COM wybierz odpowiedni port COM (na który wskazują sterowniki mostka USB na UART).
  6. Wybierz szybkość transmisji jako 57600 i kliknij Połącz. Po nawiązaniu połączenia, Połącz zmienia się na Rozłącz.
  7. Wybierz Seram 0 lub Seram 1 w zależności od programowania file wybrane w kroku 2.
  8. Wybierz zakładkę 1-bitowa korekcja błędów lub 2-bitowa zakładka wykrywanie błędów, jak pokazano na Rysunek 7, strona 10 i Rysunek 8, strona 11.
  9. Można przeprowadzić dwa rodzaje testów: ręczny i pętlowy.

2.5.3.1 Wykonywanie testu pętli
Kliknij opcję Test pętli WŁ. Działa w trybie pętli, w którym wykonywana jest ciągła korekta i wykrywanie błędów. Pętla działa przez 200 iteracji. Wszystkie akcje wykonane w SmartFusion2 są rejestrowane w sekcji konsoli szeregowej interfejsu GUI. 2-bitowy test pętli wykrywania błędów drukuje przesunięcie adresu Seram, którego dotyczy błąd, w konsoli szeregowej. Kliknij opcję Test pętli WYŁĄCZONY po ukończeniu 200 iteracji.
Tabela 3 • Adresy pamięci Seram używane w teście pętli

Pamięć 1 1-bitowa korekcja błędów  2-bitowe wykrywanie błędów
eSRAM0 0x20000000 0x20002000
eSRAM1 0x20008000 0x2000A000

2.5.3.2 Wykonywanie testu ręcznego
W tej metodzie błędy wprowadzane są ręcznie za pomocą GUI. Wykonaj poniższe kroki, aby wykonać 1-bitową korekcję błędów lub 2-bitowe wykrywanie błędów:

  1. Wprowadź adres i pola danych (użyj 32-bitowych wartości szesnastkowych).
  2. Kliknij opcję EDAC WŁ.
  3. Kliknij Napisz.
  4. Kliknij opcję EDAC WYŁ.
  5. Wystarczy zmienić 1-bit (w przypadku 1-bitowej korekcji błędów) lub 2 bity (w przypadku 2-bitowej detekcji błędów) w polu Data (wprowadzając błąd).
  6. Kliknij Napisz.
  7. Kliknij opcję EDAC WŁ.
  8. Kliknij Czytaj.
  9. Obserwuj wyświetlaną liczbę błędów i pole danych w interfejsie GUI. Wartość licznika błędów wzrasta o 1.

Wszystkie akcje wykonane w SmartFusion2 są rejestrowane w sekcji konsoli szeregowej interfejsu GUI.
Notatka: Aby przełączyć się z 1-bitowej zakładki Error Correction na 2-bitową zakładkę Error Detection lub odwrotnie w EDAC_eSRAM Demo GUI, zresetuj płytę sprzętową.Microsemi DG0388 SmartFusion2 SoC FPGA Wykrywanie i korekcja błędów pamięci eSRAM - zakładka Bit Error CorrectionMicrosemi DG0388 SmartFusion2 SoC FPGA Wykrywanie i korekta błędów pamięci eSRAM - zakładka Wykrywanie błędów bitowych

2.6 Wnioski
To demo pokazuje możliwości SmartFusion2 SECDED Seram.

Dodatek: Programowanie urządzenia przy użyciu programu FlashPro Express

W tej sekcji opisano sposób programowania urządzenia SmartFusion2 za pomocą zadania programowania file za pomocą FlashPro Express.
Aby zaprogramować urządzenie, wykonaj następujące czynności:

  1. Upewnij się, że ustawienia zworek na płycie są takie same, jak te wymienione w Tabeli 2, strona 7.
    Notatka: Podczas wykonywania zworek wyłącznik zasilania musi być wyłączony.
  2. Podłącz kabel zasilający do złącza J6 na płytce.
  3. WŁĄCZ przełącznik zasilania SW7.
  4. Na komputerze głównym uruchom oprogramowanie FlashPro Express.
  5. Kliknij Nowy lub wybierz Nowy projekt zadania z FlashPro Express Job z menu Projekt, aby utworzyć nowy projekt zadania, jak pokazano na poniższym rysunku.Microsemi DG0388 SmartFusion2 SoC FPGA wykrywanie i korygowanie błędów pamięci eSRAM - projekt pracy
  6. Wprowadź następujące informacje w oknie dialogowym Nowy projekt zadania z programu FlashPro Express Job:
    • Praca programistyczna file: Kliknij Przeglądaj i przejdź do lokalizacji, w której .job file znajduje się i wybierz file. Domyślna lokalizacja to: \m2s_dg0388_df\Zadanie programowania
    • Nazwa projektu zadania FlashPro Express: Kliknij Przeglądaj i przejdź do lokalizacji, w której chcesz zapisać projekt.Microsemi DG0388 SmartFusion2 SoC FPGA wykrywanie i korekta błędów pamięci eSRAM - nowy projekt pracy
  7. Kliknij OK. Wymagane programowanie file jest wybrany i gotowy do zaprogramowania w urządzeniu.
  8. Pojawi się okno programu FlashPro Express, jak pokazano na poniższym rysunku. Potwierdź, że w polu Programista pojawił się numer programisty. Jeśli tak się nie stanie, potwierdź połączenia płyty i kliknij Odśwież/Przeskanuj ponownie programistów.Microsemi DG0388 SmartFusion2 SoC FPGA wykrywanie i korekta błędów pamięci eSRAM - Programowanie
  9. Kliknij URUCHOM. Gdy urządzenie zostanie pomyślnie zaprogramowane, zostanie wyświetlony status RUN PASSED, jak pokazano na poniższym rysunku.Microsemi DG0388 SmartFusion2 SoC FPGA Wykrywanie błędów i korekta pamięci eSRAM - RUN PASSED
  10. Zamknij FlashPro Express lub na karcie Projekt kliknij Wyjdź.

Mikrosemi - logoSiedziba Microsemi
Jedno Przedsiębiorstwo, Aliso Viejo,
CA 92656 Stany Zjednoczone
W USA: +1 800-713-4113
Poza USA: +1 949-380-6100
Sprzedaż: +1 949-380-6136
Faks: +1 949-215-4996
E-mail: sales.support@microsemi.com
www.microsemi.com
Microsemi zastrzeżony DG0388 wersja 11.0

Dokumenty / Zasoby

Microsemi DG0388 SmartFusion2 SoC FPGA wykrywanie błędów i korekta pamięci eSRAM [plik PDF] Instrukcja użytkownika
DG0388, SmartFusion2 SoC FPGA wykrywanie i korekta błędów pamięci eSRAM, DG0388 SmartFusion2 SoC FPGA wykrywanie i korekta błędów pamięci eSRAM

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *