How to trigger a PIE Trap via Application code ?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
carnevag
Employee
Employee
5 sign-ins First question asked Welcome!
Hello, I'm asking an easy way to implement a code that trigger a PIE TRAP (Class 4, TIN 5). The PIE trap is raised whenever an uncorrectable memory integrity error is detected in an instruction fetch from a local memory or the SRI bus. So I need to ineject some errors in memory where the code is runned (SRAM or FLASH) in order to obtain an integrity error. Can someone help me on this topic ? Regards, Giambattista
0 Likes
1 Solution
cwunder
Employee
Employee
100 solutions authored 5 likes given 50 likes received

One way to cause a PIE TRAP (Class 4, TIN 5) is by trying to execute from uninitialized program flash memory. For example if you have erased memory at location 0xA0005000 then in your code as a test you could do something like this (running from core 0):

 

typedef void (*func_t)(void);
((func_t) 0xA0005000)();

 

Debug information from Lauterbach to show the results...

cwunder_0-1675819315891.png

 

View solution in original post

0 Likes
1 Reply
cwunder
Employee
Employee
100 solutions authored 5 likes given 50 likes received

One way to cause a PIE TRAP (Class 4, TIN 5) is by trying to execute from uninitialized program flash memory. For example if you have erased memory at location 0xA0005000 then in your code as a test you could do something like this (running from core 0):

 

typedef void (*func_t)(void);
((func_t) 0xA0005000)();

 

Debug information from Lauterbach to show the results...

cwunder_0-1675819315891.png

 

0 Likes