Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 18 cze 2018, o 15:54


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 
Autor Wiadomość
PostNapisane: 17 wrz 2017, o 20:17 
Offline
Użytkownik

Dołączył(a): 12 kwi 2012
Posty: 48
Pomógł: 0

Witam, mam problem z uruchomieniem układu sterownika STM32F103C8T6 - Mini (popularna płytka za kilka $ np. z http://www.vcc-gnd.com). Płytka daje się ładnie programować programem ST-Link Utility przy pomocy programatora ST-Link V2 (4 linie: Vcc, GND, SWDIO i SWCLK). Gdy uruchamiam program w sterowniku zasilanym z podłączonego programatora (wszystkie 4 linie podłączone) to uruchamia się on bez problemów od razu.
Gdy zasilę go z zasilania zewnętrznego (programator odłączony, linie sterujące układu DIO i DCLK odłączone - w powietrzu, zasilanie pewne - dobrze odfiltrowane i sprawdzone) to nie chce się uruchomić. Co prawda uruchomi się czasami ale po dosyć długim czasie i raczej losowo. Gdy już się uruchomi to reaguje również na reset sprzętowy (przycisk) i startuje ładnie od nowa.
Taka sytuacja występuje w dwóch fabrycznie nowych układach. Gdy sterownik się uruchomi to już działa tak jak zamierzałem - prawidłowo. Dodam, że wsad wygenerowany w środowisku SW4STM32 (przy wsparciu CubeMX) z włączonym interfejsem programowania/debagowania SWD.
Gdzie popełniam błąd? Czy może być tak że układ czeka na coś na interfejsie SWD? I to go blokuje? Próbowałem wstępnie spolaryzować obie linie SWD do 3,3V i GND ale to nic nie dawało.
Jeśli któryś z kolegów ma jakieś doświadczenia z w/w układem to prosiłbym o wsparcie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 wrz 2017, o 20:44 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 1455
Pomógł: 70

A probowałeś wygenerować wsad w release zamiast w debug?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 10:31 
Offline
Użytkownik

Dołączył(a): 12 kwi 2012
Posty: 48
Pomógł: 0

Spróbowałem konfiguracji "release". Niestety bez efektu. Plik generowany jest dokładnie taki sam. Wgranie go do procesora nic nie zmienia.
Jedyne co mi się teraz nasuwa to wyłączyć w konfiguracji procesora interfejs SWD. Ale może (przez przypadek) to być operacja jednokrotna. Czy nie zablokuję wtedy procesora bo wszak właśnie po SWD go programuję?
Ma ktoś jakiś pomysł?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 10:56 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8655
Pomógł: 334

pokaż co to za płytka i pokaż kod ...
wygląda na na to że cos jest nie tak z konfiguracją pewnie samej płytki i lub jej zasilaniem
czasem pomaga wyczyszczenie procka do zera i ponowne zaprogramowanie
ale musiałbym zernac na sama płytkę połaczenia itd ...

_________________
╔═════════════════╗
║.: https://forum.sunduino.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 11:13 
Offline
Użytkownik

Dołączył(a): 12 kwi 2012
Posty: 48
Pomógł: 0

płytka i programator jak na fotkach. Zworki jak na zdjęciu.

ObrazekObrazek

Wydaje mi się że pokazanie kodu raczej nic nie da bo jak już to napisałem przy połączeniu z programatora wszystko "chodzi". Również czasami uruchamia się w układzie na zasilaniu zewnętrznym i odłączonym programatorze. Tak więc problem jest raczej z samą konfiguracją procka.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 11:28 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8655
Pomógł: 334

powiedz mi dlaczego uzywasz SWD do programowania układu w programatorze ??

SWD do układu docelowego masz na złaczu IDC i tam sie podepnij
czyli .... mając LDO na Płytce uzyj ze złacza IDC pinu
9 lub 10 gdzie masz 5V i zasilasz płytke na styku 5V
3 i 4 GND
SWDIO pin 2
SWCLK pin 6
moze byc konieczne dołaczenie sygnału reset



Boot0 do masy ma byc.

_________________
╔═════════════════╗
║.: https://forum.sunduino.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 15:08 
Offline
Użytkownik

Dołączył(a): 12 kwi 2012
Posty: 48
Pomógł: 0

nie używam wewnętrznego złącza w programatorze tylko klasycznie zewnętrzne na IDC (4 przewody). Po prostu miałem takie zdjęcie z sieci mojego programatora (takiego otwartego) i nic więcej.

A tak właściwie jaki ma związek mój programator do tego co napisałem w pierwszym wpisie? Chodzi mi procedurę bootowania procesora i tego co może go "wstrzymywać" w tym procesie.

Powtarzam, 2 nowe układy zachowują się tak samo. Moje 25letnie doświadczenie w pracy z elektroniką i procesorami (niestety tylko 8-bitowymi) pozwala mi stwierdzić na pewno (choć na pewno to umrzemy) że układ docelowy jest sprawny. Nie mam niestety zbyt dużego doświadczenia z STM-ami. I stąd moje pytanie.
Więc co może być powodem mojego kłopotu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 15:49 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8655
Pomógł: 334

Cytuj:
nie używam wewnętrznego złącza w programatorze tylko klasycznie zewnętrzne na IDC (4 przewody).


jakie wiec dajesz foty takie dostajesz odpowiedzi ... de'facto dalej nie wiemy nic w takim razie o twoim układzie
wiec i trudno stwierdzić co ty tam, robisz i w jaki sposób .... na czyichś zdjęciach

Moja długoletnia praca z STMami i innymi prockami pozwala mi stwierdzić, że coś źle robisz twierdząc że masz dobrze
nigdy żaden stm się mi tak nie zachowywał przy prawidłowym podłączeniu ... może to to że mam porządny programator
nie jakiegoś mini klona który może ale nie musi mieć jakąś wadę

procedura botowania jest prosta ... jak napisałem dla normalnej pracy -- zdejmij jeszcze zworki z płytki upewnij się ze wgrywasz program do
flash a nie chwilowo ... zamiast z IDE zaprogramuj hexem/binem czy co tam generujesz z poziomu stlink UTILITY
zrób też wcześniej clean pamięci procka ...

Pokaż swoje zdjęcia i swoje połączenia oraz logi z programowania czy to w IDE czy STlink Utility

STM32 to nie AVR i poniekąd nie wyłacza się ani JTAGA , ani SWD zawsze po resecie są aktywne .

_________________
╔═════════════════╗
║.: https://forum.sunduino.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 17:08 
Offline
Użytkownik

Dołączył(a): 12 kwi 2012
Posty: 48
Pomógł: 0

Nie wypowiadam się co do modułów i programatora. Wszak to wszystko chińszczyzna :lol:
Dokonałem kilku sprawdzeń i testów.
1. sprawdziłem jeszcze raz zasilanie na płytce - jest czyste, odfiltrowane.
2. płytka wygląda tak:
Obrazek
3. zrobiłem próbę z wyłączeniem interfejsu debagowania (SWD - w CubeMx) bez zmian, z programatorem uruchamia się od razu, z odłączonym programatorem losowo ale się uruchamia (nawet po kilkunastu sekundach). Oczywiście po wyłączeniu SWD (w procesorze) programator przy ponownym programowaniu wymagał ręcznego resetu układu.
4. zrobiłem próbę z przełączeniem źródła taktowania z kwarcu zewn. 8MHz / PLL pracujący na 72MHz na oscylator wewnętrzny 8MHz / PLL na 36MHz. Bez zmian, jak w pkt 3.
Logi z programatora (nie wiem jak wybrać wstawianie czystego tekstu):
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


i mój kod main.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Oczywiście sprawdziłem czy program nie jest ładowany do RAM-u. Układ można uruchomić w obu omawianych tu konfiguracjach nawet kilka dni po odłączeniu od zasilania.

Powoli wyczerpują mi się pomysły :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 17:36 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8655
Pomógł: 334

nie używasz czasem pinów PA13 i PA14 w układzie ??
jak się układ zachowuje po zdjęciu zworek ??

_________________
╔═════════════════╗
║.: https://forum.sunduino.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 18:55 
Offline
Użytkownik

Dołączył(a): 12 kwi 2012
Posty: 48
Pomógł: 0

Nie, nie używam pinów PA13 i PA14 co widać na zdjęciu. Sterownik ma je wyprowadzone tylko na złącze programatora (z lewej strony płytki).
O które zworki pytasz? Jeśli chodzi o krosy do przycisków, LEDów i wyświetlacza LCD to układ ewoluował od "gołego" czyli bez krosów i zachowywał się od początku (od zwykłego migania diodą na PC13 która jest na module) w sposób jak to opisałem w pierwszym wpisie.
Jeśli chodzi ci o zwieracze od BOT0, BOT1 to trochę bez sensu, bo wtedy linie te znajdą się w stanie nieokreślonym (wiszące) więc nie wiadomo w jakim trybie układ się uruchomi (ale sprawdzę).



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 19:08 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8655
Pomógł: 334

analizuję schemat tej płytki i nie widzę żadnych jakiś problemów
nasuwa się kilka spostrzeżeń ,

rezystory na BOT1 i BOT2 100K trochę duże zawsze dawałem 10K
ale tak ogólnie jest wszystko ok , może wiec masz wadliwe procki , lub podróbki ??

nie miałem do czynienia z taką płytką z jakiejś dziwnej firmy ...

owszem uzywałem chińkich , ale z Seed lub wawe Share i nigdy nie było problemu ..

_________________
╔═════════════════╗
║.: https://forum.sunduino.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 19:30 
Offline
Użytkownik

Dołączył(a): 12 kwi 2012
Posty: 48
Pomógł: 0

jak złapię 10k serii 603 (bo tam są takie małe) to je zmienię. Najważniejszy jest BOOT0 bo on definiuje tryb bootowania z flasha.

Też zaczynam mieć takie myśli co do tego chińczyka. Całkiem nieźle podrobiony. Jeszcze "prześpię" temat i może coś jeszcze wymyślę.

Mam oprócz tych dwóch modułów płytkę STM-a Nucleo64 (też z którymś STM32F103) i tam nie miałem takich problemów. Zastanawiam się nad nabyciem http://propix.com.pl/pl/p/Core103V-STM32F103VET-Cortex-M3/1379 może ten będzie pewny? Chyba że znasz coś pewnego, gołego ale z oboma kwarcami (8MHz i 32,768kHz). Na razie uparłem się na serię F103 ;)

Jeśli będziesz miał kolego jakieś nowe pomysły to będę wdzięczny za ich podrzucenie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 19:52 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8655
Pomógł: 334

seria core jest od waveshare niema z nimi kłopotów są dobrze wykonane
https://www.elty.pl/pl/p/STM32F103TB-AR ... Board/1630 te też się prawidłowo zachowują

używam w sumie J-Linka , i zawsze wszystko było ok

może masz możliwość sprawdzenia z innym progiem jeszcze , sam nie wiem co myśleć musiałbym przetestować taki zestaw

_________________
╔═════════════════╗
║.: https://forum.sunduino.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 20:02 
Offline
Użytkownik

Dołączył(a): 12 kwi 2012
Posty: 48
Pomógł: 0

może spróbuję programatora który mam na Nucleo64. Tam jest ST-Link V2.1 ale można go odłączyć i podpiąć do mojego układu.
Co do linka to fajne ale brak kwarcu RTC no i niedostępne. No ale najpierw jeszcze trochę powalczę. Elektronika potrafi zaskakiwać i zawsze może być coś czego nie przewidziałem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 20:03 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8655
Pomógł: 334

może być ... może ci brakować np masy :) i dlatego działa z programatorem
a tak ma bunty ...

_________________
╔═════════════════╗
║.: https://forum.sunduino.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 20:06 
Offline
Użytkownik

Dołączył(a): 12 kwi 2012
Posty: 48
Pomógł: 0

jutro napiszę co nowego wymyśliłem i sprawdziłem. A może odkryję "amerykę"?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2017, o 20:07 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8655
Pomógł: 334

Obrazek

te czerwone miałem bardzo dobrze działały

_________________
╔═════════════════╗
║.: https://forum.sunduino.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 lis 2017, o 10:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 lut 2014
Posty: 40
Lokalizacja: Kraków
Pomógł: 0

Ja zawsze na swoich płytkach staram się podciągać piny SWD przez rezystory 10k do 3.3 V może spróbuj tak zrobić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 mar 2018, o 22:15 
Offline
Nowy

Dołączył(a): 01 sie 2016
Posty: 1
Pomógł: 0

Jeżeli jeszcze ktoś się z tym męczy to zamieszczam rozwiązanie problemu.

CubeMX przy wybieraniu procesora a nie płytki deweloperskiej standardowo blokuje linie SWD, w związku z czym raz zaprogramowany układ odmawia dalszego programowania.
Aby to rozwiązać przechodzimy do zakładki SYS->Debug i zamienieniamy "disable" na "serial wire".

Możliwe, że odgrzewam starego kotleta, ale sam się naszukałem odpowiedzi na ten problem i to też nie znalazłem jej podanej wprost.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO