cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H747I-DISCO programming

GunkutA
Senior

Hello, I just got STM32H747I-DISCO board. I have stlink-2 and I guess I cannot program this board with stlink2. Do I need to get STLink-3 or STLink-4 in order to program this board? In the description it says: Board has a built in STLink-v3 inside of it. Does it meanI " do not need an external programmer to program it"? If yes how will I do that without an external programmer. Thanks beforehand.

13 REPLIES 13
berendi
Principal

Connect the USB port marked ST-Link V3 to your PC to access the built-in ST-Link

0690X00000Bw0axQAB.png

GunkutA
Senior

Hello Berendi thank you. Do you know in order to code these dual cored boards, do we need to use another syntax we use in STM32 Mcu's. Because even basic

if(HAL_GPIO_ReadPin(GPIOC, GPIO_PİN_7)){
	  		  HAL_GPIO_WritePin(GPIOH, GPIO_PIN_2, 1);
	  	  }

function gives an error...

The syntax of the C language has not changed.

If I can't see the error message, I can't guess what it means.

Sorry, error messages are:

'GPIO_P' undeclared (first use in this function); did you mean 'GPIOA'?

expected ')' before 'N_4' main.c /STM32H747I_deneme1_CM4/Core/Src line 204 C/C++ Problem

make: *** [Core/Src/subdir.mk:30: Core/Src/main.o] Error 1 STM32H747I_deneme1_CM4 C/C++ Problem

stray '\260' in program main.c /STM32H747I_deneme1_CM4/Core/Src line 204 C/C++ Problem

And same type of errors. These errors are in these lines of code:

if(HAL_GPIO_ReadPin(GPIOB, GPIO_PİN_4)){
		  HAL_GPIO_WritePin(GPIOH, GPIO_PIN_1, 1);
	  }
	  else{
		  HAL_GPIO_WritePin(GPIOH, GPIO_PIN_1, 0);
	  }
	  if(HAL_GPIO_ReadPin(GPIOC, GPIO_PİN_7)){
	  		  HAL_GPIO_WritePin(GPIOH, GPIO_PIN_2, 1);
	  	  }
	  else{
		  HAL_GPIO_WritePin(GPIOH, GPIO_PIN_2, 0);
	  }
	  if(HAL_GPIO_ReadPin(GPIOA, GPIO_PİN_8)){
	  		  HAL_GPIO_WritePin(GPIOH, GPIO_PIN_3, 1);
	  	  }
	  else{
		  HAL_GPIO_WritePin(GPIOH, GPIO_PIN_3, 0);
	  }
	  if(HAL_GPIO_ReadPin(GPIOC, GPIO_PİN_8)){
	  		  HAL_GPIO_WritePin(GPIOP, GPIO_PIN_5, 1);
	  	  }
	  else{
		  HAL_GPIO_WritePin(GPIOP, GPIO_PIN_5, 0 );

İ, as in Unicode Character 'LATIN CAPITAL LETTER I WITH DOT ABOVE' (U+0130) is not a valid character in C identifiers.

Ah yes silly me, thank you. But still there are 2:

'GPIOP' undeclared (first use in this function); did you mean 'GPIOA'? main.c /STM32H747I_deneme1_CM4/Core/Src line 223 C/C++ Problem

make: *** [Core/Src/subdir.mk:30: Core/Src/main.o] Error 1 STM32H747I_deneme1_CM4 C/C++ Problem

According to user manual led 4 is P5 pin so I don't know why first error exists. And I have no idea what is the second error.It is the first time I am using one of these boards. I might be done something nonsense.

Where did you cut-n-paste the source code from? Seems like it pulled non printable characters.​

P​5 ?? Use the the right pin designation, not the BGA ball coordinate.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Not a copy-paste work, but typing on a keyboard layout which is not suitable for ASCII work. Turkish, I guess.

One key gives lowercase i, shifted İ. Another key gives lowercase ı, shifted I. Must be hard оn Turkish programmers.

There should be some autocorrect plugin for that. If there isn't, create one and get rich/famous.

I am not sure, in the user manual it says pin P15. (see the image)0690X00000Bw1bmQAB.png