Skocz do zawartości

STM32F030 Kłopot z programowaniem po flashowaniu


atc

Pomocna odpowiedź

Witam wszystkich

Długo się męczyłem aby skonfigurować ST-Linka pod keila ale w końcu się udało. Skompilowałem niby banalny program i huraaa wgrał się do procka (procesor na mojej płyteczce bez żadnych elementów zewnętrznych,tylko wyprowadzone piny). Poszło to w trybie debugowania i zaraz po wgraniu dostałem komunikat o braku komunikacji z procesorem. Teraz nawet z programu STM32 ST-LINK Utility nie mogę się z nim połaczyć. Wrzuciłem więc drugiego procka i próbowałem tym samym wsadem zaprogramować z softu ST-LINK utility. Efekt ten sam. Pytanie więc co się stało, że straciłem komunikację? gdzieś w sofcie musi być jakiś knyf. Pomóżcie proszę uruchomić ponownie te procesory. Program wygląda tak:

#include "stm32f0xx.h"
#include "stm32f0xx_rcc.h"
#define BSRR_VAL        0x0300
GPIO_InitTypeDef        GPIO_InitStructure;

int main(void)
{
 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
 GPIO_Init(GPIOA, &GPIO_InitStructure);

 while (1)
 {
   /* Set PC8 and PC9 */
   GPIOA->BSRR = BSRR_VAL;
   /* Reset PC8 and PC9 */
   GPIOA->BRR = BSRR_VAL;

   GPIOA->BSRR = BSRR_VAL;
   GPIOA->BRR = BSRR_VAL;
 }
}
Link do komentarza
Share on other sites

Próbowałeś programować z resetem zwartym do masy ? To znaczy masz reset zwarty do masy klikasz write, i od razu puszczasz reset. Ogólnie nie jest dobrym pomysłem robienie takich płytek bez, chociażby, kondensatrów na zasilaniu ( może źle zrozumiałem "bez zewnętrznych elementów" ).

Link do komentarza
Share on other sites

Czy reset masz na myśli pin 4 układu (NRST, u mnie ten układ to STM32030F4p6 czyli 20 nóżkowy)

Próbowałem go dawać do masy ale na stałe,postaram się jeszcze inaczej to zrobić, jak opisujesz

[ Dodano: 08-08-2015, 22:28 ]

Sprawdziłem przy przytrzymaniu resetu a później jego zdjęciu i faktycznie st-link mi odczytał pamięć. Skasowałem ją od razu. Dodałem w Programie SystemInit() ale nic nie pomogło,muszę kombinować dalej

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

Słuchajcie dałem ciała, te dziwne zachowania powodował brak napięcia na VDDA, założyłem, że skoro nie używam wejść analogowych to napięcie na tym pinie jest zbyteczne a tu się okazuje, że układ resetu monitoruje te wejście i przez to non stop się procesor resetował, stąd sygnał cyfrowy o tej częstotliwości na złączu NRST.

Musze teraz znaleźć informację czy da się wyłączyć układy monitorujące napięcie na VDDA, aby oszczędzić nieco energii

Link do komentarza
Share on other sites

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!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.