It appears you can change the projects cache settings in two spots. Which is correct?
- Dean
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
It appears you can change the projects cache settings in two spots. Which is correct?
- Dean
I tried what you suggested, but got warnings. As soon as I saved the new cache setting in the C6x/Cache tab, I got a warning. I couldn't read the entire warning, but it said something like "Cache settings were changed in user configuration. User configuration options will override platform settings. Check your.......". When I built the project, I again got warnings. This time I could read the entire message. The last sentence in the warning says: "To avoid conflicts between L1/L2 memory and cache, we recommend specifying cache sizes along with memory sizes in a platform package."
Bottom line, it appears that cache changes should ONLY happen in the platform file. If that is truely the case, why would the C6x/Cache tab allow you to change them? I can see having the C6x/Cache tab reporting what cache is set to, but don't allow changes. Agree, disagree, did I miss something?
Thanks, Dean
Hi Dean,
You need to set up the cache in the platform file to allow the linker to know where things are. Additionally, when you set it up in the platform file, during the build the Cache module is brought in and it uses the settings from the platform file.
Part because of legacy reasons, you can still bring in the Cache module yourself in the .cfg and change the settings. This will not change the memory map though, just the initialization of the cache. Let's take an example...say the L2D cache is 32KB in the platform file, you can say it is 32KB or less in the .cfg and things will work (other than you wasted memory). If you say the cache is >32KB in the .cfg file, bad things can happen.
Todd
Previously you said I needed both the platform file AND the C6x/Cache tab in the app.cfg file. Are you now saying to avoid the C6x/Cache tab? I don't think I can change the MAR bits without the C6x/Cache tab.
It seems to me that ALL cache changes should ONLY happen in the platform file. The C6x/Cache tab is necessary to modify MAR bits, but you should never change the cache settings in the app.cfg file. Does this sound correct? If so, TI should make a change so the cache settings are reported on the C6x/Cache tab, but can't be changed.
I'm a new SYSBIOS user just trying to figure out where everything lives and how to change things. DSPBIOS was much easier to configure, where SYSBIOS has things spread out all over the place.
- Dean
Dean,
If you can do it within the Platform file then that is the place to do it. Unfortunately, there are people who want to be able to change the Cache settings in their configuration because they build many apps with different cache settings with a single platform. Some do not want to have to create a platform for every different Cache setting. The way its done right now allows this flexibility, but you do have to know what you are doing.
Judah