lpi2c3 on m33 core

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

lpi2c3 on m33 core

1,221件の閲覧回数
Sandroom
Contributor III

Good day to all!
I am using IMX8ULPIEC processor and I want to use i2c3 on m33 core.
I looked at sai_edma_transfer example (for evk9 board)and encountered a problem. The example uses lpi2c0, I would like to use lpi2c3, replacing 0 with 3 in places related to lpi2c I did not achieve the result. According to my assumption, lpi2c3 is on the fusion bus pcc2. Is it possible to use i2c3 with the m33 core and maybe there is some example of initialization and sending data?

ラベル(1)
タグ(3)
0 件の賞賛
返信
5 返答(返信)

642件の閲覧回数
wendy-liu
Contributor II

Hello, I 'm facing the same situation with you.How do you configure the CLK issue?

0 件の賞賛
返信

1,209件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

Hi @Sandroom!

Thank you for contacting NXP Support!

 

The changes that you made was only on sai_edma_transfer.c?

What are the changes that you made off?

 

Do you update the pin_mux.c to configure the pins?

 

Best Regards!

Chavira

 

0 件の賞賛
返信

1,185件の閲覧回数
Sandroom
Contributor III

Chavira, thank you for helping me with my question.

I made the following changes to pin_mux:

in func BOARD_InitPins(void) Instead of i2c0 pins, I initialize i2c3: pta8,9-> pta14,15

 

    IOMUXC_SetPinMux(IOMUXC_PTA14_PTA14, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA14_PTA14,
                        IOMUXC_PCR_OBE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA15_PTA15, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA15_PTA15,
                        IOMUXC_PCR_OBE_MASK);

 

 also in BOARD_I2C_ConfigurePins(void
 

 

    IOMUXC_SetPinMux(IOMUXC_PTA14_I3C0_SCL, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA14_I3C0_SCL,
                        IOMUXC_PCR_ODE_MASK);
    IOMUXC_SetPinMux(IOMUXC_PTA15_I3C0_SDA, 0U);
    IOMUXC_SetPinConfig(IOMUXC_PTA15_I3C0_SDA,
                        IOMUXC_PCR_ODE_MASK);

in sai_edma_transfer.c
i use  Fusion_Init() and some else functions:

 

CLOCK_SetIpSrc(kCLOCK_Lpi2c3,  kCLOCK_Pcc2BusIpSrcFusionDspBus);
RESET_PeripheralReset(kRESET_Lpi2c3);
CLOCK_GetIpFreq(kCLOCK_Lpi2c3)
but when using the last three I get a call to HardFault_Handler.

 
it was just said in one of the other answers (link) that the cores cannot use foreign peripherals (for example, sending data from the m33 core via sai4, which belongs to the A35 core) or is this not true?
0 件の賞賛
返信

1,180件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

Hi @Sandroom!

You configured wrong the pins for i2c3, you are configuring the pins for i3c0, you should use ptb8-9 or ptb11-12.

 

Best Regards!

Chavira

0 件の賞賛
返信

1,140件の閲覧回数
Sandroom
Contributor III
@Chavira thank you for the quick reply, it seems that I was inattentive, I reconfigured to pins ptb8-9 but this did not remove the error(HardFault_Handler) when calling the functions CLOCK_SetIpSrc, RESET_PeripheralReset and CLOCK_GetIpFreq (I call them with the parameters from the previous message) am I passing the wrong values ​​to them? Please tell me what could be wrong.
0 件の賞賛
返信