cancel
Showing results for 
Search instead for 
Did you mean: 

Migrate from STMF4 to STM32F7 (configuration of memory mapping and bootloader)

elmzaiti youssef
Associate II
Posted on June 02, 2017 at 09:41

Hello ,

  I'm a trainee and my project is to migrate from stmf4xx to stm32f7xx , so i was compile the all project using stmf7xx library  on keil uvison 5 ,and fix all error due to incompatibility of these two microcontroller , and fix error of bitbanding because a stm32f7xx don't support a bitbanding instructions , now we should modify a memory mapping and bootloader , please help , i don't now how i can do it . 

Regards 

Youssef

#migrate-from-stmf4-to-stm32f7(configuration-bootloader) #migrate-from-stmf4-to-stm32f7 #migrate-from-stmf4-to-stm32f7-(configuration-of-memory)
8 REPLIES 8
Imen.D
ST Employee
Posted on June 06, 2017 at 00:06

Hi

youssef.elmzaiti

,

Please refer to the following documents that can help you on your project migration:

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Posted on June 07, 2017 at 08:57

Hello Imen , 

 We want to migrate our application to STM32F7xx ,the problem is we use a bitbanding to read / write the registre like GPIO ... in STMF4xx ,so in STM32F7xx there isn't a region of bitband ,so could you please suggest a solution with exemple , tutorial ...

  

Posted on June 07, 2017 at 11:37

Hi

youssef.elmzaiti

,

Your description here of the problem is not clear.

We need more details about what do you expect exactly as result.

What is the issue that you have and the problem you are facing

with

memory mapping.

You mayhave a look to these application notes that can help you:

Regards

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Posted on June 07, 2017 at 11:52

Hi Imen  

 In STM32F4/2/1 using the cortex ARM M0/0+/3/4 ,if we want to read or write in GPIO ... any bit in registre we should use a bitbanding method(

http://www.scienceprog.com/bit-band-operations-with-arm-cortex-microcontrollers/&sharpcomment-73919

 ) ,it's simple and effictive ,all our code and application in stm32f4 we use the bantbanding  ,so now we want to migratre our application to stm32f7xx ,but in stm32f7 thersn't a bitband région so we can't use a bitbanding method ,could you suggest any solution to read/write the GPIO ... in stm7xx . (sorry bad english) .

Regards

youssef

Posted on June 07, 2017 at 16:47

Hi

youssef.elmzaiti

,

You can use thememory mapped GPIO register:to read the GPIOport input and then youshould mask at CPU level to extract needed data.

For GPIO pin write, it is recommended to use the GPIOx_BSRR register which allows atomic read/modify manipulation.

Regards

Imen

When your question is answered, please close this topic by clicking "Accept as Solution".
Thanks
Imen
Posted on June 08, 2017 at 14:19

Hi Imen ,

 Can you give an exemple , demonstration or  tutorial ... 

Posted on June 09, 2017 at 10:20

Hi Imen ,

  Thank you for this suggest , but our application is not based with HAL library ,so it's not a solution for us :\  , there's another possibility please ? 

Eduardo Alvarez
Associate
Posted on May 19, 2018 at 15:02

Hi @elmzairi youssef,

I have one solution for you problem, you can use bit level structs. I dont know if ir is the best solution (effectiviness) but is manage like bit banding on code.

example of bit banding :

#define GPIOA_OD0 (*((__IO uint32_t*)(BITBANDING_BASE+(GPIO_BASE_OFFSET*32)+(BIT_NUMBER*4))))

�?�? In code �?�?

GPIOA_OD0=1;

example with struct :

typedef struct

{

__IO GPIO_MODER_Typedef MODER;

....

....

__IO GPIO_IDR_Typedef         IDR;

__IO GPIO_ODR_Typedef       ODR;

....

.....

}GPIO_Bits_Typedef;

typedef struct

{

__IO uint32_t OD0: 1;

__IO uint32_t OD1: 1;

__IO uint32_t OD2: 1;

...

...

...

...

__IO uint32_t OD15:1;

}GPIO_ODR_Typedef

#define GPIOA_Bits ((GPIO_Bits_Typedef*)GPIO_BASE))

�?�?- In code �?�?-

GPIOA_Bits->ODR.OD0=1