-
1. Data: 2021-07-16 15:33:19
Temat: Zaprogramowanie W25Q128FV do współpracy z XC6SLX9
Od: Atlantis <m...@w...pl>
Składam właśnie projekt płytki na FPGA XC6SLX9, zdolnej uruchamiać
kilkanaście konfiguracji odtwarzających różne komputery i konsole retro.
Dokumentacja dostępna tutaj:
https://github.com/ManuFerHi/ZXUNO_VGA_2M
Konfiguracje są przechowywane w układzie flash W25Q128. Stwierdziłem, że
prościej będzie mi wgrać wsad do tego układu przed wlutowaniem, za
pomocą TL866 i klipsa pomiarowego, niż bawić się z programatorem
JTAG-iem do Xilinxa, już po jego wlutowaniu.
O ile sam układ jest widziany przez programator, to jedna rzecz
pozostaje dla mnie Niejasna. Widzę, że oprogramowanie programatora
pozwala nie tylko na zaprogramowanie samej pamięci, ale też daje dostęp
do jakiś bitów konfiguracyjnych (SRPO, SEC, TB, BP2, BP1, BP0, CMP, LB3,
LB2, LB1, QE, SRP1). Bity te są domyślnie ustawione na zero.
Podczas ładowni plików z wsadem mam też możliwość wyboru opcji "To
region", która może przyjąć jedną z wartości - "Code memory" oraz
"CONFIG". Jeśli wybiorę tą drugą, pierwsze bajty pliku trafiają
najwyraźniej do tych bitów konfiguracyjnych.
Co więcej - wygląda na to, że raz ustawionych bitów konfiguracyjnych nie
mogę już skasować, więc najwyraźniej są one pamięcią OTP.
Ktoś może mi wyjaśnić w jaki sposób ustawić te bity podczas
programowanie pamięci tym wsadem?
https://github.com/ManuFerHi/ZXUNO_VGA_2M/blob/maste
r/Flash/FLASH.ZX1
Zostawić wartości domyślne? Ustawić jakąś konkretną konfigurację? A może
podczas ładowania pliku wybrać opcję "To region -> CONFIG"?
-
2. Data: 2021-07-19 11:24:05
Temat: Re: Zaprogramowanie W25Q128FV do współpracy z XC6SLX9
Od: Adam Górski <gorskiamalpawpkropkapl@xx>
W dniu 16.07.2021 o 15:33, Atlantis pisze:
> Składam właśnie projekt płytki na FPGA XC6SLX9, zdolnej uruchamiać
> kilkanaście konfiguracji odtwarzających różne komputery i konsole retro.
> Dokumentacja dostępna tutaj:
>
> https://github.com/ManuFerHi/ZXUNO_VGA_2M
>
> Konfiguracje są przechowywane w układzie flash W25Q128. Stwierdziłem, że
> prościej będzie mi wgrać wsad do tego układu przed wlutowaniem, za
> pomocą TL866 i klipsa pomiarowego, niż bawić się z programatorem
> JTAG-iem do Xilinxa, już po jego wlutowaniu.
>
> O ile sam układ jest widziany przez programator, to jedna rzecz
> pozostaje dla mnie Niejasna. Widzę, że oprogramowanie programatora
> pozwala nie tylko na zaprogramowanie samej pamięci, ale też daje dostęp
> do jakiś bitów konfiguracyjnych (SRPO, SEC, TB, BP2, BP1, BP0, CMP, LB3,
> LB2, LB1, QE, SRP1). Bity te są domyślnie ustawione na zero.
> Podczas ładowni plików z wsadem mam też możliwość wyboru opcji "To
> region", która może przyjąć jedną z wartości - "Code memory" oraz
> "CONFIG". Jeśli wybiorę tą drugą, pierwsze bajty pliku trafiają
> najwyraźniej do tych bitów konfiguracyjnych.
>
> Co więcej - wygląda na to, że raz ustawionych bitów konfiguracyjnych nie
> mogę już skasować, więc najwyraźniej są one pamięcią OTP.
>
> Ktoś może mi wyjaśnić w jaki sposób ustawić te bity podczas
> programowanie pamięci tym wsadem?
> https://github.com/ManuFerHi/ZXUNO_VGA_2M/blob/maste
r/Flash/FLASH.ZX1
>
> Zostawić wartości domyślne? Ustawić jakąś konkretną konfigurację? A może
> podczas ładowania pliku wybrać opcję "To region -> CONFIG"?
Wszystko jest w datasheecie od W25Q128.
W większości są to OTP bity do zabezpieczenia przed odczytem ( nie
czytałem jednak całego pdf-a ).
Ochrona przed kopiowaniem w dużym skrócie.
Jeżeli to amatorski projekt to zostaw jak jest domyślnie.
Pozdrawiam
Adam Górski