Handling of Inerrupts in IAR

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Handling of Inerrupts in IAR

ソリューションへジャンプ
1,413件の閲覧回数
Bannai30
Contributor I

Hello,

Can someone help me how to check the interrupt function while performing the test using SCST library,  im performing the core test and how should I check if all the 44 tests are getting executed without interrupt? I am performing them in IAR.
result=m4_scst_execute_core_tests(0, 43);
return result;

Thank You

タグ(2)
0 件の賞賛
返信
1 解決策
1,373件の閲覧回数
martinkaspar-r3
NXP Employee
NXP Employee

Hello,

 please use the following example of code.

        /* Execute all tests */

       result = m4_scst_execute_core_tests(0,43);

                     …

      /* Check SCST result ! */

       if (result==M4_SCST_TEST_WAS_INTERRUPTED)

       {

           /* Some, test was interrupted.

               Please check m4_scst_last_executed_test_number variable and run

               interrupted test + not executed tests again  */          

       }

       else if (result == 0x929940F1)

       {

           /* All tests passed */

       }

       else

       {

           /* Error, please check m4_scst_last_executed_test_number  variable

                to have number of failed test */  

       }

 

Note, that value 0x929940F1 represents XOR operation over the 32-bit signatures of all atomic tests requested for execution. These signatures are documented in the M4 SCST User Manual document.

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
1,374件の閲覧回数
martinkaspar-r3
NXP Employee
NXP Employee

Hello,

 please use the following example of code.

        /* Execute all tests */

       result = m4_scst_execute_core_tests(0,43);

                     …

      /* Check SCST result ! */

       if (result==M4_SCST_TEST_WAS_INTERRUPTED)

       {

           /* Some, test was interrupted.

               Please check m4_scst_last_executed_test_number variable and run

               interrupted test + not executed tests again  */          

       }

       else if (result == 0x929940F1)

       {

           /* All tests passed */

       }

       else

       {

           /* Error, please check m4_scst_last_executed_test_number  variable

                to have number of failed test */  

       }

 

Note, that value 0x929940F1 represents XOR operation over the 32-bit signatures of all atomic tests requested for execution. These signatures are documented in the M4 SCST User Manual document.

0 件の賞賛
返信
1,365件の閲覧回数
Bannai30
Contributor I

Hello @martinkaspar-r3 ,

Thank you for the solution. When I am performing the tests I see from 1 to 42 tests are failing and only 43rd (The last test) is executed, I am wondering if the tests need specific conditions of the processor maybe like enabling or disabling interrupts or setting executional rights or setting environment variables correctly. I am performing them on IAR. Can you please help me where exactly am I doing it the wrong way?

0 件の賞賛
返信
1,355件の閲覧回数
martinkaspar-r3
NXP Employee
NXP Employee

Hello,

there are no specific conditions for test invocation. Our recommendation is to run all tests from the Thread Privileged mode, please see Table 11 in the M4 SCST User Manual document.

 Note, that every combination of ”start” and “end” indexes requires the specific accumulated signature. These signatures are computed by means of XOR operation over the 32-bit signatures of tests requested for execution. This means that the following calls “result = m4_scst_execute_core_tests(0,43)” and “result = m4_scst_execute_core_tests(1,42)” will return different accumulated signatures!

 We assume that result = m4_scst_execute_core_tests(0,43) is working correctly in our example. For different combinations of tests please use attached document where you can find accumulated signatures for all possible combinations of “start” and “end” indexes.

0 件の賞賛
返信