The compiler isn't obeying my customized layout of memory resources and functions. What's wrong?


Make sure you're supplying all #pragma directives to BClink. BClink uses the same device configuration information during linking as the compiler does during Absolute Code Mode. BClink performs a final code generation pass over your object files, and needs this information to allocate variables and program code locations.

Either organize the directives in a header file that you can #include in the linker command file, or put the directives in the file directly. In BCLIDE, create a new header file and list it under Project|Properties, in the Include Files list under the Linker tab.