Skip to main content
VoWa
Associate
August 13, 2020
Question

ST32L081 can not be programmed with firmware bigger than 128k with CubeProgrammer and UART-Bootloader.

  • August 13, 2020
  • 18 replies
  • 3472 views

Sorry, posted the wrong device before. Corrected that.

This topic has been closed for replies.

18 replies

Uwe Bonnes
Chief
August 13, 2020

Maybe it is a device with only 128 kiB? You missed to tell the exact part number.

VoWa
VoWaAuthor
Associate
August 13, 2020

Oh, sorry. It is a STM32L081CZT6 with 192kiB

Mike_ST
Technical Moderator
August 13, 2020

If you don't mind, please submit screenshot of the STM32CubeProgrammer.

And copy/Paste log window content including error messages if any.

VoWa
VoWaAuthor
Associate
August 13, 2020

Here is the Screenshot

0693W000003PGWFQA4.jpg

And here the Log-File:

14:31:18 : Serial Port COM74 is successfully opened.

14:31:18 : Port configuration: parity = even, baudrate = 115200, data-bit = 8, stop-bit = 1.0, flow-control = off

14:31:19 : Timeout error occured while waiting for acknowledgement.

14:31:19 : Activating device: OK

14:31:19 : Chip ID: 0x447 

14:31:19 : BootLoader protocol version: 3.1

14:31:21 : UPLOADING OPTION BYTES DATA ...

14:31:21 : Bank : 0x00

14:31:21 : Address : 0x1ff80000

14:31:21 : Size : 20 Bytes

14:31:22 : UPLOADING ...

14:31:22 : Size : 1024 Bytes

14:31:22 : Address : 0x8000000

14:31:22 : Read progress:

14:31:24 : Data read successfully

14:31:24 : Time elapsed during the read operation is: 00:00:01.406

14:31:30 : Memory Programming ...

14:31:30 : Opening and parsing file: firmware.hex

14:31:30 : File : firmware.hex

14:31:30 : Size : 132472 Bytes

14:31:30 : Address : 0x08000000 

14:31:30 : Erasing memory corresponding to segment 0:

14:31:30 : Error: Operation exceeds memory limits

14:31:30 : Error: failed to erase memory

Mike_ST
Technical Moderator
August 13, 2020

Thank you for feedback, ticket entered.

I assumed you got latest CubeProgrammer v2.5.0.

VoWa
VoWaAuthor
Associate
August 13, 2020

Yes, v2.5.0.

VoWa
VoWaAuthor
Associate
August 13, 2020

With the CLI it is the same. FW with <128kiB works, >128kiB does not.

>>> STM32_Programmer_CLI.exe -c port=COM74 -d firmware_big.hex
 -------------------------------------------------------------------
 STM32CubeProgrammer v2.5.0
 -------------------------------------------------------------------
 
Serial Port COM74 is successfully opened.
Port configuration: parity = even, baudrate = 115200, data-bit = 8,
 stop-bit = 1.0, flow-control = off
 
Timeout error occured while waiting for acknowledgement.
Activating device: OK
Chip ID: 0x447
BootLoader protocol version: 3.1
Device name : STM32L07x/L08x/L010
Flash size : 192 KBytes (default)
Device type : MCU
Device CPU : Cortex-M0+
 
 
 
Memory Programming ...
Opening and parsing file: firmware_big.hex
 File : firmware_big.hex
 Size : 132472 Bytes
 Address : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Error: Operation exceeds memory limits
 
 
Error: failed to erase memory
 
 
 
>>> STM32_Programmer_CLI.exe -c port=COM74 -d firmware_small.hex
 -------------------------------------------------------------------
 STM32CubeProgrammer v2.5.0
 -------------------------------------------------------------------
 
Serial Port COM74 is successfully opened.
Port configuration: parity = even, baudrate = 115200, data-bit = 8,
 stop-bit = 1.0, flow-control = off
 
Timeout error occured while waiting for acknowledgement.
Activating device: OK
Chip ID: 0x447
BootLoader protocol version: 3.1
Device name : STM32L07x/L08x/L010
Flash size : 192 KBytes (default)
Device type : MCU
Device CPU : Cortex-M0+
 
 
 
Memory Programming ...
Opening and parsing file: firmware_small.hex
 File : firmware_small.hex
 Size : 126356 Bytes
 Address : 0x08000000
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 987]
Download in Progress:
██████████████████████████████████████████████████ 100%
 
File download complete
Time elapsed during download operation: 00:00:43.196

Tesla DeLorean
Guru
August 13, 2020

Very weird, is that the "size" of the .HEX file on the computer, or the span of the content it describes internally?

Anything interesting in the .MAP file about the highest 0x08000000 region address?

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
VoWa
VoWaAuthor
Associate
August 14, 2020

@Community member​ 

No that is the size of the binay content of firmware itself. The .hex file on the comuper is about 3x bigger.

Can you clarify what you mean with "interesting" ? The firmware code iself is > 128 k. Programming via SWD interface is working properly.

Tesla DeLorean
Guru
August 14, 2020

I'd be looking for anything interesting/remarkable in the upper address space of the FLASH

ie things looking out of place, large voids in the memory usage

I'd look at the .ELF output, and perhaps the .BIN and .HEX I could generate from that.

Currently assuming the tools have some arbitrary limit/ceiling for the L0, instead of reading the value programmed in by the tester.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
VoWa
VoWaAuthor
Associate
August 17, 2020

0693W000003PQBWQA4.jpg

I think there is something wrong with erase. In the "erase flash memory" tab the "last" start address is 0x801FF80. With that there will be nothing erased above 128k

VoWa
VoWaAuthor
Associate
September 23, 2020

@Mike_ST​ can you please give an short info about the actual status? Is the ticket available somewhere?