bradp Posted August 10, 2009 Share Posted August 10, 2009 The Power PMAC has two major types of CPLCs and several priority levels for CPLCs. There are CPLCs (some are technically functions) that execute in the RTOS. In order of priority, these are as follows. 1. User Phase -> C function called by the PMAC Kernel during the Phase Interrupt. 2. User Servo -> C function called by the PMAC Kernel during the Servo Interrupt. 3. RTIPLCC -> C function called by the PMAC Kernel during the RTI. 4. User PLCC -> C function called by the PMAC Kernel in between each scan of a Script PLC. And there are the background CPLCs which run in the GPOS. There are essentially two operational modes for the background CPLCs. 1. Normal Mode -> CPLC scans based on the Linux fairness algorithm. 2. Timer Mode -> CPLC scans based on a timer in GPOS. To invoke this mode you must add these lines to the CPLC code above the "main()" as below. struct sched_param param; param.__sched_priority = 10; // timer value in milliseconds pthread_setschedparam(pthread_self(), SCHED_FIFO, ¶m); int main(void) { return 0; } Link to comment Share on other sites More sharing options...
Recommended Posts