The MSP430 compilter (V4.1.2) within CCS5.3 appears to have a defect in the initialised data area decompression code (it stores initialised globals as compressed constants) and decompresses prior to the execution reaching main. The defect results in the init code locking up at run time when a non-constant 2D array is used (eg short whatever[8][8]={0,1,2,3,....64}; for example. Presumably this is in relocating the first index of pointers? If it is declared as const then works correctly.
This problem can be replicated by including the MSP430ware driverlib (v1.40) and and using any example which includes "MSP430F5xx_6xx/usci_a_uartbauderate.c" . This results in usci_a_uartbaudrate_UCSx_mod[8][8] being defined by the library which will lock up the taget prior to main().
There is more than one issue here:
(1) why isnt the above symbol defined as CONST within driverlib; as it clearly is!?
(2) why did the compiler testing fail to locate such an obvious defect in initialising the symbol table?
(3) I have tried emailing technical support via the webform but the e-mail keeps bouncing back as apparently their e-mail box is over quota?!!