Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


STM32F042F6P6, generating much too large .bin file silently?

I have a project that I generated with STM32CubeMX a few days ago, using the SPI, GPIO, and SysTick, and not much else. It’s generating 70KB .bin files, despite this chip only having 32KB of Flash, but it’s not generating an error message to go along with it.

Looking at the .map file, it looks like all of this space is in two debug_macros, both for the Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.o file. Attached is the .map file, the offending macros are on lines 4236 and 4240.

Anybody have any idea what might be going on?

Latest System Workbench updates are installed, STM32CubeMX V4.16.0, and STM32CubeF0 Firmware Package V1.6.0 / 27-May-2016.

Without seeing your code, the only thing I can think of offhand is that you might have USE_FULL_ASSERT (#define) enabled. I don’t see any reference to printf() in the map file, so I could very well be wrong.

If USE_FULL_ASSERT is on and you’re using the Cube HAL, a LOT of extra code will get generated.

USE_FULL_ASSERT is not defined. That line is commented out. Attached is the project with all of my code(And a couple of the unused ST header files, to get it to compress to fit in the file size limit...) stripped out. It still compiles to 68KB.

Got it! It was using a generic linker script, not the actual linker script included in the project... It’s now spitting out a 5KB .bin file.