mikej42 wrote on Monday, January 12, 2009:
You are quite right that the earlier version of the compiler did not correctly identify mistakes in parameter types of this sort, and one version checked them, but got it wrong!
If a parameter refers to ROM space (const rom), the version strncpypgm2ram must be used so the correct memory space is accessed. As you have noticed the incorrect call may not be detected, and the resulting code will not work!
A final gotcha is that the default memory model for the project is small code, while the libraries are compiled with large code model which can alos cause problems.
I have developed code for the PIC18 quite extensively, but so far have only used FreeRTOS with ARM chips (so far).