I'm migrating from arm compiler 5 to armclang and I'm struggling with placing functions in RAM.
I tried using what this page suggests - https://www.keil.com/support/docs/3228.htm - and it works, if LTO is disabled.
If I enable LTO and set optimization level to -Oz, function gets inlined in 'normal' flash-function. Using -fno-inline or __attribute__((noinline)) doesn't affect this.
How can I prevent this?
Does the --info sizes linker output show that this function('s object) is linked in independently or the large LTO'ed object?
From there, does the scatter file show this object being placed at the expected address?
Oh dear, I'm so sorry. Somehow I got all mixed up; the function wasn't inlined in the first place, even with LTO enabled everywhere.