Skocz do zawartości

STM32H755 = STM32CUBEIDE nie generuje kodu


Seweryn_

Pomocna odpowiedź

Siema, jak w temacie. 

Mam stmke, odpalam sobie cubeide ustawiam sobie PB14 jako GPIO_OUTPUT, generuje kod i puszczam sobie gpio toggle co 1s i niespodzianka - nic sie nie dzieje

okazuje sie, ze cube nie wygenerowal kodu odpowiedzialnego za konfiguracje portu i pinu. 

 

Mial ktos juz taki problem? Czy to sie czesto zdarza ST? Kiedy bawilem sie mniejszym prockiem f301 to wszystko dzialalo az milo, a tutaj ciagle cos mi nie dziala

Link do komentarza
Share on other sites

Witam,

Działam na najnowszej wersji CubeIDE 1.17.0, z ciekawości zapuściłem mu stworzenie projektu dla H755 i jak widać wygenerował konfigurację GPIO PB14:

h755.thumb.jpg.381da399d0843d2c351e5f88b4afed36.jpg

Nie wspominasz na jakim sprzęcie odpalasz przykład, w Cube dla tego procka widać tylko jeden firmowy board NUCLEO144. To Nucleo ma diodę LED na PB14,

 

diode.thumb.jpg.5a718d825dfffbb59a1c864abcdd61ff.jpg

 

przypuszczam że to jest twój set... H755 to już nie taki zwykły procesor, to jest DUAL-CORE.

 

dualcore.thumb.jpg.e5d54d01e081f7a2633520795c2557b4.jpg

Oprócz dwóch rdzeni które uruchamiasz, także przypisujesz do rdzeni peryferia. Przypuszczam, że próbujesz działać na pierwszym rdzeniu CM4, a GPIO PB14 przypisałeś do CM7 (lub na odwrót). Zajrzyj do obu main.c i poszukaj MX_GPIO_Init()

Cube może mieć bugi, że jakieś peryferia błędnie obsłuży, ale że "zapomni" ich w ogóle obsłużyć, to raczej nie. Podejrzewam bug u ciebie, że działasz w niewłaściwym pliku main.c.

W plikach dla linkera można sprawdzić że:

dla rdzenia CM7 flash jest po staremu od 0x08000000, a

MEMORY
{
  RAM_D1 (xrw)   : ORIGIN = 0x24000000, LENGTH =  512K
  FLASH   (rx)   : ORIGIN = 0x08000000, LENGTH = 1024K    /* Memory is divided. Actual start is 0x08000000 and actual length is 2048K */
  DTCMRAM (xrw)  : ORIGIN = 0x20000000, LENGTH = 128K
  RAM_D2 (xrw)   : ORIGIN = 0x30000000, LENGTH = 288K
  RAM_D3 (xrw)   : ORIGIN = 0x38000000, LENGTH = 64K
  ITCMRAM (xrw)  : ORIGIN = 0x00000000, LENGTH = 64K
}

dla rdzenia CM4 flash jest od 0x08100000

MEMORY
{
FLASH (rx)     : ORIGIN = 0x08100000, LENGTH = 1024K
RAM (xrw)      : ORIGIN = 0x10000000, LENGTH = 288K
}

 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.