After we generated a new StartCore project(MSC8156) in code warrior,
we checked the lcf file, and found that by default the os_kernel_text were assigned to DDR.
I have a doubt about it:
Is the OS binary code be stored in os_kernel_text, and all the OS instructions will be read here?
If it is so, why not move it to M3? it will be more faster
Thank you very much
Hello
I assume you are using CodeWarrior for StarCore V10.1.5. Am I right?
SDOS code is stored in sections .oskernel_text_run_time, .oskernel_text_run_time_critical, .oskernel_text_initialization.
These sections are all allocated in DDR in the default .l3k file.
This is just an example of how to link a SDOS application and it leaves more space available in fast memory for application code.
For sure you can move the sections over to M3 if you wish.
CrasyCat
Dear CrasyCat,
Thank you very much for your reply.
We're using Codewarrior for Start CoreV10.0, and the memory link file is .lcf
There are about 272K memory used in DDR for the os_kernel_text, I think this might be the SDOS code.
Are all the SDOS instructions be gotten from here?
And, if we move it to the M3, how much effiency will be increased? can you estimate? or is there any example which put the SDOS code to M3?
Thank you very much
Hello
I do not have any performance data available when SDOS code is placed in M3.
SDOS code is allocated in sections .oskernel_text_run_time, .oskernel_text_run_time_critical, .oskernel_text_initialization, which are all allocated in MMU segment os_kernel_text_descriptor.
CrasyCat
Accesses to M3 memory take about 54 core cycles. Accesses to DDR memory take about 91-95 core cycles. Moving items to M3 memory can improve performance. (No, I don't have any numbers regarding specific code configurations.) The trade-off is that the more of SDOS that you pack into M3 memory, the less room you have for your time-critical algorithms. It's a balancing act, as you know.
---Tom