[arm-gnu] STM32 silicon errata
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[arm-gnu] STM32 silicon errata



Dear List,

ST makes the STM32 microcontroller line based on the Cortex-M3 core. Today ST published a new silicon errata document for the line in which it states that code generated by "GNU rev 4.2.3 and later" is incompatible with all but the latest silicon revision of the chips.

1) What new behavior in 4.2.3 triggers this issue?
2) What exactly goes wrong when the issue is triggered?
3) Was there a workaround in place for the STM32 in pre-4.2.3 compilers?

Thank you very much for your help.

Regards,
Lanchon



PS. The errata document can be found here:
http://www.st.com/stonline/products/literature/es/14574.pdf

The relevant section follows:



2.6 Compatibility issue with latest compiler releases

Description

Compilers with improved optimizations for the STM32F10xxx have been recently released on the market. Revisions Z and B of the medium-density STM32F10xxx devices (STM32F10xx8/B) do not support some of the sequences associated with the high-level optimizations done in these compilers. Revision Y is not affected by this limitation.

Workaround

This behavior is fully deterministic, and should be detected during firmware development or the validation phase. Consequently, systems already developed, validated and delivered to the field with previous silicon revisions are not affected.

For code update of revision Z and B devices already in the field, do not use these new compilers. To date, compilers known to generate these sequences are:

-IAR EWARM rev 5.20 and later
-GNU rev 4.2.3 and later

For new developments associated with these compilers, revision Y of the STM32F10xx8/B must be used.