Skip to main content
Super User
October 14, 2022
Solved

(programmed) STM32F030 stucks in the startup (xx.s ) forever. defective batch ??

  • October 14, 2022
  • 23 replies
  • 3820 views

the hole batch of F030C6T6 has same behavior :

can access with ST-Link , program, verify - all ok. read core registers, option bytes...ok.

but then no program start ! chip stays in startup here:

0693W00000Uo3uMQAR.png10 tested boards ihave identical behavior. chips coming from PCB assembler , as usual.

I replaced one with a (suspect source , from aliexpress dealer) F030 , then board running as it should.

  • can i do anything, to get these boards running?
  • if chips have all same defect, how is it possible to passing the wafer test ??

    This topic has been closed for replies.
    Best answer by AScha.3

    Thanks to all for your help . so finally i found it ...

    1. C6 chip has only 4k ram, so using same bin as with C8 version using > 4k ram going mad
    2. using optimizer (-O2) made the chip starting the program (but program stuck in While-loop)
    3. making all warnings away and using "volatile" for variables, modified in interrupt, get it running.

    (program is old, transferred from other chip and never made in good/correct C-style )

    -> chips are not defective, with optimized program for C6 version all running fine now.

    but crazy, that the cpu stall in startup code, without showing some useful error (illegal adress or so).

    23 replies

    AScha.3Author
    Super User
    October 19, 2022

    funny: now (still same program, changed nothing intentional ) starting normal, cpu registers now:

    0693W00000UoMF8QAN.png but...i run compiler again , just to see: 0 warnings , 0 errors .

    AScha.3Author
    Super User
    October 19, 2022

    isr_vector ...in IDE ?

    0693W00000UoMMYQA3.pngor where to look ?

    +

    _estack symbol -- is where ?

    + i have to go home now, tomorrow i can check ....

    AScha.3AuthorAnswer
    Super User
    October 20, 2022

    Thanks to all for your help . so finally i found it ...

    1. C6 chip has only 4k ram, so using same bin as with C8 version using > 4k ram going mad
    2. using optimizer (-O2) made the chip starting the program (but program stuck in While-loop)
    3. making all warnings away and using "volatile" for variables, modified in interrupt, get it running.

    (program is old, transferred from other chip and never made in good/correct C-style )

    -> chips are not defective, with optimized program for C6 version all running fine now.

    but crazy, that the cpu stall in startup code, without showing some useful error (illegal adress or so).