cancel
Showing results for 
Search instead for 
Did you mean: 

Source Code: Nucleo F3/F4 vs STM32F3DISCOVERY

didos.nicky
Associate II
Posted on June 27, 2015 at 11:49

I want to know

if code

made

the

discovery

STM32F303VCT6

 

(

http://www.st.com/st-web-ui/static/active/en/st_prod_software_internet/resource/technical/software/firmware/stm32f3discovery_fw.zip

) not

taking advantage of the

function

of the

discovery

kit

,

in

which model

of

core

compiles

without

making any changes

.

Where it compile ? Only

on the

NUCLEO

-

F303RE

or

even on the

NUCLEO

-

F411RE

.

Thanks !!

#nucleo #stm32f3discovery
3 REPLIES 3
chrif
Associate II
Posted on June 30, 2015 at 12:26

Hi,

you can take the firmware of  discovery STM32F303VCT6  to use it for NUCLEO

-

F303RE, but it is not possible to use a firmware dedicated to F3 series with F4 series.

However, you can download the Cube package

http://www.st.com/web/en/catalog/tools/PF258154

 for discovery and nucleo based on F3 and the cube package

http://www.st.com/web/en/catalog/tools/PF259243

 for discovery and nucleo based on F4.

Hope the response has clarified the issue.

Regards

didos.nicky
Associate II
Posted on July 03, 2015 at 13:11

Hi,

now it is clearer to me. Software developed for STM32F411RE can run on

STM32F407VGT6, using STM32CubeF4. The same applies to NUCLEO-F303RE and STM32F303VCT6, using STM32CubeF3.

Some things are not clear to me yet:

1. Before the developing of Cube, with which firmware were Nucleo boards

programmed?

2. The Getting Started with STM32? Nucleo Boatd Software Development Tools

guide refers to STM32 Nucleo_FW_VX.Y.Z, that I did non find. Is it perhaps

not available anymore?

3. To program my F3 or F4, I do not want to use the related Cube softare,

rather the Discovery firmware, or the low level libraries for F3 and F4

(CMSIS).

For example, I wrote a simple program that turns on and off an intagrated led

of STM32F407VGT6, using the Discovery Kit Firmware, will it work, appropriately

changing related GPIO and Pin, on STM32F411RE? I attach it for clarity.

/#include ''stm32f4_discovery.h''

#include ''main.h''

 

GPIO_InitTypeDef  GPIO_InitStructure;

 

void Delay(__IO uint32_t nCount);

int main(void)

{

  /* GPIOD Periph clock enable in STM32F407VGT6 */

  /* GPIOA Periph clock enable in STM32F411RE */

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

 

  /* Configure PD12 in output pushpull mode in STM32F407VGT6 */

  /* Configure PA5 in output pushpull mode in STM32F411RE */

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;

  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

  GPIO_Init(GPIOA, &GPIO_InitStructure);

 

  while (1)

  {

    /* PD12 to be toggled in STM32F407VGT6 */

    // GPIO_TogglePin(GPIOD, GPIO_PIN_12);

 

    /* PA5 to be toggled in in STM32F411RE */

     GPIO_TogglePin(GPIOA, GPIO_PIN_5);

 

    /* Insert delay */

    Delay(0x3FFFFF);

  }

}

 

void Delay(__IO uint32_t nCount)

{

  while(nCount--)

  {

  }

}

 

#ifdef  USE_FULL_ASSERT

void assert_failed(uint8_t* file, uint32_t line)

{  

  while (1)

  {

  }

}

#endif

Thank you for clarifying my issues.

chrif
Associate II
Posted on July 06, 2015 at 16:29

Hi,

1-To my knowledge, some Nucleo boards were developed with Standard peripheral Library. New ones  are developed only with cube package.

2-Under the UM1726

http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00105925.pdf?s_searchtype=keyword

, in the introcuction they mention ''STSW-STM32143'', this firmware can be dowloaded from

http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1743/LN1734/PF260215?s_searchtype=keyword

, when you unzip it you willfinf the  STM32 Nucleo_FW_VX.Y.Z folder.

3-If I undersantand, you can develop your own application for F4/F3 with only using the CMSIS library.

 

Regards