| Author |
Message
|
qwert2000 Poziom 5

Joined: 04 Oct 2010 Posts: 12
|
#1
02 Feb 2012 00:51 RM0008 Reference manual |
|
|
|
Witam. Na temat programowania STM32 prawie nie ma literatury. Te książki które są na rynku są mało wartościowe. Dlaczego nikt nie przetłumaczy RM0008
Reference manual? To byłoby idealne. Na temat AVR jest kilka pozycji z dokładnym opisem procesora rejestry itd. Na STM32 nie. Autorzy skupiają się tylko na bibliotece do STM i programowaniu w C.
|
|
| Back to top |
|
 |
McMonster Poziom 20

Joined: 22 Mar 2009 Posts: 861 Location: Wrocław
|
#2
02 Feb 2012 05:01 Re: RM0008 Reference manual |
|
|
|
Bo to ekstremalne zadanie translatorskie. Ponad tysiąc stron bardzo technicznym językiem, praca na wiele tygodni, o pomyłkę łatwo, a zysk niewielki, żeby nie powiedzieć, żaden. Lingua franca elektroniki to angielski i wszyscy się z tym pogodzili.
Najprościej kupić sobie polską książkę, albo po prostu zacisnąć zęby i nauczyć się języka, bez którego jak bez nogi w XXI wieku.
|
|
| Back to top |
|
 |
mrh Poziom 14

Joined: 15 Jan 2010 Posts: 168
|
#3
02 Feb 2012 12:36 Re: RM0008 Reference manual |
|
|
|
Programista powinien znać język angielski, ja tez jak czegoś nie rozumiem to korzystam z tłumacza internetowego.
|
|
| Back to top |
|
 |
kozak_sc Poziom 19

Joined: 29 Dec 2002 Posts: 635 Location: Sosnowiec
|
#4
02 Feb 2012 13:48 Re: RM0008 Reference manual |
|
|
|
Dokładnie tak jak piszą koledzy, ponadto tłumaczenie na polski powoduje wprowadzenie w błąd gdyż ciężko niektóre pojęcia przełożyć na inny język. Także tylko angielski.
|
|
| Back to top |
|
 |
albertb Poziom 22

Joined: 04 May 2004 Posts: 2075 Location: Nowy Targ
|
#5
02 Feb 2012 14:14 Re: RM0008 Reference manual |
|
|
|
| qwert2000 wrote: |
Witam. Na temat programowania STM32 prawie nie ma literatury. Te książki które są na rynku są mało wartościowe. Dlaczego nikt nie przetłumaczy RM0008
Reference manual? To byłoby idealne. |
A dlaczego Ty tego nie zrobisz?
Albert
|
|
| Back to top |
|
 |
qwert2000 Poziom 5

Joined: 04 Oct 2010 Posts: 12
|
#6
02 Feb 2012 17:11 Re: RM0008 Reference manual |
|
|
|
Może i ekstremalne zadanie. Dla AVR dało się zrobić dla STM nie?
Mam książkę do 51 ideał, wszystko rozpisane dla chyba wszystkich ówczesnych procesorów. Jak porównam "Mikrokontrolery AVR ATMega w praktyce" i "Mikrokontrolery STM32 w praktyce" to.... nie ma co porównywać.Dlaczego ja nie zrobię? Za cienki jestem. Tak szczerze powiedziawszy cały ten temat powstał że być może jaiś mądry mąż napisze coś sensownego. Myślę że taka książka miałaby o wiele większy zbyt niż to co powstało do tej pory.
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7300 Location: Zawiercie
|
#7
02 Feb 2012 18:13 Re: RM0008 Reference manual |
|
|
|
| qwert2000 wrote: |
| Może i ekstremalne zadanie. Dla AVR dało się zrobić dla STM nie? |
To teraz odpowiedz sobie na następujące pytania:
1. Jak długi jest przetłumaczony datasheet AtMegi w porównaniu do RM0008?
2. Jak często zawartość datasheeta dla tej AtMegi się zmienia w porównaniu do RM0008?
3. Jak długo STM32 jest dostępny w sprzedaży w porównaniu do tej AtMegi?
Teraz pomnóż te 3 liczby przez siebie i wyjdzie Ci prawdopodobieństwo powstania przetłumaczonego na PL RM0008 [;
4\/3!!
|
|
| Back to top |
|
 |
Google

|
#
02 Feb 2012 18:13 |
|
|
|
|
|
| Back to top |
|
 |
qwert2000 Poziom 5

Joined: 04 Oct 2010 Posts: 12
|
#8
02 Feb 2012 18:25 Re: RM0008 Reference manual |
|
|
|
Niewątpliwie masz rację. Tym niemniej marzy mi się aby powstała jakaś sensowna książka do STM32.
|
|
| Back to top |
|
 |
Freddie Chopin Poziom 25

Joined: 12 Dec 2005 Posts: 7300 Location: Zawiercie
|
#9
02 Feb 2012 18:32 Re: RM0008 Reference manual |
|
|
|
Przypuszczam że jest też problem licencyjny - nie można sobie raczej ot-tak-po-prostu wziąć wszystkich obrazków z tego datasheeta i wykorzystać w innym pliku bez zgody od ST, a owe ST wcale takiej zgody nie musi udzielić...
4\/3!!
|
|
| Back to top |
|
 |
qwert2000 Poziom 5

Joined: 04 Oct 2010 Posts: 12
|
#10
02 Feb 2012 19:13 Re: RM0008 Reference manual |
|
|
|
No to zgasło ostatnie światełko nadziei. Na rynku za to pojawi się kolejna książka typu "STM32. Aplikacje i ćwiczenia w języku C". To już o wiele lepszy jest kurs w EDW.
|
|
| Back to top |
|
 |
janbernat Poziom 23

Joined: 22 Oct 2008 Posts: 3918 Location: Warszawa
|
#11
02 Feb 2012 20:03 Re: RM0008 Reference manual |
|
|
|
No chyba że książkę o podobnym tytule napisał by Freddie Chopin.
Ale powinien mieć na to jakieś godziwe roczne stypendium.
Mogę publicznie zdeklarować 100zł miesięcznie.
Ale potrzeba by jeszcze kilkudziesięciu kolegów- najlepiej takich którzy skorzystali z Jego wiedzy.
No i jeszce jakiś prawnik- jak założyć fundację czy jak to zwał, jak znależć wydawnictwo i te wszystkie okropne prawnicze szczegóły.
|
|
| Back to top |
|
 |
Google

|
#
02 Feb 2012 20:03 |
|
|
|
|
|
| Back to top |
|
 |
McMonster Poziom 20

Joined: 22 Mar 2009 Posts: 861 Location: Wrocław
|
#12
02 Feb 2012 20:11 Re: RM0008 Reference manual |
|
|
|
Na taki szczytny cel sam bym się dorzucił.
Ale najprościej zacisnąć zęby i nauczyć się angielskiego na tyle, by zrozumieć RM. Tam nie ma nadzwyczaj skomplikowanego języka, są diagramy, a jak się już człowiek orientuje w terminologii, to ze słownikiem można już sporo zdziałać w krótkim czasie.
|
|
| Back to top |
|
 |
janbernat Poziom 23

Joined: 22 Oct 2008 Posts: 3918 Location: Warszawa
|
#13
02 Feb 2012 20:21 Re: RM0008 Reference manual |
|
|
|
Angielski to jedna sprawa.
I tak jest konieczny.
A mi chodzi o książkę- "Jak zacząć programować ARM i zaraz nie skończyć".
Taką papierową z dołączoną płytką.
Co to można poczytać w pociągu czy autobusie.
McMonster- nie pisz że byś ale ile i na pewno.
Żeby wyjaśnić nieporozumienia- nie twierdzę że Freddie Chopin chce taką książkę napisać.
Myślę że powinien.
Noblesse oblige.
|
|
| Back to top |
|
 |
Google

|
#
02 Feb 2012 20:21 |
|
|
|
|
|
| Back to top |
|
 |
nsvinc Poziom 22

Joined: 25 Mar 2006 Posts: 2066 Location: otfock
|
#14
02 Feb 2012 21:54 Re: RM0008 Reference manual |
|
|
|
Napisać taką książkę to bez wątpienia jest sztuka. ARM to nie AVR; ilość wiedzy i doświadczenia wymagana by stworzyć publikację o ARM jest niewspółmiernie wyższa, niż w przypadku 8bit AVR lub innych prostych procków (pic12/16/18).
Skoro głupi manual do gotowego procka jak STM32 zajmuje 1k stron, TRM rdzenia to prawie 400 stron (gdzie oba dokumenty to czysto techniczny angielski w tym bardzo dużo skrótów), to ile stron musiałaby mieć ta książka pisana po polsku stylem "do poczytania w autobusie"? 2k? 2.5k?
Ilość pracy włożonej w stworzenie książki będzie niewspółmierna do ilości potencjalnych zysków z tego przedsięwzięcia. Dodatkowo cały proces na pewno nie trwałby rok, lecz znacznie więcej.
Idąc dalej: załóżmy, że książka powstała. Czy poświęcenie autora coś zmieni? Nie, bo nadal będą pytania typu "STM32 i wyswietlacz 2x16 nie działa".
Na całej akcji zyska niewielka grupka ludzi, którzy faktycznie chcą coś porządnego zbudować w oparciu o ARMy.
Prędzej i łatwiej byłoby zorganizować kursy, szkolenia, dla małych grupek ludzi, gdzie przez parę godzin 100% uwagi zostałoby poświęcone pytaniom początkujących...
Co innego przetłumaczyć RM0008. To już prędzej, bo wystarczy w miarę biegle posługiwać się angielskim technicznym. To samo dotyczy TRM rdzeni, manuali do innych mikrokontrolerów czy not aplikacyjnych.
Lecz do tego też musiałby się znaleźć chętny; aby to zrobić byłyby raczej potrzebne wolne popołudnia. Jak ktoś pracuje po 9..12h dziennie 7 dni w tygodniu, to mało prawdopodobne, aby bez ekstra motywacji, chciało się tłumaczyć taki manual...
|
|
| Back to top |
|
 |
janbernat Poziom 23

Joined: 22 Oct 2008 Posts: 3918 Location: Warszawa
|
#15
02 Feb 2012 22:49 Re: RM0008 Reference manual |
|
|
|
Potencjalne zyski z tego przedsięwzięcia mamy MY zapewnić.
Autorowi.
Dlatego pytam- ile kto zadeklaruje wpłaty co miesiąc na coś w rodzaju stypendium dla Autora.
Jak Autor będzie miał zdeklarowaną wypłatę 7000zł na rękę co miesiąc przez rok- to może coś napisze?
Jak dłużej- też może być.
Ale- to nie manual- ale książka- odwołująca sie do manuala gdy trzeba.
No i trzeba zdeklarować- ile.
No bo wielu brało wiedzę darmo- a teraz- jak są wielcy informatycy na dobrze płatnych posadach- to może trzeba się jakoś odwdzięczyć.
Choćby dla następnego pokolenia.
|
|
| Back to top |
|
 |
nsvinc Poziom 22

Joined: 25 Mar 2006 Posts: 2066 Location: otfock
|
#16
02 Feb 2012 23:05 Re: RM0008 Reference manual |
|
|
|
Trochę przesadziłeś z tymi "wielkimi informatykami". Wiedzy w większości przypadków nie brało się za darmo z książek po polsku, tylko ucząc się angielskiego i poświęcając bardzo dużo czasu na rozumienie oryginalnych dokumentacji i niezbędne szlifowanie języka. Więc jak widzisz, nie "za darmo", tylko za własny poświęcony trud i czas.
Ja na pewno nie podejmę się pisania poważnej książki o ARMach; imho zdecydowanie zbyt słabo je znam. W większości przypadków jestem po prostu typowy user, który wykorzystuje mikrokontroler w konkretnym układzie.
Prędzej sądzę, że taką książkę napisze ktoś, kto nie utrzymuje się z tej branży, a ktoś, kto siedzi w tym czysto hobbystycznie. Bo taki ktoś będzie miał ochotę i czas na rozgrzebywanie czegoś, na co zawodowy konstruktor po prostu nie ma czasu; e.g. nie będę się szczegółowo zagłębiał w np. działanie MPU dopóki nie będę miał potrzeby go użyć...
|
|
| Back to top |
|
 |
janbernat Poziom 23

Joined: 22 Oct 2008 Posts: 3918 Location: Warszawa
|
#17
02 Feb 2012 23:51 Re: RM0008 Reference manual |
|
|
|
Okropnie to wszystko oceniasz- w dodatku masz pewnie rację.
W każdym- nawet najprostszym programie nie sięgamy po opcje nam jeszcze niepotrzebne.
P.S.
A jak to wkleić- nie dla acta?
|
|
| Back to top |
|
 |
nsvinc Poziom 22

Joined: 25 Mar 2006 Posts: 2066 Location: otfock
|
#18
03 Feb 2012 00:32 Re: RM0008 Reference manual |
|
|
|
Heh, sądzę, że po prostu reprezentuję podejście realistyczne. Budując układ za układem, "bo biznes", ciężko grzebać w ciekawostkach, niestety. Sam fakt tworzenia tych układów już wymaga praktycznie ciągłej nauki, lecz nie jest to wiedza potrzebna do napisania dobrej książki o ARM. W niej nie ma miejsca na rozkminę na temat propagacji fal ultradzwiekowych, sterowania wielofazowymi BLDC, tworzenia protokołów transmisji danych czy budowy przetwornic impulsowych.
Taką książkę powinien napisać albo (mikro)profesor, albo hobbysta zapaleniec, który poświęci rok na rozkład takiego STM32 na pojedyncze bramki :]
No bo ile się ogólnie wie na temat STM32? Inity napisać, wiedzieć jak działają podstawowe peryferia, NVIC, DMA, SPI, UART, Timery, ADC, EXTI, RTC, coś wiedzieć o drzewie zegarów i trybach oszczędzania energii. W oparciu o to buduje się 70% układów które prawidłowo pełnią założone funkcjonalności. W zależności od specyfiki danej branży, używa się CAN, USB, Eth... np. ja CANa i FSMC w STM32 znam na wylot, a o Eth nie mam zielonego pojęcia; nawet nigdy tego nie przeczytałem w manualu.
A tego typu wiedza to stanowczo za mało aby od razu pisać podręcznik...
|
|
| Back to top |
|
 |
gaskoin Poziom 22

Joined: 02 Jun 2010 Posts: 2194 Location: Bytom
|
#19
03 Feb 2012 00:47 Re: RM0008 Reference manual |
|
|
|
nsvinc - zapomniałeś uwzględnić inne dokumenty, które opisują działanie rzeczy niezwiązanych z samym układem.
Niestety Janku nsvinc ma racje. Tego jest za dużo - multum stron, w dodatku opisy są bardzo zwięzłe. Jakby to chcieć rozszerzyć o dodatkowe opisy i przykłady to książka nie miała by 2,5k tylko 5k stron. Tak na dobrą sprawę to pewnie nikt z palca nie poda co gdzie i jak skonfigurować żeby działało każde peryferium. Tak czy tak zagląda się do tego manuala, czy się korzysta z tych procesorów tydzień czy 10 lat a książki często opisują jak skonfigurować np Timer w jednym konkretnym przypadku. Masz podane: wpisz to i tamto do tego rejestru i będzie on generował PWM dla diody. Jak chce się użyć timera do czegoś innego to wtedy i tak się zagląda na forum pisząc "pomocy nie działa".
Zanim ktoś napisał by sensowną książkę o STM32, opisującą wszystkie możliwe konfiguracje czy w ogóle o Cortex-M3 to rdzeń stałby się zabytkiem :)
Z resztą jak już wspomniano - te książki nie są dla konstruktorów. Ci nie mają czasu na czekanie aż takowa powstanie i wiedzę czerpią właśnie z tych angielskojęzycznych dokumentacji. W projektach często używa się konkretnych peryferiów dość często, innych rzadko lub w cale. Niektórzy mogą tu na forum (lub gdziekolwiek indziej) uchodzić za specjalistów, ale prawda jest taka, że najzwyczajniej w świecie, Ci potrafią lepiej szukać informacji niż inni :)
|
|
| Back to top |
|
 |
qwert2000 Poziom 5

Joined: 04 Oct 2010 Posts: 12
|
#20
03 Feb 2012 02:12 Re: RM0008 Reference manual |
|
|
|
W sumie masz rację, pozostaje przegryzanie się przez pdfy. Teraz zaczynają lansować Cortex -M4. Za rok albo dwa coś innego itd.
|
|
| Back to top |
|
 |
Jado_one Poziom 15

Joined: 04 Dec 2010 Posts: 254 Location: Warszawa
|
#21
03 Feb 2012 16:27 Re: RM0008 Reference manual |
|
|
|
Zamiast pisać o konkretnych procesorach i układach, lepiej byłoby napisać ksiązkę o samych algorytmach, które można by sobie później już wykorzystać w dowolnym procesorze. Algorytm może być opisany np. w C - bo ten język jest obecnie łatwo przenaszalny miedzy procesorami albo w jakimś ogólnym meta języku.
Nie skupialibyśmy sie wówczas na samym sposobie np. transmisji między prockiem a pamiecią EEPROM, a skupili się np. na organizacji danych w tej pamięci, sposobach sortowania, przeszukiwania, itp....
Albo - jak to widziałem juz na forum - temat wyswietlaczy graficznych. Nie interfejs i sposób sterowania konkretnym scalakiem, a np. sposób generacji figur na ekranie, obracania bitmap, zarządzania kolorami czy co tam jeszcze nam potrzeba.
Albo algorytmy konwersji wyników, procedur matematycznych, itd, itp.....
Na pewno można tego uzbierać na duża ksiązkę, a dzieki oderwaniu od sprzętu, tematy te pozostawałyby na długo aktualne.
A manuale zostawić w oryginale :-)
|
|
| Back to top |
|
 |
zdziwiony Poziom 15

Joined: 01 Jun 2010 Posts: 252 Location: Wąchock
|
#22
03 Feb 2012 17:59 Re: RM0008 Reference manual |
|
|
|
Przenoszenie kodu w C między procesorami to są bajki. Sukces w opanowaniu w dowolnym języku danego procka to poznanie jego architektury.
|
|
| Back to top |
|
 |
Jado_one Poziom 15

Joined: 04 Dec 2010 Posts: 254 Location: Warszawa
|
#23
03 Feb 2012 18:57 Re: RM0008 Reference manual |
|
|
|
Nie chodzi o kod tylko algorytm czyli sposób rozwiązania danego problemu.
A znajomość danego procesora jest w kazdym przypadku pożądana.
|
|
| Back to top |
|
 |
zdziwiony Poziom 15

Joined: 01 Jun 2010 Posts: 252 Location: Wąchock
|
#24
03 Feb 2012 19:23 Re: RM0008 Reference manual |
|
|
|
Algorytm w mikroprocesorach przeważnie ściśle związany jest z zasobami procka i przenoszenie bez poważnych przeróbek jest mało realne. Na przykład program korzystający z 8 zewnętrznych przerwań na program do procesora który ma tylko 2. Zgadzam się z tym że powinno być więcej książek do ARMów, a zwłaszcza bardziej sensownych niż to co do tej pory powstało.
|
|
| Back to top |
|
 |
Jado_one Poziom 15

Joined: 04 Dec 2010 Posts: 254 Location: Warszawa
|
#25
03 Feb 2012 20:19 Re: RM0008 Reference manual |
|
|
|
Zdaje się, że "nadajemy" na róznych poziomach abstrakcji ;-) : http://pl.wikipedia.org/wiki/Algorytm
A zwłaszcza fragment: "Należy zdawać sobie sprawę z różnicy między algorytmem, będącym niezależnym od jego implementacji przepisem, a programem, który może zostać zinterpretowany i wykonany przez komputer. "
Jak bedziesz miał algorytm, to sam sobie dokonasz jego implementacji na procesor, który aktualnie znasz i w którym czujesz się najlepiej.
Tu nie chodzi o żadnego gotowca, na zasadzie "kopiuj i wklej".
To o czym piszesz, to jest implementacja danego algorytmu - na jednym procesorze może być zrealizowana z uzyciem 8 przerwań, a na innym 2, a na jeszcze innym bez zadnego - niezaleznie od tego wynik działania kazdego z programów musi być taki sam.
|
|
| Back to top |
|
 |
zdziwiony Poziom 15

Joined: 01 Jun 2010 Posts: 252 Location: Wąchock
|
#26
03 Feb 2012 20:45 Re: RM0008 Reference manual |
|
|
|
Nie każdy algorytm będzie działał na każdym procesorze. Trywialnym ograniczeniem może być ilość pamięci, czy prędkość.
|
|
| Back to top |
|
 |
Jado_one Poziom 15

Joined: 04 Dec 2010 Posts: 254 Location: Warszawa
|
#27
03 Feb 2012 21:45 Re: RM0008 Reference manual |
|
|
|
To juz nalezy do decyzji i oceny programisty - na jaki procesor dany algorytm moze zostać zaimplementowany, a na jaki nie.
Tak czy inaczej mnie bardziej interesowałaby ksiązka z algorytmami niż z gotowcami pod konkretny procesor - bo szybkośc powstawania nowych rodzin procesorów zaczyna być coraz większa i czas pisania ksiazki oraz cykl wydawniczy zajmują już więcej niż czas miedzy pojawianiem sie kolejnych rodzin procesorów.
A może taka ksiązka juz jest? ;-)
|
|
| Back to top |
|
 |
mirekk36 Poziom 25

Joined: 17 Jun 2006 Posts: 8714 Location: Szczecin
|
#28
03 Feb 2012 21:59 Re: RM0008 Reference manual |
|
|
|
| zdziwiony wrote: |
| Algorytm w mikroprocesorach przeważnie ściśle związany jest z zasobami procka i przenoszenie bez poważnych przeróbek jest mało realne. Na przykład program korzystający z 8 zewnętrznych przerwań na program do procesora który ma tylko 2. |
Też uważam, że kolega w ogóle albo nie do końca rozumie co to są algorytmy :(
A są one oderwane od platformy. To czy można dany algorytm zrealizować na jednej platformie a na innej nie to już całkiem inna sprawa panie kolego. I niestety błędem wielu początkujących jest to, że zachłystują się taką czy inną platformą - gdy nauczą się obsługiwać takie lub inne moduły albo poznają dokładnie architekturę mikrokontrolera, jednocześnie uważając że opanowali już jakiś tam język programowania. Tym czasem za chwilę tu czy ówdzie na forum zjawiają się z pytaniem np: "a jak zorganizować bufor cykliczny do komunikacji RS232/485?" .... tak to trywialne - ale to pytanie o algorytm, tylko nie każdy z nich zdaje sobie z tego sprawę. Tymczasem algorytm na to jest prosty a jego wykonanie na każdej platformie może być całkowicie różne. Na jednej będzie użyte jedno a w innej dwa przerwania. Tymczasem to właśnie język C pozwoli płynnie przejść z jednej platformy na drugą. Jedyne z czym musi sobie poradzić programista znający już zasady algorytmicznego myślenia, to właśnie ..... tylko opanować nową architekturę, ale też środowisko programistyczne jeśli zaczyna to poznawanie od nowa. Fakt w przypadku niektórych mikrokontrolerów jak wspomnianych tu STM będzie więcej do poznania niż w przypadku innych. Ale to nie ma nic wspólnego z nauką programowania jako takiego.
I dlatego na końcu i tak pozostaje konieczność posługiwania się czytaniem ze zrozumieniem w języku angielskim dokumentacji technicznych - bez tego ani rusz.
|
|
| Back to top |
|
 |
Google

|
#
03 Feb 2012 21:59 |
|
|
|
|
|
| Back to top |
|
 |
zdziwiony Poziom 15

Joined: 01 Jun 2010 Posts: 252 Location: Wąchock
|
#29
03 Feb 2012 22:04 Re: RM0008 Reference manual |
|
|
|
"Algorytmy i struktury danych"
Michał Jankowski. "Elementy grafiki komputerowej"
"Algorytmy aproksymacyjne"
I mnóstwo innych.
|
|
| Back to top |
|
 |
mirekk36 Poziom 25

Joined: 17 Jun 2006 Posts: 8714 Location: Szczecin
|
#30
03 Feb 2012 22:11 Re: RM0008 Reference manual |
|
|
|
| mirekk36 wrote: |
A są one oderwane od platformy. To czy można dany algorytm zrealizować na jednej platformie a na innej nie to już całkiem inna sprawa panie kolego.. |
Np algorytmu na jakiś rodzaj zaawansowanego renderingu z antyaliasingiem na poziomie X, nie zrealizujesz np na platformie mikrokontrolerów 4-bitowych a przynajmniej nie w takim zakresie założeń szybkości jakie dzisiaj są wymagane dla pewnych procesów. Ale co to ma wspólnego z przenoszeniem kodu - pytam jeszcze raz?
|
|
| Back to top |
|
 |