MPC5644A mounted on S32DS can not open interrupt S32DS is a big bug IDE?

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

MPC5644A mounted on S32DS can not open interrupt S32DS is a big bug IDE?

Jump to solution
3,163 Views
alexhuang5367
Contributor II

I've porting CW10.6 project into S32DS and it use MPC5644A

then CW10.6 it can be work but S32DS can not work

error message is here and attachment is source code

when i run this code i always find "Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000004 in RCHW2 ()" this problem, then S32DS stop debug

 

Could someone can provide a MPC5644A moounted on S32DS example?

 

 

GNU gdb (GDB) 7.8.2
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-mingw32 --target=powerpc-eabivle".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
monitor preserve0 0
monitor selectcore 0
Warning: the current language does not match this frame.
continue
Continuing.
Note: automatically using hardware breakpoints for read-only addresses.

Temporary breakpoint 1, main () at ../src/main.c:270
270 HW_init();
set architecture powerpc:vle
The target architecture is assumed to be powerpc:vle
No breakpoint number 2.

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000004 in RCHW2 ()

Original Attachment has been moved to: main.c.zip

Labels (1)
1 Solution
2,568 Views
martin_kovar
NXP Employee
NXP Employee

Hi Alex,

I did not compare any project. I took the project I shared here and I loaded it to microcontroller using Lauterbach debugger. Then I stepped through xcptn_xmpl function. I saw there is no code in InitIVORS function. From my knowledge of e200z4 core I know, I have to initialize single IVOR registers with correct values and that is it.

I had opened MPC56xx_interrupt_Init.c file and I found there is conditional compilation and neither E200Z4 symbol nor E200Z7 symbol is defined.

I have escalated this issue to appropriate team. So it should be fixed in next S32DS release. 

If you have any other question, please feel free to write me back.

Regards,

Martin

View solution in original post

0 Kudos
7 Replies
2,568 Views
martin_kovar
NXP Employee
NXP Employee

Hi Alex,

I will try to port your code to S32DS next week.

Just one question. Are you able to load default project for MPC5644A to your microcontroller?

Regards,

Martin

2,568 Views
alexhuang5367
Contributor II

Hi Martin

Thank you so much.

Yes, I've used the default head file and source code in the project.

If you have any questions or whole project, please do not hesitate to contact me

Sincerely,

Alex

0 Kudos
2,568 Views
martin_kovar
NXP Employee
NXP Employee

Hi Alex,

I have created simple example based on the code you shared in the first post. I am able to load to to microcontroller flash memory and also RAM memory. It is important to use S32 Design Studio version 1.1 (the older version does not support MPC5644A).

Which debug probe you use for loading the code?

Import the project I created and try to load it to your microcontroller.

Regards,

Martin

PS: I did not implement interrupt handler, so PIT interrupt does not work, but you should be able to debug the rest of the code. Do not forget you have to use only debug icon for loading the code. Run icon does not work.

Regards,

Martin

0 Kudos
2,568 Views
alexhuang5367
Contributor II

This is my problem, when i open the PIT interrupt

I'm so confuse about the error message

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000004 in RCHW2 ()

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000006 in RCHW2 ()

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000004 in RCHW2 ()

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000006 in RCHW2 ()

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00000004 in RCHW2 ()

STUCK.PNG

This page just show you what debug prob i use

debuger.PNG

0 Kudos
2,568 Views
martin_kovar
NXP Employee
NXP Employee

Hi Alex,

I found the issue. In MPC56xx__Interrupts_Init.c file is function InitIVORS, which is not compiled, because neither symbol E200Z4 nor symbol E200Z7 is defined. If you use e200z4 core, it is necessary to initialize IVOR registers (which is not done in the project).

So the simple workaround is to define symbol E200Z4 for compiler. Open project properties, open tab Symbols in compiler sub-menu and add new symbol. Recompile the project.

Now it will work.

pastedImage_1.png

Regards,

Martin

0 Kudos
2,568 Views
alexhuang5367
Contributor II

AWESOME!!

Thank your so much for your help, I really appreciate it.

How did you find it? Compare with MPC574x or MPC5643 project or Assembly code?

I really want to know that, if you convenience please tell me.

0 Kudos
2,569 Views
martin_kovar
NXP Employee
NXP Employee

Hi Alex,

I did not compare any project. I took the project I shared here and I loaded it to microcontroller using Lauterbach debugger. Then I stepped through xcptn_xmpl function. I saw there is no code in InitIVORS function. From my knowledge of e200z4 core I know, I have to initialize single IVOR registers with correct values and that is it.

I had opened MPC56xx_interrupt_Init.c file and I found there is conditional compilation and neither E200Z4 symbol nor E200Z7 symbol is defined.

I have escalated this issue to appropriate team. So it should be fixed in next S32DS release. 

If you have any other question, please feel free to write me back.

Regards,

Martin

0 Kudos