Skip to main content
DCamp.4
Associate
June 22, 2021
Solved

STM32L010K8 ROM Bootloader via I2C

Hello, I have a wearable design which consists of 2x STM32 MCUs (One STM32WB and a STM32L010K8). They are connected via I2C and I need to be able to reprogram the STM32L010K8 using the STM32WB via the I2C port. However, there's mixed information related to the capability of the ROM bootloader to communicate via I2C. The first page of the STM32L010K8 datasheet says that the pre-programmed bootloader supports SPI and UART. Then on page 18 (Boot modes) it states that I2C on pins PB6 and PB7 can be used to reprogram the flash memory.

Which one is correct? Can anyone here confirm if the STM32L010K8 can be reprogrammed via I2C using the ROM bootloader?

Cheers,

Daniel

This topic has been closed for replies.
Amel NASRI
Amel NASRIBest answer
ST Technical Moderator
July 27, 2021

Hi @DCamp.4​ ,

Sorry to come back late to this discussion. Even if you have already got the answer, it will be helpful to explain the situation for other Customers facing the same issue.

So, I confirm that AN2606 is the correct one (aligned with front page content of the datasheet where I2C bootloader isn't listed).

The content of section 3.4.4 will be updated to remove I2C in coming versions of STM32L010K8 datasheet.

-Amel

To give better visibility on the answered topics, please click on "Best Answer" on the reply which solved your issue or answered your question.

8 replies

TDK
June 22, 2021

> Then on page 18 (Boot modes) it states that I2C on pins PB6 and PB7 can be used to reprogram the flash memory.

Are you sure you're looking at the right/recent datasheet?

https://www.st.com/resource/en/datasheet/stm32l010c6.pdf

Nothing there about I2C support.

0693W00000BbhqcQAB.png 

AN2606 doesn't say it has I2C support either.

"If you feel a post has answered your question, please click ""Accept as Solution""."
Tesla DeLorean
Guru
June 22, 2021

If you've got the hardware in front of you how hard could it be to test it yourself?

AN2606 suggests it's only SPI and UART for L01x

https://www.st.com/resource/en/application_note/cd00167594-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
DCamp.4
DCamp.4Author
Associate
June 22, 2021

@Community member​ and @TDK​ thank you for the quick responses!

I should have been more specific with the device I'm trying to design with. It is this one: https://www.st.com/en/microcontrollers-microprocessors/stm32l010k8.html

0693W00000Bbi7EQAR.png 

Yes, I checked AN2606, but the datasheet says I2C should work, therefore I'm still hoping that I2C is available for the ROM bootloader. I don't have the device in front of me as I working on the PCB design at the moment and so far I haven't seen any EVAL or DISCOVERY kit with it that I could order to try it out.

Any other ideas?

Tesla DeLorean
Guru
June 22, 2021

Your local FAE?

The L011K4 I'm using is tighter, not sure I'd want to code a loader in it.

Are you critically short of pins? you could map PA2/PA3 onto the I2C pins to give yourself options.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
DCamp.4
DCamp.4Author
Associate
June 22, 2021

I'm really not looking into coding my own bootloader, that's why the idea is to use the one built-in ROM.

DCamp.4
DCamp.4Author
Associate
June 23, 2021

Any STM employee around here that could help shed some light into this?

Cheers,

Daniel

Tesla DeLorean
Guru
June 23, 2021

They have very low presence here, suggest you go in via your supply chain staff, local reps, local support engineers

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