Quantcast
Channel: Embedded Software (Read Only)
Viewing all articles
Browse latest Browse all 25965

Forum Post: RE: GateMutexPri not properly locking out task

$
0
0

The Clock module has the "Use Timer to automatically call Clock_tick()" radio button selected. Which is believe uses one of the general purpose timers on the microcontroller. The tick period is set to 1ms. A clock instance is created at runtime using the following code:

Clock_Params clkParams;

Clock_Params_init(&clkParams);
clkParams.period = 1;
clkParams.startFlag = TRUE;
clkParams.arg = (UArg)0x5555;
Clock_create(prd_timer_1ms, 1, &clkParams, NULL);

The function prd_timer_1ms keeps track of a count and every 60 times through will post the event EVT_inverter_cntl I mentioned in the original post. I believe that the prd_timer_1ms is supposed to run at the SWI level not the HWI level.

I'll work on adding some prints in the GateMutexPri_enter code so I can see what's going on inside the function when the problem happens.

Edit:

Looks like SYS/BIOS sets up interrupt 35 for this timer and it is of type 'Dispatched'. Looks like that calls ti_sysbios_knl_Clock_doTick__I which does in fact post a SWI that wakes up the Clock functions as necessary.


Viewing all articles
Browse latest Browse all 25965

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>