Other Parts Discussed in Thread: DAC81416
Hi team,
CCS Version: 11.1.0.00011
Version of the compiler: ti-cgt-c2000_21.6.0.LTS
1)
Referring to the compiler documentation page 139, the customer adds a description of the ramfunc attribute to the function that they want to execute in RAM. When do not switch to flash mode, the keywords in the function are shown as normal, as shown in the following figure:
However, when you switch to flash mode, the keywords that would otherwise appear are not displayed, as shown in the following figure:
Also, using the shortcut key F3 on the function name only positions the function to its declaration, as shown in the following figure:
But when compiling it's good, and the results of the .map file are fine. Why's this?
2) If a function is defined with the ramfunc attribute or declared with the original #pragma, the correspond function is loaded to flash and then final move to run in ram. However, if other functions are called in this function, they are not moved together to run in ram, as shown in the following figure:
From the .map file, TIMER0_ISR is the function called in the TIMER0_ISR interrupt function, DAC81416_SPI_Write, the address is as follows:
As you can see, the DAC81416_SPI_Write has not been moved to ram with the TIMER0_ISR. To move to an interrupt function executed in ram, write the function to be implemented one by one with statements, without function encapsulation, right? What does the compiler do if a macro function is called, such as RC_macro used here?
Could you help check this case? Thanks.
Best Regards,
Cherry