Microsemi DG0669 SmartFusion2 Code Shadowing z SPI Flash do pamięci LPDDR
Informacje o produkcie
SmartFusion2 SoC FPGA to wysokowydajne rozwiązanie FPGA o niskim poborze mocy, które integruje procesor ARM Cortex-M3, programowalne zasoby analogowe i cyfrowe oraz szybkie interfejsy komunikacyjne w jednym chipie. Oprogramowanie Libero SoC v11.7 to kompletny pakiet projektowy do projektowania z wykorzystaniem układów Microsemi FPGA.
Zastosowanie produktu
Aby użyć układu FPGA SmartFusion2 SoC z funkcją cieniowania kodu z pamięci SPI Flash do pamięci LPDDR, wykonaj poniższe czynności:
Przedmowa
Zamiar
To demo dotyczy urządzeń SmartFusion®2 typu system-on-chip (SoC) z programowalną macierzą bramek (FPGA). Zawiera instrukcje dotyczące korzystania z odpowiedniego projektu referencyjnego.
Docelowa grupa odbiorców
Ten przewodnik demonstracyjny jest przeznaczony dla:
- Projektanci układów FPGA
- Wbudowani projektanci
- Projektanci na poziomie systemu
Odniesienia
Zobacz następujące web strona zawierająca pełną i aktualną listę dokumentacji urządzenia SmartFusion2: http://www.microsemi.com/products/fpga-soc/soc-fpga/sf2docs
W tym przewodniku demonstracyjnym odniesiono się do następujących dokumentów.
- UG0331: Podręcznik użytkownika podsystemu mikrokontrolera SmartFusion2
- Podręcznik użytkownika konstruktora systemu SmartFusion2
SmartFusion2 SoC FPGA – cieniowanie kodu z pamięci Flash SPI do pamięci LPDDR
Wstęp
Ten projekt demonstracyjny przedstawia możliwości urządzenia SmartFusion2 SoC FPGA w zakresie cieniowania kodu z urządzenia pamięci flash szeregowego interfejsu peryferyjnego (SPI) do synchronicznej pamięci dynamicznej o dostępie swobodnym (SDRAM) o podwójnej szybkości transmisji danych (LPDDR) i wykonywania kodu z LPDDR SDRAM. Rysunek 1 przedstawia schemat blokowy najwyższego poziomu dla cieniowania kodu z urządzenia flash SPI do pamięci LPDDR.
Rysunek 1 Schemat blokowy najwyższego poziomu wersji demonstracyjnej
Śledzenie kodu to metoda uruchamiania używana do uruchamiania obrazu z zewnętrznych, szybszych i ulotnych pamięci (DRAM). Jest to proces kopiowania kodu z pamięci nieulotnej do pamięci ulotnej w celu wykonania. Funkcja cieniowania kodu jest wymagana, gdy pamięć nieulotna powiązana z procesorem nie obsługuje losowego dostępu do kodu w celu wykonania na miejscu lub gdy nieulotna pamięć o dostępie swobodnym jest niewystarczająca. W aplikacjach o krytycznym znaczeniu dla wydajności szybkość wykonywania można poprawić poprzez śledzenie kodu, podczas którego kod jest kopiowany do pamięci RAM o większej przepustowości w celu szybszego wykonania. Pamięci SDRAM o pojedynczej szybkości transmisji danych (SDR)/DDR są używane w aplikacjach, które mają duży obraz wykonywalny aplikacji i wymagają wyższej wydajności. Zwykle duże obrazy wykonywalne są przechowywane w pamięci nieulotnej, takiej jak NAND flash lub SPI flash, i kopiowane do pamięci ulotnej, takiej jak pamięć SDR/DDR SDRAM, po włączeniu zasilania w celu wykonania. Urządzenia SmartFusion2 integrują w jednym chipie strukturę FPGA czwartej generacji opartą na pamięci flash, procesor ARM® Cortex®-M3 i wysokowydajne interfejsy komunikacyjne. Szybkie kontrolery pamięci w urządzeniach SmartFusion2 służą do łączenia się z zewnętrznymi pamięciami DDR2/DDR3/LPDDR. Pamięć LPDDR może pracować z maksymalną szybkością 166 MHz. Procesor Cortex-M3 może bezpośrednio uruchamiać instrukcje z zewnętrznej pamięci DDR poprzez podsystem mikrokontrolera (MSS) DDR (MDDR). Kontroler pamięci podręcznej FPGA i most MSS DDR obsługują przepływ danych, zapewniając lepszą wydajność.
Wymagania projektowe
Upewnij się, że masz następujące wymagania sprzętowe i programowe:
Wymagania sprzętowe i programowe
Tabela 1 Wymagania projektowe
Wymagania projektowe | Opis |
Wymagania sprzętowe | |
Zestaw oceny bezpieczeństwa SmartFusion2: • Zasilacz 12 V • FlashPro4 • Kabel USB A do Mini – B USB | Wersja D lub nowsza |
Komputer PC lub laptop | System operacyjny Windows XP SP2 – 32-/64-bitowy System operacyjny Windows 7 – 32-/64-bitowy |
Wymagania programowe | |
Libero® System-on-Chip (SoC) | wersja 11.7 |
Oprogramowanie do programowania FlashPro | wersja 11.7 |
Miękka konsola | wersja 3.4 SP1* |
Sterowniki komputera hosta | Sterowniki USB do UART |
Framework do uruchamiania demonstracyjnego GUI | Klient Microsoft .NET Framework 4 do uruchamiania demonstracyjnego GUI |
Notatka: *W tym przewodniku demonstracyjnym użyto oprogramowania SoftConsole v3.4 SP1. Informacje na temat korzystania z SoftConsole v4.0 można znaleźć w artykule TU0546: Samouczek SoftConsole v4.0 i Libero SoC v11.7. |
- Zestaw deweloperski SmartFusion2
- Oprogramowanie Libero SoC v11.7
- Kabel USB Blaster lub USB Blaster II
Projekt demonstracyjny
Projekt demonstracyjny wykorzystuje multi-stagMetoda procesu rozruchu lub metoda sprzętowego silnika rozruchu w celu załadowania obrazu aplikacji z pamięci flash SPI do pamięci LPDDR. Wykonaj poniższe czynności: Projekt files są dostępne do pobrania z poniższej ścieżki w Microsemi webstrona: http://soc.microsemi.com/download/rsc/?f=m2s_dg0669_liberov11p7_df
Projekt fileobejmują:
Projekt demonstracyjny fileobejmują:
- Sampobrazy aplikacji
- Programowanie files
- Libero
- Plik wykonywalny GUI
- Skrypty linkera
- Konfiguracja DDR files
- Przeczytaj mnie.txt file
SmartFusion2 SoC FPGA – cieniowanie kodu z SPI Flash do pamięci LPDDR Rysunek 2 przedstawia strukturę najwyższego poziomu projektu fileS. Więcej informacji można znaleźć w pliku Readme.txt file.
Rysunek 2 Projekt Files Struktura najwyższego poziomu
Opis projektu demonstracyjnego
Ten projekt demonstracyjny implementuje technikę cieniowania kodu w celu uruchomienia obrazu aplikacji z pamięci DDR. Konstrukcja ta zapewnia również interfejs hosta za pośrednictwem wielomodowego uniwersalnego asynchronicznego/synchronicznego odbiornika/nadajnika SmartFusion2 SoC FPGA (MMUART) w celu załadowania obrazu wykonywalnego aplikacji docelowej do pamięci flash SPI podłączonej do interfejsu MSS SPI0.
Śledzenie kodu jest realizowane dwoma następującymi metodami:
- Multi-stagMetoda procesu rozruchu z wykorzystaniem procesora Cortex-M3
- Metoda silnika rozruchu sprzętowego wykorzystująca strukturę FPGA.
Multi-Stage Metoda procesu rozruchu
- Utwórz obraz aplikacji dla pamięci DDR za pomocą oprogramowania Libero SoC.
- Załaduj moduł ładujący SPI Flash do pamięci flash SPI za pomocą oprogramowania Libero SoC.
- Uruchom GUI Code Shadowing Demo, aby zaprogramować FPGA i załadować obraz aplikacji z pamięci flash SPI do pamięci LPDDR.
Obraz aplikacji jest uruchamiany z zewnętrznych pamięci DDR podczas dwóch kolejnych rozruchówtages:
- Procesor Cortex-M3 uruchamia program ładujący soft boot z wbudowanej pamięci nieulotnej (eNVM), która wykonuje transfer obrazu kodu z urządzenia flash SPI do pamięci DDR.
- Procesor Cortex-M3 uruchamia obraz aplikacji z pamięci DDR.
Ten projekt implementuje program ładujący, który ładuje obraz wykonywalny aplikacji docelowej z urządzenia flash SPI do pamięci DDR w celu wykonania. Program ładujący uruchomiony z eNVM przeskakuje do aplikacji docelowej przechowywanej w pamięci DDR po skopiowaniu obrazu aplikacji docelowej do pamięci DDR.
Rysunek 3 Śledzenie kodu Multi-Stage Schemat blokowy demonstracyjny procesu rozruchu
MDDR jest skonfigurowany tak, aby LPDDR działał z częstotliwością 166 MHz. „Dodatek: Konfiguracje LPDDR” na stronie 22 przedstawia ustawienia konfiguracji LPDDR. Pamięć DDR jest konfigurowana przed wykonaniem głównego kodu aplikacji.
Program ładujący
Program ładujący wykonuje następujące operacje:
- Kopiowanie docelowego obrazu aplikacji z pamięci flash SPI do pamięci DDR.
- Zmiana adresu początkowego pamięci DDR z 0xA0000000 na 0x00000000 poprzez konfigurację rejestru systemowego DDR_CR.
- Inicjowanie wskaźnika stosu procesora Cortex-M3 zgodnie z aplikacją docelową. Pierwsza lokalizacja docelowej tabeli wektorów aplikacji zawiera wartość wskaźnika stosu. Tablica wektorów docelowej aplikacji jest dostępna począwszy od adresu 0x00000000.
- Ładowanie licznika programu (PC) w celu zresetowania procedury obsługi aplikacji docelowej w celu uruchomienia obrazu aplikacji docelowej z pamięci DDR. Procedura resetowania docelowej aplikacji jest dostępna w tablicy wektorów pod adresem 0x00000004.
Rysunek 4 Przebieg projektowania dla Multi-Stage Metoda procesu rozruchu
Metoda rozruchu sprzętowego
- Wygeneruj wykonywalny plik binarny file za pomocą oprogramowania Libero SoC.
- Załaduj plik binarny file do pamięci flash SPI za pomocą oprogramowania Libero SoC.
- Uruchom Hardware Boot Engine Design, aby zaprogramować FPGA i załadować obraz aplikacji z pamięci flash SPI do pamięci LPDDR.
W tej metodzie Cortex-M3 bezpośrednio ładuje docelowy obraz aplikacji z zewnętrznych pamięci DDR. Sprzętowy silnik rozruchowy kopiuje obraz aplikacji z urządzenia flash SPI do pamięci DDR przed zwolnieniem resetu procesora Cortex-M3. Po zwolnieniu resetu procesor Cortex-M3 uruchamia się bezpośrednio z pamięci DDR. Ta metoda wymaga krótszego czasu uruchamiania niż multi-stage proces rozruchu, ponieważ pozwala uniknąć wielokrotnych rozruchówtages i kopiuje obraz aplikacji do pamięci DDR w krótszym czasie. Ten projekt demonstracyjny implementuje logikę silnika rozruchowego w strukturze FPGA w celu skopiowania obrazu wykonywalnego aplikacji docelowej z pamięci flash SPI do pamięci DDR w celu wykonania. Projekt ten implementuje również moduł ładujący flash SPI, który może być wykonywany przez procesor Cortex-M3 w celu załadowania obrazu wykonywalnego aplikacji docelowej do urządzenia flash SPI przy użyciu dostarczonego interfejsu hosta przez SmartFusion2 SoC FPGA MMUART_1. Przełącznik DIP1 w zestawie ewaluacyjnym zabezpieczeń SmartFusion2 może zostać użyty do wyboru, czy programować urządzenie flash SPI, czy wykonywać kod z pamięci DDR. Jeśli wykonywalna aplikacja docelowa jest dostępna w urządzeniu flash SPI, po włączeniu urządzenia rozpoczyna się śledzenie kodu z urządzenia flash SPI do pamięci DDR. Silnik rozruchowy inicjuje MDDR, kopiuje obraz z urządzenia flash SPI do pamięci DDR i ponownie mapuje przestrzeń pamięci DDR na 0x00000000, utrzymując reset procesora Cortex-M3. Po zwolnieniu przez silnik rozruchowy resetu Cortex-M3, Cortex-M3 uruchamia docelową aplikację z pamięci DDR. Rysunek 5 przedstawia szczegółowy schemat blokowy projektu demonstracyjnego. FIC_0 jest skonfigurowany w trybie Slave, aby uzyskać dostęp do MSS SPI_0 z mastera AHB FPGA. Interfejs MDDR AXI (DDR_FIC) umożliwia dostęp do pamięci DDR z modułu głównego AXI FPGA.
Rysunek 5. Schemat bloku demonstracyjnego mechanizmu rozruchowego sprzętu śledzącego kod
Silnik rozruchowy
To jest główna część demonstracji cieniowania kodu, która kopiuje obraz aplikacji z urządzenia flash SPI do pamięci DDR. Silnik rozruchowy wykonuje następujące operacje:
- Inicjowanie MDDR w celu uzyskania dostępu do LPDDR przy 166 MHz poprzez zresetowanie procesora Cortex-M3.
- Kopiowanie docelowego obrazu aplikacji z urządzenia pamięci flash SPI do pamięci DDR przy użyciu modułu głównego AXI w strukturze FPGA poprzez interfejs MDDR AXI.
- Zmiana adresu początkowego pamięci DDR z 0xA0000000 na 0x00000000 poprzez zapis do rejestru systemowego DDR_CR.
- Zwolnienie resetu procesora Cortex-M3 w celu rozruchu z pamięci DDR.
Rysunek 6. Przebieg projektowania metody sprzętowego silnika rozruchowego
Tworzenie docelowego obrazu aplikacji dla pamięci DDR
Do uruchomienia wersji demonstracyjnej wymagany jest obraz, który można wykonać z pamięci DDR. Użyj opisu konsolidatora produkcyjnego-wykonaj-in-place-externalDDR.ld file co jest uwzględnione w projekcie files do zbudowania obrazu aplikacji. Ten opis linkera file definiuje adres początkowy pamięci DDR jako 0x00000000, ponieważ program ładujący lub silnik rozruchowy wykonuje ponowne mapowanie pamięci DDR z 0xA0000000 na 0x00000000. Ten skrypt linkera tworzy obraz aplikacji z instrukcjami, danymi i sekcjami BSS w pamięci, którego adres początkowy to 0x00000000. Prosty obraz aplikacji do generowania przerwań w oparciu o migającą diodę elektroluminescencyjną (LED), timer i przełącznik file jest dostępny dla tego demo.
Moduł ładujący Flash SPI
Moduł ładujący flash SPI został zaimplementowany w celu ładowania wbudowanej pamięci flash SPI z wykonywalnym obrazem aplikacji docelowej z komputera hosta poprzez interfejs MMUART_1. Procesor Cortex-M3 tworzy bufor dla danych przychodzących przez interfejs MMUART_1 i inicjuje peryferyjne DMA (PDMA), aby zapisać buforowane dane w pamięci flash SPI poprzez MSS_SPI0.
Uruchamianie wersji demonstracyjnej
Aby uruchomić projekt demonstracyjny, wykonaj poniższe kroki: Demo pokazuje, jak załadować obraz aplikacji do pamięci flash SPI i uruchomić ten obraz aplikacji z zewnętrznych pamięci DDR. To demo zapewnia exampplik obrazu aplikacji sample_image_LPDDR.bin. Ten obraz przedstawia komunikaty powitalne i komunikat o przerwaniu czasowym na konsoli szeregowej oraz migające diody LED1 do LED8 na zestawie ewaluacyjnym zabezpieczeń SmartFusion2. Aby zobaczyć komunikaty przerwań GPIO na konsoli szeregowej, naciśnij przełącznik SW2 lub SW3.
Konfigurowanie projektu demonstracyjnego
Poniższe kroki opisują sposób konfiguracji wersji demonstracyjnej zestawu ewaluacyjnego zabezpieczeń SmartFusion2: Podłącz komputer główny do złącza J18 za pomocą kabla USB A do mini-B. Sterowniki mostka USB na UART są wykrywane automatycznie. Sprawdź, czy wykrycie zostało dokonane w menedżerze urządzeń, jak pokazano na rysunku 7.
- Jeśli sterowniki USB nie zostaną wykryte automatycznie, zainstaluj sterownik USB.
- Aby móc komunikować się z terminalem szeregowym poprzez kabel FTDI mini USB, zainstaluj sterownik FTDI D2XX. Pobierz sterowniki i instrukcję instalacji ze strony:
http://www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.
Rysunek 7. Przebieg projektowania metody sprzętowego silnika rozruchowego
Podłącz zworki na płycie zestawu ewaluacyjnego zabezpieczeń SmartFusion2, jak pokazano w Tabeli 2.
Ostrożność: Przed wykonaniem zworek należy wyłączyć wyłącznik zasilania SW7.
Tabela 2 Ustawienia zworek zestawu ewaluacyjnego zabezpieczeń SmartFusion2
Sweter | Przypnij (od) | Przypnij (do) | Uwagi |
J22 | 1 | 2 | Domyślny |
J23 | 1 | 2 | Domyślny |
J24 | 1 | 2 | Domyślny |
J8 | 1 | 2 | Domyślny |
J3 | 1 | 2 | Domyślny |
W zestawie ewaluacyjnym zabezpieczeń SmartFusion2 podłącz zasilacz do złącza J6. Rysunek 8 przedstawia konfigurację płytki do uruchamiania cieniowania kodu z pamięci flash SPI do wersji demonstracyjnej LPDDR w zestawie ewaluacyjnym zabezpieczeń SmartFusion2.
Rysunek 8 Konfiguracja zestawu ewaluacyjnego zabezpieczeń SmartFusion2
Moduł ładujący SPI Flash i graficzny interfejs demonstracyjny Code Shadowing
Jest to wymagane do uruchomienia wersji demo cieniowania kodu. GUI modułu ładującego SPI Flash i demonstracji Code Shadowing to prosty graficzny interfejs użytkownika, który działa na komputerze głównym w celu zaprogramowania pamięci flash SPI i uruchamia demonstrację cieniowania kodu w zestawie ewaluacyjnym zabezpieczeń SmartFusion2. UART jest używany jako podkreślający protokół komunikacyjny pomiędzy komputerem głównym a zestawem ewaluacyjnym zabezpieczeń SmartFusion2. Udostępnia również sekcję konsoli szeregowej do drukowania komunikatów debugowania otrzymanych z aplikacji za pośrednictwem interfejsu UART.
Rysunek 9. Interfejs graficzny SPI Flash Loader i Code Shadowing
GUI obsługuje następujące funkcje:
- Program SPI Flash: Programuje obraz file do pamięci flash SPI.
- Program i cieniowanie kodu z SPI Flash do DDR: programuje obraz file do pamięci flash SPI, kopiuje ją do pamięci DDR i uruchamia obraz z pamięci DDR.
- Shadowing programu i kodu z SPI Flash do SDR: Programuje obraz file do pamięci flash SPI, kopiuje ją do pamięci SDR i uruchamia obraz z pamięci SDR.
- Code Shadowing do DDR: Kopiuje istniejący obraz file z pamięci flash SPI do pamięci DDR i uruchamia obraz z pamięci DDR.
- Code Shadowing do SDR: Kopiuje istniejący obraz file z pamięci flash SPI do pamięci SDR i uruchamia obraz z pamięci SDR.
Kliknij opcję Pomoc, aby uzyskać więcej informacji na temat graficznego interfejsu użytkownika.
Podłącz zestaw deweloperski SmartFusion2 do komputera za pomocą kabla USB Blaster lub USB Blaster II. Następnie wykonaj poniższe czynności:
- Włącz zestaw deweloperski SmartFusion2.
- Otwórz graficzny interfejs użytkownika Code Shadowing Demo w oprogramowaniu Libero SoC.
- Wybierz odpowiednie ustawienia dla swojego projektu i kliknij „Generuj”, aby wygenerować program file.
- Podłącz do zestawu deweloperskiego SmartFusion2 za pomocą kabla USB Blaster lub USB Blaster II.
- Zaprogramuj FPGA i załaduj obraz aplikacji z pamięci flash SPI do pamięci LPDDR, klikając „Program” w graficznym interfejsie użytkownika Code Shadowing Demo.
Uruchamianie projektu demonstracyjnego dla Multi-Stage Metoda procesu rozruchu
Aby uruchomić projekt demonstracyjny dla multi-stage metodę procesu rozruchu, wykonaj poniższe kroki:
- Włącz zestaw deweloperski SmartFusion2.
- Podłącz do zestawu deweloperskiego SmartFusion2 za pomocą kabla USB Blaster lub USB Blaster II.
- Zresetuj płytę i poczekaj, aż zakończy proces uruchamiania.
- Aplikacja uruchomi się automatycznie z pamięci LPDDR.
Poniższe kroki opisują sposób uruchomienia projektu demonstracyjnego dla wielu urządzeńtagMetoda procesu rozruchu:
- Zmień przełącznik zasilania SW7 na ON.
- Zaprogramuj urządzenie SmartFusion2 SoC FPGA za pomocą oprogramowania file podane w projekcie files (SF2_CodeShadowing_LPDDR_DF\Programming
Files\MultiStageBoot_method\CodeShadowing_LPDDR_top.stp przy użyciu oprogramowania do projektowania FlashPro. - Uruchom plik wykonywalny SPI Flash Loader i Code Shadowing Demo GUI file dostępne w projekcie files (SF2_CodeShadowing_LPDDR_DF\GUI Executable\SF2_FlashLoader.exe).
- Z listy rozwijanej Port COM wybierz odpowiedni port COM (na który wskazują sterowniki USB Serial).
- Kliknij Połącz. Po nawiązaniu połączenia, Połącz zmienia się na Rozłącz.
- Kliknij przycisk Przeglądaj, aby wybrać plik example docelowy obraz wykonywalny file dostarczone z projektem files (SF2_CodeShadowing_LPDDR_DF/Sample Obrazy aplikacji/MultiStagmetoda_eBoot/sample_image_LPDDR.bin).
Notatka: Aby wygenerować kosz obrazu aplikacji file, patrz „Dodatek: Generowanie pliku wykonywalnego File” na stronie 24. - Zachowaj domyślny adres początkowy pamięci flash SPI jako 0x00000000.
- Wybierz opcję Program and Code Shadowing z SPI Flash na DDR.
- Kliknij przycisk Start, jak pokazano na rysunku 10, aby załadować obraz wykonywalny do pamięci flash SPI i wykonać cieniowanie kodu z pamięci DDR.
Rysunek 10 Uruchamianie wersji demonstracyjnej
Jeśli urządzenie SmartFusion2 jest zaprogramowane za pomocą STAPL file w którym MDDR nie jest skonfigurowany dla pamięci DDR, wyświetli się komunikat o błędzie, jak pokazano na rysunku 11.
Rysunek 11 Komunikat dotyczący nieprawidłowego urządzenia lub opcji
Sekcja konsoli szeregowej w interfejsie GUI wyświetla komunikaty debugowania i rozpoczyna programowanie pamięci flash SPI po pomyślnym usunięciu pamięci flash SPI. Rysunek 12 przedstawia stan zapisu flash SPI.
Rysunek 12. Ładowanie Flasha
- Po pomyślnym zaprogramowaniu pamięci flash SPI program ładujący działający na SmartFusion2 SoC FPGA kopiuje obraz aplikacji z pamięci flash SPI do pamięci DDR i uruchamia obraz aplikacji. Jeśli dostarczony obraz sample_image_LPDDR.bin, konsola szeregowa wyświetla komunikaty powitalne, komunikaty o przerwaniu przełącznika i przerwaniu czasowym, jak pokazano na Rysunek 13 i Rysunek
- Bieżący wzór diod LED jest wyświetlany na diodach LED1 do LED8 w zestawie ewaluacyjnym zabezpieczeń SmartFusion2.
- Naciśnij przełączniki SW2 i SW3, aby wyświetlić komunikaty przerwań na konsoli szeregowej.
Rysunek 13 Uruchamianie obrazu aplikacji docelowej z pamięci DDR3
Rysunek 14 Komunikaty licznika czasu i przerwań w konsoli szeregowej
Uruchamianie projektu metody sprzętowego silnika rozruchowego
Aby uruchomić projekt demonstracyjny metody rozruchu sprzętowego, wykonaj poniższe czynności:
- Włącz zestaw deweloperski SmartFusion2.
- Podłącz do zestawu deweloperskiego SmartFusion2 za pomocą kabla USB Blaster lub USB Blaster II.
- Zresetuj płytę i poczekaj, aż zakończy proces uruchamiania.
- Aplikacja uruchomi się automatycznie z pamięci LPDDR.
Poniższe kroki opisują sposób uruchomienia projektu metody rozruchu sprzętowego:
- Zmień przełącznik zasilania SW7 na ON.
- Zaprogramuj urządzenie SmarFusion2 SoC FPGA za pomocą oprogramowania file podane w projekcie files (SF2_CodeShadowing_LPDDR_DF\Programming Files\HWBootEngine_method\CodeShadowing_Fabric.stp przy użyciu oprogramowania do projektowania FlashPro.
- Aby zaprogramować SPI Flash, ustaw przełącznik DIP SW5-1 w pozycji ON. Ten wybór powoduje uruchomienie Cortex-M3 z eNVM. Naciśnij SW6, aby zresetować urządzenie SmartFusion2.
- Uruchom plik wykonywalny SPI Flash Loader i Code Shadowing Demo GUI file dostępne w projekcie files (SF2_CodeShadowing_LPDDR_DF\GUI Executable\SF2_FlashLoader.exe).
- Z listy rozwijanej Port COM wybierz odpowiedni port COM (na który wskazują sterowniki USB Serial).
- Kliknij Połącz. Po nawiązaniu połączenia, Połącz zmienia się na Rozłącz.
- Kliknij przycisk Przeglądaj, aby wybrać plik example docelowy obraz wykonywalny file dostarczone z projektem files (SF2_CodeShadowing_LPDDR_DF/SampPlik Obrazy aplikacji/HWBootEngine_method/sample_image_LPDDR.bin).
Notatka: Aby wygenerować kosz obrazu aplikacji file, patrz „Dodatek: Generowanie pliku wykonywalnego File” na stronie 24. - Wybierz opcję Hardware Boot Engine w metodzie cieniowania kodu.
- Wybierz opcję Program SPI Flash z menu Opcje.
- Kliknij Start, jak pokazano na rysunku 15, aby załadować obraz wykonywalny do pamięci flash SPI.
Rysunek 15 Uruchamianie wersji demonstracyjnej
Sekcja konsoli szeregowej w interfejsie GUI pokazuje komunikaty debugowania i stan zapisu flash SPI, jak pokazano na rysunku 16.
Rysunek 16. Ładowanie Flasha
- Po pomyślnym zaprogramowaniu flash SPI, zmień przełącznik DIP SW5-1 w pozycję OFF. Wybór ten powoduje uruchomienie procesora Cortex-M3 z pamięci DDR.
- Naciśnij SW6, aby zresetować urządzenie SmartFusion2. Silnik rozruchowy kopiuje obraz aplikacji z pamięci flash SPI do pamięci DDR i zwalnia procesor Cortex-M3, który uruchamia obraz aplikacji z pamięci DDR. Jeśli dostarczony obraz „sample_image_LPDDR.bin” jest ładowany do pamięci flash SPI, konsola szeregowa wyświetla komunikaty powitalne, przerwanie przełącznika (naciśnij SW2 lub SW3) i komunikaty przerwania timera, jak pokazano na rysunku 17, a na diodach LED od 1 do LED 8 w SmartFusion2 wyświetlany jest działający wzór diod LED Zestaw oceny bezpieczeństwa.
Rysunek 17 Uruchamianie obrazu aplikacji docelowej z pamięci DDR3
Wniosek
Pomyślnie użyłeś układu FPGA SmartFusion2 SoC z funkcją cieniowania kodu z pamięci SPI Flash do pamięci LPDDR. To demo pokazuje zdolność urządzenia SmartFusion2 do łączenia się z pamięcią DDR i uruchamiania obrazu wykonywalnego z pamięci DDR poprzez cieniowanie kodu z urządzenia pamięci flash SPI . Pokazuje także dwie metody implementacji cieniowania kodu na urządzeniu SmartFusion2.
Dodatek: Konfiguracje LPDDR
Rysunek 18 Ogólne ustawienia konfiguracji DDR
Rysunek 19 Ustawienia inicjowania pamięci DDR
Rysunek 20 Ustawienia taktowania pamięci DDR
Dodatek: Generowanie pliku wykonywalnego File
Plik wykonywalny file jest wymagany do zaprogramowania pamięci flash SPI w celu uruchomienia wersji demo cieniowania kodu. Aby wygenerować plik wykonywalny file z „sample_image_LPDDR” SoftConsole, wykonaj następujące kroki:
- Zbuduj projekt SoftConsole za pomocą skryptu linkera. Production-execute-in-place-externalDDR.
- Dodaj ścieżkę instalacji SoftConsole, npampLe,
C:\Microsemi\Libero_v11.7\SoftConsole\Sourcery-G++\bin do „Zmiennych środowiskowych”, jak pokazano na rysunku 21.
Rysunek 21 Dodawanie ścieżki instalacji SoftConsole
- Kliknij dwukrotnie partię file Kosz-File-Generator.bat zlokalizowany pod adresem: SoftConsole/CodeShadowing_LPDDR_MSS_CM3/Sample_image_LPDDR, jak pokazano na rysunku 22.
Rysunek 22 Dodawanie ścieżki instalacji SoftConsole
- Kosz-File-Generator tworzy sample_image_LPDDR.bin file
Historia rewizji
Poniższa tabela przedstawia ważne zmiany wprowadzone w tym dokumencie dla każdej wersji.
Rewizja | Zmiany |
Wersja 2 (kwiecień 2016) | Zaktualizowano dokument dotyczący wersji oprogramowania Libero SoC v11.7 (SAR 78258). |
Wersja 1 (grudzień 2015) | Pierwsze wydanie. |
Wsparcie produktu
Microsemi SoC Products Group wspiera swoje produkty różnymi usługami wsparcia, w tym obsługą klienta, centrum wsparcia technicznego klienta, a webwitryna internetowa, poczta elektroniczna i biura sprzedaży na całym świecie. Ten dodatek zawiera informacje na temat kontaktowania się z Microsemi SoC Products Group i korzystania z tych usług pomocy technicznej.
Obsługa klienta
Skontaktuj się z Działem Obsługi Klienta, aby uzyskać pomoc nietechniczną dotyczącą produktu, taką jak wycena produktu, aktualizacje produktu, informacje o aktualizacjach, status zamówienia i autoryzacja. Z Ameryki Północnej zadzwoń pod numer 800.262.1060 Z reszty świata zadzwoń pod numer 650.318.4460 Faks, z dowolnego miejsca na świecie pod numer 408.643.6913
Centrum wsparcia technicznego klienta
Grupa produktów Microsemi SoC zatrudnia w swoim Centrum pomocy technicznej klientów wysoko wykwalifikowanych inżynierów, którzy mogą pomóc odpowiedzieć na pytania dotyczące sprzętu, oprogramowania i projektów dotyczące produktów Microsemi SoC. Centrum pomocy technicznej klienta poświęca dużo czasu na tworzenie notatek aplikacyjnych, odpowiedzi na typowe pytania dotyczące cyklu projektowania, dokumentację znanych problemów i różne często zadawane pytania. Dlatego zanim się z nami skontaktujesz, odwiedź nasze zasoby online. Jest bardzo prawdopodobne, że odpowiedzieliśmy już na Twoje pytania.
Wsparcie techniczne
Aby uzyskać pomoc dotyczącą produktów Microsemi SoC, odwiedź stronę
http://www.microsemi.com/products/fpga-soc/design-support/fpga-soc-support.
Webstrona
Możesz przeglądać różne informacje techniczne i nietechniczne na stronie głównej Microsemi SoC Products Group, pod adresem http://www.microsemi.com/products/fpga-soc/fpga-and-soc.
Kontakt z działem pomocy technicznej klienta Centrum
Wysoko wykwalifikowani inżynierowie pracują w Centrum Wsparcia Technicznego. Z Centrum Wsparcia Technicznego można skontaktować się za pośrednictwem poczty elektronicznej lub za pośrednictwem Microsemi SoC Products Group webstrona.
E-mail
Możesz przesyłać swoje pytania techniczne na nasz adres e-mail i otrzymywać odpowiedzi e-mailem, faksem lub telefonicznie. Ponadto, jeśli masz problemy z projektem, możesz wysłać swój projekt e-mailem fileaby otrzymać pomoc. Stale monitorujemy konto e-mail przez cały dzień. Wysyłając do nas swoją prośbę, pamiętaj o podaniu swojego pełnego imienia i nazwiska, nazwy firmy oraz danych kontaktowych, aby umożliwić sprawną realizację Twojej prośby. Adres e-mail pomocy technicznej to soc_tech@microsemi.com.
Moje sprawy
Klienci Microsemi SoC Products Group mogą zgłaszać i śledzić sprawy techniczne online, przechodząc do sekcji Moje sprawy.
Poza USA
Klienci potrzebujący pomocy poza strefami czasowymi w USA mogą skontaktować się z pomocą techniczną za pośrednictwem poczty elektronicznej (soc_tech@microsemi.com) lub skontaktuj się z lokalnym biurem sprzedaży. Odwiedź O nas, aby zapoznać się z listami biur sprzedaży i kontaktami korporacyjnymi.
Wsparcie techniczne ITAR
Aby uzyskać pomoc techniczną dotyczącą układów FPGA RH i RT, które są regulowane przez przepisy dotyczące międzynarodowego handlu bronią (ITAR), skontaktuj się z nami za pośrednictwem soc_tech@microsemi.com. Ewentualnie w Moich sprawach wybierz Tak z listy rozwijanej ITAR. Pełną listę układów Microsemi FPGA podlegających przepisom ITAR można znaleźć w ITAR web page.Microsemi Corporation (Nasdaq: MSCC) oferuje kompleksową ofertę rozwiązań półprzewodnikowych i systemowych dla rynków komunikacyjnych, obronnych i bezpieczeństwa, lotniczego i kosmicznego oraz przemysłowego. Produkty obejmują wysokowydajne, odporne na promieniowanie analogowe układy scalone o mieszanym sygnale, 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; korporacyjne rozwiązania pamięci masowej i komunikacyjne, technologie bezpieczeństwa i skalowalna ochrona przed tampprodukty; rozwiązania Ethernetowe; Układy scalone Powerover-Ethernet i urządzenia midspan; jak również niestandardowe możliwości projektowania i usługi. Siedziba Microsemi znajduje się w Aliso Viejo w Kalifornii i zatrudnia około 4,800 pracowników na całym świecie. Dowiedz się więcej na www.microsemi.com.
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żne określenie przydatności wszelkich produktów oraz ich przetestowanie i weryfikacja. 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ą firmy 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.
Siedziba firmy Microsemi
One Enterprise, Aliso Viejo, CA 92656 USA
- W Stany Zjednoczone: +1 800-713-4113
- Poza Stany Zjednoczone: +1 949-380-6100
- Obroty: +1 949-380-6136
- Faks: +1 949-215-4996
- E-mail: sales.support@microsemi.com
2016 Firma Microsemi. Wszelkie prawa zastrzeżone. Microsemi i logo Microsemi są znakami towarowymi firmy Microsemi Corporation. Wszystkie pozostałe znaki towarowe i znaki usługowe są własnością odpowiednich właścicieli.
Dokumenty / Zasoby
![]() | Microsemi DG0669 SmartFusion2 Code Shadowing z SPI Flash do pamięci LPDDR [plik PDF] Instrukcja użytkownika DG0669 SmartFusion2 Code Shadowing z SPI Flash do pamięci LPDDR, DG0669, SmartFusion2 Code Shadowing z SPI Flash do pamięci LPDDR, SPI Flash do pamięci LPDDR |