Hello, has anyone already succesfully configured the wonderful PC-Lint tool for RTX166? I mean, configured so that it does recognize the RTX166 specific sintax for task functions declaration... Thanks- Stefano Costa
Hi Stefano, I did a port from existing LNT file to that for XC16x. But for Tasks may be you can use as I did for interrupts.
//lint -e20 -e745 -e10 void NMI_Trap(void)interrupt NMIIRQ=NMI_TRAP { NMI_SWITCH_PRESSED=1; TFR=0; } //lint +e20 +e745 +e10
Thanks Stefan!!! Today I did some tests and found that adding a couple of PC-Lint configuration comments at the beginning of each module using RTX166 tasks does the trick: /*lint -d_task_=_gobble */ /*lint -d_priority_=_gobble */ This makes both _task_ and _priority_ errors suppressed. I also added to CO-KC166.LNT the error mask for the new registers of the XC family (with a series of -esym tokens) as you already did I suppose. By doing so, I discovered that a few XC registers have been erroneously declared twice in the Keil XC header. Thanks again.
Might as well add the keyword gobbling commands to your CO-KC166.LNT file, and save the trouble of adding the comments to each module.
Hi Stefano, thanks for your hint. And really for laying XC161 / XC167 together with the XC164 in one header, some registers are defined twice. ( Header - delivered with µVision2 V2.38a C166 V4.27 ) These ared defined twice: ALTSEL0P1H,ALTSEL0P1H_P0,ALTSEL0P1H_P1, ALTSEL0P1H_P2,ALTSEL0P1H_P3,ALTSEL0P1H_P4, ALTSEL0P1H_P5,ALTSEL0P1H_P6,ALTSEL0P1H_P7 I simply supressed these with -esym(31,.....) Stefan