Apparently CW only allows #pragma section for initialized data, if an uninitialized section is used in the declspec, the compiler issues an error. In effect, all uninitialized data must go into the (single) BSS segment.
Obviously I don't want all uninitialized data to go into graphics memory, so I put the declaration of the graphics memory buffer into a separate file gfx.c:
uint8_t Vram[240*320];
and in the LCF file I added:
MEMORY{ graphics_ram : org = 0x60000000, len = 0x00028000}GROUP : { .graphicsBSS (BSS) : { gfx.o (.bss) } } > graphics_ramAlthough the compiler only allows a single BSS segment, the linker allows different BSS segments for different files. At least this seems to work, although I now have to put all graphics descriptor data into separate files. If there is another way of creating and using a separate uninitialized data segment, I'd be glad to know it.