2021-03-10 04:29 PM
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
2021-03-10 04:42 PM
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
2021-03-16 03:03 AM
Hello @LChan.5,
Can you please provide the project that you work with in order to produce the same behavior as you ?
Mohamed Aymen.
2021-03-16 08:07 PM
2021-03-16 09:39 PM
> 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
2021-03-16 10:32 PM
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?
2021-03-17 12:12 AM
> 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
2021-03-17 01:05 AM
OK, I will check, but same IOC file generate program with HAL without problem. Curious why get problem on LL API?