Re: TI compiler

Bob von Knobloch <[email protected]> Wed, 22 Mar 2017 15:54:12 +0100
Newsgroups gmane.comp.hardware.texas-instruments.msp430.gcc.user
Message-ID <[email protected]>
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=B5seconds. My application is processing bits in the interrupt =

at 9600 Baud, which is 104.2=B5sec/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