S32DS (PA). debugging and link issues

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32DS (PA). debugging and link issues

737 Views
MPC8313ERDB_h
Contributor III
  1. S32DS PA debugger does not get updated for SPR registers. I can confirm it by mt/mf spr instructions (e.g. mtivpr).
    Please fix it because it's extremely important for low level debugging.
  2. Another issue: link script does not transfer variables to the debugger.
    The work around is to spot the variable in the map file and define it in the source file that uses it. This work around is very vulnerable!
    As an example the the following block (inside section) doesn't pass '__IVPR_VALUE' to c-source which define it as extren durring the link phase.

.core_exceptions_table : ALIGN(0x1000)
{
__IVPR_VALUE = . ;
KEEP(*(.core_exceptions_table))
} > m_text

David

0 Kudos
3 Replies

516 Views
MPC8313ERDB_h
Contributor III

Please ignore my last comment. I figured out how to get the SPRs display values.

David

0 Kudos

516 Views
jiri_kral
NXP Employee
NXP Employee

Hi David, 

actually - in S32DS Power v2017.R1 are SPR registers updating okay (there was some issues with older versions up to v1.2). Here are screenshots for mtivpr - first one before call mtivpr, scond one step ahead:

pastedImage_2.png

 

s32ds_2018-05-29_15-16-29.png

Also linker values are working fine for me - I used __DATA_END instead of __IVPR_VALUE ( which is text):

pastedImage_3.png

So - about SPR registers - just make sure that you double click to register which you are interested in to be updated - the blue arrow should be shown. About linker values - well, don't forget declare them as extern and take care about value type. 

Hope it helps. 

Jiri 

0 Kudos

516 Views
MPC8313ERDB_h
Contributor III

Thank you Jiri,

I must have been missing something. I'm using S32DS Version: 2017.R1 Build id: 171018. The core is e200Z4 (MPC5644A).

To begin with, notice that PVR is all zero (should be 0x81570000) 

pastedImage_1.png

In addition the following show  before and after execution of the instruction mtusprg0 (spr256). As you can see, the value remained zero.

pastedImage_2.png

pastedImage_3.png

David

0 Kudos