2024-12-20 4:49 AM - last edited on 2024-12-20 4:50 AM by mƎALLEm
Hello,
I have been trying to implement IAP in my device. But my code gets stuck in "UART_WaitOnFlagUntilTimeout". For once I was able to transfer the binary file of the new user application but later whenever I am trying to send the binary file it is getting stuck. It doesn't even show any debug error message.
I took reference from this: https://github.com/stm32-hotspot/STM32G0xx_IAP/tree/main
I have kept the IAP main at starting address which is 0x08000000 and my user application at 0x08008000.
2025-01-12 7:09 PM
did you get any progress on this issue?
Now I am also designning a IAP for STM32G474VET6, I have the same issue as you I think, when I start to transfer bin file with tera term, the transfer stopped and I step into the code, it seems UART_Receive time_out
I did this design according to AN4657. the tranfer with tera term as below
I also used uart1, I am sure it can work, because i received the menu and send 1 for choosing download.
any progress, please contact me.
thanks.
2025-01-29 9:42 PM
@dqsh06 I have tried every option possible but couldn't find the solution.
I do get the menu and it waits for the binary file when pressed 1.
2025-01-31 1:19 PM
@jowakar122 Possibly you have receive overflow. HAL_UART_Receive to receive by one byte is very inefficient and prone to RX overflows. Use a better way.
2025-02-04 6:32 PM
I have asked a chinese ST application engineer, he said he can do that, but he used uart2, do you think uart1 is different with uart2?
thanks.
2025-02-05 7:27 AM
@dqsh06 All UARTs of STM32 can have different capabilities. Please see the UARTs section in the Data Sheet (DS) document. Specific capabilities of all UARTs are described there.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.