cancel
Showing results for 
Search instead for 
Did you mean: 

Migrating F103 to F4 what can I expect ?

michaelmccartyeng
Associate II
Posted on September 16, 2012 at 19:21

Hello all,

 I've developed some pretty awesome stuff on my STM32F103VET6 and my STM32F0 Discovery (STM32f101rb). I'm able to add a few ifdefs here and there and switch the code back and forth between them easily. 

  I  was getting ready to order some more boards and stumbled upon the stm32F4discovery board and started to look at the specs. For about $2 more a chip I get x3 the power and memory, which I could really use !! 

 So I started to think how easy it would be to migrate between my m3 code and this m4. I looked up the pins and it seems to be pin compatible. But when I use keil and try and make a new project there is no selection for the m4.

  It all boils down to:

   - would my code written for the m3 using std peph work with the m4 ?

   - would I have to buy something to go with keil to get it to support m4 ?

I could just switch to linux and have more support for more devices (i think). Sorry I spend so much time coding and testing I dont really mess with my dev environment so I was wondering if any of you have gone down this path.

 As always, thanks for reading !  
6 REPLIES 6
STM32 hobbyist
Associate III
Posted on September 17, 2012 at 00:36

may your keil is an older version... which version do you have?

michaelmccartyeng
Associate II
Posted on September 17, 2012 at 01:15

IDE-Version:

µVision V4.10

Copyright (C) 2010 KEIL, An ARM(R) Company

Tool Version Numbers:

Toolchain:        RealView MDK-ARM  Version: 4.12

Toolchain Path:    BIN40\

C Compiler:         Armcc.Exe       V4.1.0.481

Assembler:          Armasm.Exe       V4.1.0.481

Linker/Locator:     ArmLink.Exe       V4.1.0.481

Librarian:             ArmAr.Exe       V4.1.0.481

Hex Converter:      FromElf.Exe       V4.1.0.481

CPU DLL:               SARMCM3.DLL       V4.12

Dialog DLL:         DARMSTM.DLL       V1.47

Target DLL:             STLink\ST-LINKIII-KEIL.dll       V1.5.1

Dialog DLL:         TARMSTM.DLL       V1.47

STM32 hobbyist
Associate III
Posted on September 17, 2012 at 01:21

V4.10 deosn't support Cortex M4 devices.. I think, versions starting from V4.20 supports them...

michaelmccartyeng
Associate II
Posted on September 17, 2012 at 01:27

Thanks ! I'm getting a M4 board. whoot ! 

raptorhal2
Lead
Posted on September 17, 2012 at 03:38

You can also expect somewhat different calls to the F4 standard peripheral library. For example, there are two ADC initialization structures, and no ADC calibration is required by your application. DMA now includes streams.

Cheers, Hal

michaelmccartyeng
Associate II
Posted on September 18, 2012 at 02:58

I had not got to ADC yet, was using massive dma and pwm, timers etc. Streams seem very interesting and really what I need when it comes to piping the camera out to the usart. 

Thanks for the help, I'll be back as I make progress. 

zonerobotics.com