Hello everyone,
I am using an evaluation version of uVision and the RealView tools, and I am working with an AT91SAM7S256. For a while now, I have been trying to get a C function to execute in RAM, without much success.
According to the documentation, changing the "Code / Const" field in the options dialog for a source file should be sufficient. For some reason, however, changing this setting seems to have no discernable effect. The function stays loaded and executed in the on-chip flash eeprom.
I have also looked at the example RAM_function, with the same results. After compiling the example, the function ram_function(), which should be located somewhere in RAM1 (0x80010000-0x8001FFFF), still gets executed IROM1 (0x00 - 0x20000), even though the Code / Const field of its options is set to RAM1.
Anyone have an idea on what I am missing ? I know that the evaluation version does not support scatter-loading, but for the simple memory layout that I am trying to achieve, this should not be relevant.
For functions that are store in ROM but copied to RAM, you need scatter loading. So it does not work with an Eval Version.
Example: C:\Keil\ARM\Examples\RAM_Function