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