Other Parts Discussed in Thread: SYSBIOS, 66AK2H14
Tool/software: TI-RTOS
Hello everyone,
I was trying to use the Hwi to link up a GPIO/SPI event using the ARMCore Pac. There's a guide on how to do this using the DSP's but i'm mainly interested in using the ARM. SysBios includes documentation describing the API.
I've looked up the GIC module and I looked at the technical reference guide but I am still confused between what libraries I should use to accomplish this. I want to accomplish this at runtime. So here are my Questions/ comments
How do i enable these events so that the GIC will pick up on them and let the ARM CPU's handle them not the DSP's?
Looking at the CIC controller diagram, 4 exist on this SoC. There are 480 Shared Peripherial Events that the AINTC listens to, including 36 that come from CIC2.I get lost in the documentation when it comes to the system events, and Interrupts and which module handles what.
I know what event numbers correspond tothe peripherials but i don't know how to map them in the event combiner to trigger a specific interrupt, it looks like the event combiner is specific to the DSP's. There's a Dispatcher mentioned in the SYSBIOS APin the CpIntc module but i'm not sure how to use it.
Also there's a parameter I don't understand in one of the API Descriptions
Function: Cpintc_dispatch(Uint Sysint, Cpintc_funcPtr fxn, UArg arg, Bool unmask)
The Parameter in question is the UArg arg, the others are self explanitaory but this one remains ambiguous to me, its also used in other functions, like the timer. what is this supposed to represent / how is it used, all the api mentions is "Argument to Function", what can this value be?
How does the Dispatcher link the Hwi Module?
Does servicing the Event from a particular peripherial service that Interrupt? EX: XEVT_SPI is triggered, does the system get interrupted, or just a flag is set?
I would like some clarification on this please, also an example / psudocode would be awesome, apologies for my rambling i just have a lot of questions.