apaczenko1993 Napisano Marzec 29, 2023 Udostępnij Napisano Marzec 29, 2023 Cześć Zamierzam sobie zamówić płytkę opartą na STM-ie (model w tytule) i zastanawiam się jak podłączyć 2 piny, dokładniej NRST oraz BOOT1. Płytkę zamierzam programować poprzez ST-Linka. W schemacie Blackpill z tego co zauważyłem pin NRST jest podłączony przez rezystor do zasilania a pin BOOT1 przez rezystor o wartości 10k do GND. Czy to wystarczy by mikrokontroler zaczął działać poprawnie? Czy mój schemat odnośnie podłączenia STM jest poprawny by pracował i dało się go programować za pomocą ST-LINKa? Schemat w załączniku Schematic_Falcon v3 Licznik_2023-03-29.pdf Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Marzec 29, 2023 Udostępnij Marzec 29, 2023 NRST przez rezystor 10K do 3.3V, alternatywnie możesz dodać przycisk NO zwierający NRST do masy i resetujący MCU, ale rezystor podciągający musi być 😉 BOOT0/BOOT1 zależnie od metody boot'owania MCU, ale polecam dać tam zworkę z 3 pinami (środkowy przez 10K do BOOTN, pozostałe piny jeden do 3V3, drugi do GND). Wtedy możesz sobie łatwo przełączać tryb bootowania 😉 Tak są zrobione moduły typu BlackPill / BluePill. 2 Cytuj Link do komentarza Share on other sites More sharing options...
apaczenko1993 Marzec 29, 2023 Autor tematu Udostępnij Marzec 29, 2023 (edytowany) Już rozumiem, czyli z tego co wyczytałem to pinami BOOT0 oraz BOOT1(PB2) decydujemy czy chcemy uruchomić bootloader przez który będziemy mogli wgrać nowy program przez port szeregowy czy uruchomić program z pamięci flash. Czyli na moje potrzeby by wgrać program przez ST-Linka wystarczy jak BOOT1 i BOOT0 podłączę do masy przez rezystory 10k 🙂, aczkolwiek myślę warto dać dip switcha na BOOT0 by móc decydować a BOOT1 mam podłączony do GND. Jak na poniższym schemacie. Czyli rozumiem że jak na BOOT1 switchem wymuszę logiczną 1 to będę mógł wgrać program poprzez port szeregowy, racja? 🙂 Edit: już sprawdziłem wgrywanie przez port szeregowy też działa 🙂 Opcja BOOT1.pdf Edytowano Marzec 29, 2023 przez apaczenko1993 Sprawdzenie założenia wgrywania przez UART Cytuj Link do komentarza Share on other sites More sharing options...
H1M4W4R1 Marzec 29, 2023 Udostępnij Marzec 29, 2023 22 minuty temu, apaczenko1993 napisał: Czyli rozumiem że jak na BOOT1 switchem wymuszę logiczną 1 to będę mógł wgrać program poprzez port szeregowy, racja? 🙂 To akurat zależy od konkretnego mikrokontrolera, STM ma gdzieś notę aplikacyjną na ten temat. Osobiście dałbym zworki albo switche, po kilkunastu zaprojektowanych PCB nauczyłem się dmuchać na zimne i jak jest miejsce to daję nawet dodatkowe linie wyjścia czy puste miejsca na kondensatory 😄 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
apaczenko1993 Marzec 29, 2023 Autor tematu Udostępnij Marzec 29, 2023 No z tym miejscem to właśnie tak średnio jest ale przełącznik jeszcze wcisnąłem 🙂 Dziękuje za pomoc poradę Cytuj Link do komentarza Share on other sites More sharing options...
virtualny Kwiecień 1, 2023 Udostępnij Kwiecień 1, 2023 (edytowany) Dobrze masz wystawione złącze pod USB_TTL i dobrze masz wystawione złącze pod ST-LINK'a. Co do NRST widzę że często jest on nawet w stanie pływającym (niepodłączonym do żadnego bieguna i do GND przez reset switch'a. Jeżeli podciągasz go do VCC, to przez rezystor 10, nawet 47 kilo, żeby nie było upływów i szarpnięć prądu. Boot0 dajesz przez rezystor do masy i przez tactile switch'a do VCC - czyli nie jesteśmy przy AVR'ach i max to może być 3V3. To samo z VCC dla NRST. Zobacz, że jeszcze PB2 trzeba dać przez 10-47K do masy Sztuczka wygląda tak, że jeżeli masz podłączony USB_TTL do PA9 i PA10, to trzymasz wciśnięty switch od BOOT0 i wciskasz oraz zwalniasz reset (switch od NRST), i w końcu zwalniasz BOOT0, a kontroler przechodzi w tryb bootowania przez UART. Wówczas do flaszowania nie używasz programu do ST-LINK'a, tylko STMFlashLoader Kończąc - jeżeli Twój devboard ma być shieldem (takim daughter board) dla Black Pill'a, którego zamierzasz kupić i na niej osadzić, wówczas nie przejmujesz się ustawieniami BOOT0 (a nawet reset także!), ponieważ jest on (są one) zamontowany(e) w samym Black Pill'u i używając ich możesz wprowadzić procka w tryb bootowania via UART: Z tego co widzę, to po pierwsze Black Pil ma również już wyprowadzone złącze dla ST-LINK'a, natomiast PA13 i PA14 nie są wyprowadzone na osobnych złączach, więc gdybyś chciał na Twoim shieldzie udostępnić złącze dla ST-LINK'a, to musiał byś je doprowadzić najpierw na devboarda kablami dupount jak na przykład w shieldzie dla Blue Pill'a doprowadzono sygnał BOOT0, który w Black Pillu, także na zewnątrz nie jest wcale wyprowadzony Poniżej Blue Pill shield - doprowadzenie na PCB BOOT0 kabelkiem: Przykładowy shield dla Black Pill'a STM32F411CEU6 Edytowano Kwiecień 1, 2023 przez virtualny 1 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!