Various cores within the PowerPC e200 family include a MMU (Memory Management Unit). For these particular cores to be able to access their program space memory, the MMU needs to be configured and TLB (Translation Look aside Buffer) entries have to be created at start-up.
Variables located in memory regions which are not mapped or incorrectly mapped by the MMU, can not be accessed by the MCU internal resources. These variables remain greyed out in the Watch Window and their values appear uninitialized at their virtual location in the Memory Window.
Make sure that the MMU is getting properly configured and TLB (Translation Look aside Buffer) entries are being created in the start-up code of the application.
1. Check the RESET method option in the Hardware / CPU options / Reset dialog. If the option Stop and preset is used, verify that this does not result in skipping execution of the start-up code.
2. Use the following winIDEA plugins to verify for each core the MMU configuration and the memory mapping of the TLB entries:
3. Set BP after TLB is configured in startup code in order for winIDEA to read MAS registers which are used to calculate virtual addresses of variables shown in watch window. MAS registers cannot be read in real time, hence CPU must be stopped.
Sorry this article didn't answer your question, we'd love to hear how we can improve it.
Note: This form won't submit a case. We'll just use it to make this article better.