Further work: having got the compilation under a size which fitted into the flash, I found that the code did not run. (This is the same source code that worked fine when compiled with the 'old' mspgcc compiler.) Inspecting the assembly, I found that the interrupt was suspect. The 'old' code pushed the registers that it needed, the 'new' TI compiler pushes (and, of course, later pulls) all of the registers from r4 - r15 inclusive. This puts a time overhead (a 5 cycles / push & 1MHz clock) of 90µseconds. My application is processing bits in the interrupt at 9600 Baud, which is 104.2µsec/bit. Clearly the interrupt overflows in time. OK, I would be better off writing the interrupt in assembler, but it seems quite wasteful to push/pull ALL of the registers (R1, 2 & 3 are for other purposes). It seems that the 'old' compiler was very well optimised. Maybe this helps someone.
Cheers, Bob -- The Sun is out, the sky is blue, it's time to drive the MR2. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Mspgcc-users mailing list Mspgcc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mspgcc-users