Part Number: AM6442
Other Parts Discussed in Thread: SYSCONFIG
Hi All,
We are currently verifying the operation of the API functions included in “ind_comms_sdk_am64x_09_02_00_08” MCU+ SDK.
From Linux, which was created based on Processor SDK Linux v9.2, we load a program onto R5F Core 0 and check its behavior.
First, referring to the following sample programs, we are checking the APIs for hardware interrupts:
- AM64x MCU+ SDK: Driver Porting Layer (DPL) Demo
- AM64x MCU+ SDK: Hardware Interrupt APIs
It appears that the interrupt number can be set using the intNum member of the HwiP_Params argument in the HwiP_construct() function. Therefore, we repeatedly performed the following steps while incrementing the interrupt number starting from 0:
- Execute
HwiP_construct()function (interrupt number N) - If
HwiP_construct()succeeds, executeHwiP_destruct().
Then, when calling HwiP_construct() with interrupt number 6, we encountered a situation where Linux did not respond to the following command intended to shut down R5F Core 0:
echo stop > /sys/class/remoteproc/remoteproc0/state
Note: By “when calling HwiP_construct(),” we determined this because the print statement inserted immediately before HwiP_construct() was output, but the one immediately after was not.
When testing with interrupt numbers 0–10, all numbers except 6 succeeded (HwiP_construct() returned 0) and did not cause the above situation.
Checking the Technical Reference Manual for interrupt number 6: AM64x/AM243x Technical Reference Manual (Rev. H)
Section 9.4.1.2 R5FSS0_CORE0 Interrupt Map contains a table mapping interrupt numbers to sources.
Interrupt ID 6’s source is listed as R5FSS0_COMMON0_COMMTX_LEVEL_0_0.
Also, Interrupt ID 7 does not appear in the table.
However, based on our earlier test results:
- Executing
HwiP_construct()for interrupt number 6 caused the R5F core to stop responding to shutdown requests. - Executing
HwiP_construct()for interrupt number 7 succeeded.
If IDs 6 and 7 were reversed, it would make sense that calling HwiP_construct() for a non-existent interrupt number could cause abnormal behavior.
Therefore, we have two questions:
[Question 1]HwiP_construct() succeeded for interrupt number 7, but does interrupt number 7 actually exist?
Or is it the case that calling HwiP_construct() for a non-existent interrupt number succeeds by design?
[Question 2]
When calling HwiP_construct() for interrupt number 6, the R5F core stopped responding to shutdown requests.
What could be the possible cause of this phenomenon?
Best Regards,
Ito