Hello and thank you for the reply.
My problem is solved.
I read your response.
So it must be a linker thing, apparently.
Like, the linker does only see this weak definition in startup_stm32l053xx.s:
But does not see my definition in klavirko_asm.s.
Your suggestion was to remove the weak definition.
But I thought that this can not be the solution.
This way the weak definition will no longer be seen,
but my intended definition will most likely not “appear” because of it.
and this should result in a failure to assemble because it would be putting an unknown symbol into the interrupt vector.
So I focused on the topic of why would it not be seen.
In klavirko_asm.s I tell that this is a global symbol,
but maybe in startup_stm32l053xx.s, where the interrupt vector is defined this information is not known.
I thought that I should add there the information that there is this global symbol elsewhere.
But before I could try it, I have done somehing else which turned out to be the solution.
I added these statements (copied from startup_stm32l053xx.s) so that the assembler would be at the same correct state when reaching my statements:
(also added size information while doing it.)
So my file klavirko_asm.s now looks like this:
.type TIM6_DAC_IRQHandler, %function
.size TIM6_DAC_IRQHandler, .-TIM6_DAC_IRQHandler
Now everything works.
The processor corrwectly enters and leaves the interrupt now.
Now I can focus on the actual work to write the interrupt function.