Skip to main content
LChan.5
Associate II
March 11, 2021
Question

LL_USART_TransmitData8 has problem in IAP.

  • March 11, 2021
  • 7 replies
  • 1621 views

I work on STM32H750VBT7 project using IAP. I cannot see right character (for example 0x30) output after calling LL_USART_TransmitData8. I do check TDR had got right content. The user program address is 0x8006000, I had changed VECT_TAB_OFFSET as 0x6000 also. But, same program is no problem if running it at 0x80000000. HAL_UART_Transmit works fine in same program.

I use IAP without any problem on other STM32 MCU. Is there any difference IAP mechanism of STM32H750VBT6 from others? I appreciate is there is any working example on STM32H750VBT6. thank you.

Best regards,

Langston​

This topic has been closed for replies.

7 replies

Tesla DeLorean
Guru
March 11, 2021

Sure you're not seeing a cache coherency issue?

The SCB->VTOR setting for the Vector Table is consistent between Cortex-M0+/3/4/7 parts

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
Mohamed Aymen HZAMI
ST Employee
March 16, 2021

Hello @LChan.5​,

Can you please provide the project that you work with in order to produce the same behavior as you ?

Mohamed Aymen.

LChan.5
LChan.5Author
Associate II
March 17, 2021

My project files are attached. Thanks for your help.

Pavel A.
Super User
March 17, 2021

> The user program address is 0x8006000

Do you understand that STM32H750 (officially) has only one sector (128K) of internal flash?

so when you try to erase sector 0... your updater code gets blown away.

-- pa

LChan.5
LChan.5Author
Associate II
March 17, 2021

Yes, I know. I select "do not erase" in Keil environment for user program. The HAL user program run in this way without any problem. Is it the cause let LL_UART API get problem?

waclawek.jan
Super User
March 17, 2021

> I cannot see right character (for example 0x30) output

And what do you see, using oscilloscope/logic analyzer?

If you see pulses of unexpected length, check system clock settings and baudrate setting.

If there's no signal on given pin, read out and check the related GPIO registers content.

JW

LChan.5
LChan.5Author
Associate II
March 17, 2021

OK, I will check, but same IOC file generate program with HAL without problem. Curious why get problem on LL API?