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


Compiler (arm-none-eabi-gcc) just don't wanna make interrupt vectors (CMSIS, StdPeriphLib)

I have got stm32f103c6t6(blue pill), st-link v2 programmer. I burn my programs just fine. I use arm-none-eabi tools with StdPeriphLib v3.6.0 from ST official site. I wrote program that merely flashed LED and noticed one strange thing - after pressing reset button my LED stopped blinking. I went deeper and discovered, that my binary file has NO INTERRUPT VECTOR (as objdump said)! I attach archive with my project - there are main.c, linker script, Makefile, and objdump’s output, pay your attention on ld script and objdump’s file certainly. You will be able build this project, if you have library mentioned above and wish to change some entries in Makefile xDDD. Also I put startup file(from library) in my archive, cause there are vector table and reset handler by itself.
Maybe it should be so, but problem remains - reset button dont reset but just freeze my mcu unless i reburn it.
I would really appreciate it, if you helped me, because I newbie in stm32 programming (only did AVR-MCUs before).
Also i would like to get some general advises from you

you can see how i was trying to add some fancy entries in main.c(__attribute stuff - even broke my program whatsoever) or linker script(EXTERN directive, i added it myself, in genuine script was no such line), but actually nothing helped

Guys, the reason blue pill didn’t want to work after reset was wrong placement of BOOT jumpers - they both should’ve be set zero. But my question still remains - where is damn interrupt vector? xDDD. How do i see it? So far everything seems to work fine, so interrupt vector must be on it own right place, but it absents in object file, i have doubts