Tool/software: TI C/C++ Compiler
Sorry for this basic question.
I have a simple loop program, which I would like to run on the evmK2G from I$. What are the necessary steps. I did read SPRUGY8.
1) C66x CSL Command Sequence to Enable Caching:
CACHE_enable(CACHE_CE00); // as defined in SPRUGY8
CACHE_setL2Size(CACHE_256KCACHE); // as defined in SPRUGY8
Q1: What does CACHE_CE00 stands for ?
Q2: SPRUGY8 also says, that the program fetches are always cached in L1P, regardless of the MAR setting. So is this CACHE_ENABLE command obsolete.
Q3: Do I have to set L1 cache size with "CACHE_L1dSetSize();
2) define a section in program:
#pragma CODE_SECTION(getA, ".section_name")
int getA(int i) {
// some code …
}
int main(void) {
...
Q4: Is this a possible way? I see the .section_name in the map file.
3) C66x Linker File
MEMORY
{
L2_SRAM_0 : o = 0x00800000 l = 0x00080000 /* 512kB internal SRAM */
L2_SRAM_1 : o = 0x00880000 l = 0x00080000 /* 512kB internal SRAM */
MSMC_SRAM : o = 0x0C000000 l = 0x00100000 /* 1MB MSMC Shared SRAM */
DDR0 : o = 0x81000000 l = 0x80000000 /* 2GB external DDR0 */
CE0 : o = 0x80000000 l = 0x01000000
}
SECTIONS
{
.text > L2_SRAM_0
[snip]
.section_name > CE0
}
Q5: Are these valid entries for my problem ?
In any case, the runtime remains the same, however I try to turn on the I$.
Any help is highly appreciated. Thank you for your time. Sorry again for this basic question.