Page 1 of 1

SB-17: Salvo: Problems with MPLAB-C18 v2.2x

PostPosted: Fri May 16, 2003 12:50 am
by Salvo Tech Support
Applies To

MPLAB-C18 v2.20.

Description of Problem

MPLAB-C18's new procedural abstraction optimization causes run-time problems in Salvo tasks.

Specifically, an task with two or more context switches (OS_Xyz()) will fail to execute properly. Run-time behavior is therefore unknown.

The root of the problem is the procedural abstraction optimization introduced in MPLAB-C18 v2.2, and the method whereby functions that are procedurally abstracted are called through an intermediate / extra call...return stack level.

Suggested Workaround

Disable procedural abstraction optimizations (which are enabled by default) by applying the -Opa- command-line switch to every source-code module that contains Salvo tasks.

Fixed In

This is an MPLAB-C18 issue for which there does not appear to be a workaround except for disabling procedural optimizations on a per-module basis. Whether a more elegant solution will be presented is unknown.

Salvo Technical Support
Please request all tech support through the Forums.