This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 66AK2E05:用于 ARM 的 CSL GIC

Guru**** 1989765 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/566016/66ak2e05-csl-gic-for-arm

器件型号:66AK2E05

你好!!

我一直在尝试通过 k2e ARM 0内核实现裸机中断、但没有成功。 我正在尝试在以下代码中配置120事件 ID、即 GPIO

CSL_GpioHandle hGpio;

CSL_ArmGicIntraams_t gRtcIntraams;
printn CSL_ArmGicDistf Intrf;

extern CSL_ArmGicCpuIntif gCpuNum Intraf;

volatile int a = 0;

void intIsr ()
{
a = 1;
while (inuint8





);void intnuintn_intt intrint int int int return =

0;void intnum




= 0;void intnuintnuintnuintnum = 0;void intnuintn_intnuintn_intt int int intrint

gCpuIntrf.gicDispedist =&Intruserf;
gCpuIntif.cpuIntfBasePtr =(void *) SOC_INTC_MPU_PHY_CPU_IF_BASE;
InterdistBasePtr =(void *) SOC_INTC_MPU_Distributor_BASE;
gCpuIntrf.initStatus =(uint32) false;
gCpuIntrf.gicDis->initStatus =(uint32) false;
gCpuIntrf.pDefaultInterHandlers =空;
gCpuIntrf.pDefaultUserParameter =空;

cSL_armGicInit (&gCpuIntif);

gRtcIntraParams.triggerType = cSL_ARM_GIC_TRIG_TYPE_HIGH_LEVEL;
gRtcIntraParams.priority = 0x20U;

gRtcIntraParams.pFnIntraHandler =&intIsr;
gRtcIntraParams.pUserParam =空;


CSL_armGicConfigIntr (&gCpuIntif、120U、&gRtcIntraParams);
CSL_armGicEnableIntr (&gCpuIntif、120U);

A = 0;
pinNum = 0;
bankNum = 0;

hGpio = CSL_GPIO_open (0);
CSL_GPIO_setPinDirOutput (hGpio、pinNum);
CSL_GPIO_setRisingEdgeDetect (hGpio、pinNum);
CSL_GPIO_bankInterruptEnable (hGpio、bankNum);
CSL_GPIO_clearOutputData (hGpio、pinNum);
CSL_GPIO_getOutputData (hGpio、pinNum、&outData);
CSL_GPIO_setOutputData (hGpio、pinNum);
CSL_GPIO_getOutputData (hGpio、pinNum、&outData);

if (CSL_GPIO_getInterruptStatus (hGpio、pinNum)=0)
{
//未发生中断
printf ("不需要");
}
其他
{
CSL_GPIO_clearInterruptStatus (hGpio、pinNum);
}

CSL_armGicTriggerSWIntr (&gCpuIntif、120U);
while (a!=1){
dummy=dummy+1;
}

printf (出现"GPIO 中断\n");

返回0;
} 

我已经尝试过多个其他组合、但从未调用中断。 如果对错误有任何帮助、我们将不胜感激

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    请查看以下主题:
    e2e.ti.com/.../428074
    e2e.ti.com/.../171824
    e2e.ti.com/.../215247

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、yordan、感谢您的快速回复。

    我已经了解了您提供的所有链接、我认为我无法正确地传达我的系统是通过 K2E 的 ARM 内核运行的、虽然我了解中断是如何为 DSP 内核配置的、但同样的过程不能用于 ARM 内核、因为多个问题、例如不同的汇编函数或不同的事件 ID 等。第一个链接解释了也是 DSP 区域一部分的 CIC0。

    此致、
    Hannan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Hannan、

    很抱歉我的错误。 我已通知 RTOS 团队。 他们的反馈将直接发布在此处。

    此致、
    Yordan