cancel
Showing results for 
Search instead for 
Did you mean: 

Does STM32F4xx support UART IAP?

dqyang
Associate II
Posted on August 03, 2015 at 05:09

Hi Guys, 

I download sample code for UART IAP(AN4657) and try to use on my STM32F405, but till now I havn't made it run.

and I found below info from document:

Content

• 

 STM32L0 HAL Driver 1.2.0. 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/STM32L0xx_HAL_Driver/Release_Notes.html

• 

 STM32L4 HAL Driver 0.3.0. 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/STM32L4xx_HAL_Driver/Release_Notes.html

• 

 STM32F1 HAL Driver 1.0.0. 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/STM32F1xx_HAL_Driver/Release_Notes.html

• 

 STM32L073Z-EVAL BSP Driver 0.0.4. 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/BSP/STM32L073Z_EVAL/Release_Notes.html

• 

 STM32L476G-EVAL BSP Driver 0.1.0. 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/BSP/STM32L476G_EVAL/Release_Notes.html

• 

 STM3210C-EVAL BSP Driver 6.0.0. 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/BSP/STM3210C_EVAL/Release_Notes.html

• 

 STM32L0xx CMSIS 1.2.0. 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/CMSIS/Device/ST/STM32L0xx/Release_Notes.html

• 

 STM32L4xx CMSIS 0.3.0. 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/CMSIS/Device/ST/STM32L4xx/Release_Notes.html

• 

 STM32F1xx CMSIS 4.0.0. 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/CMSIS/Device/ST/STM32F1xx/Release_Notes.html

• 

 CMSIS Version 4.2 

file:///D:/dev/gogo-lite/st-update/8.3/x-cube-iap-usart/AN4657-STM32Cube_IAP_using_UART/Drivers/CMSIS/index.html

So I'm wondering whether this IAP sample supports STM32f4XX?

Thank you!

Daniel

6 REPLIES 6
Posted on August 03, 2015 at 06:50

Not in that Cube release, but IAP generally is implementable on all architectures.

There are STM32F4 examples using the SPL (Standard Peripheral Library)

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

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
dqyang
Associate II
Posted on August 03, 2015 at 08:14

Thank you very much, I will try it!

Posted on September 13, 2017 at 21:32

Turvey.Clive.002

Hi Clive,

I am looking to implement IAP usingSTM32L053R8T6. I have tried X-CUBE IAP-USART

http://www.st.com/en/embedded-software/x-cube-iap-usart.html

. But couldn't get that working. Is there a similar software for STM32L0xx using SPL?

Thanks,

Harsha

Posted on September 13, 2017 at 22:45

I don't believe ST released an SPL for the L0 parts, there might be a low level library, and worst case you could build a couple of two line functions to send and receive data on the (LP)U(S)ART.

There are several IAP examples for the SPL code base, seem to recall them implementing Y-MODEM or something similar. The STM32F0 examples might be the most prescient.

http://www.st.com/en/embedded-software/stsw-stm32116.html

 
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on September 14, 2017 at 00:01

Yes. There is an option to import LL library from STMCubeMX for L0 parts. Will try to build using the example code for STMF0xx. Thank you for the quick response Clive. 

Regards,

Harsha

Posted on September 14, 2017 at 02:28

Part of the light-weight wrappers used on an STM32L072CZ loader with X-MODEM

void outchar(int x)

{

  while((USARTX->ISR & USART_ISR_TXE) == 0);

  USARTX->TDR = x;

}

int inchar(void)

{

  while((USARTX->ISR & USART_ISR_RXNE) == 0);

  return((int)USARTX->RDR & 0xFF);

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