New Cortex-M GCC release directly from ARM ?!
-
DrunkenDonkey
- Posts: 124
- Joined: Sun Aug 28, 2011 5:16 pm
Re: New Cortex-M GCC release directly from ARM ?!
It produces quite bigger (both chibi and codesourcery) binary for me, but since I don't have hardware (again) to test it, I'm all for official gcc
Re: New Cortex-M GCC release directly from ARM ?!
JetForMe wrote:Is this a toolchain that can run on Mac OS X?
Yes, should work for OS X if you rebuild it. I have a prebuilt one here, including the build script, for OS X and Linux: http://www.sidebranch.nl/cortexm3/
It is not bleeding-edge, but it is proven.
Regards,
Leon.
Re: New Cortex-M GCC release directly from ARM ?!
Hi guys,
Finally I reveal my Gentoo linux desktop and instal this prebuild compiler. It works fine, but if I call some functions from stdlib (asctime() for example) than I got compile errors:
Priviously I used Yagarto toolchain on WinXP and there was no such errors. So my question, is there way to avoid this errors withot defining my own stub functions?
Finally I reveal my Gentoo linux desktop and instal this prebuild compiler. It works fine, but if I call some functions from stdlib (asctime() for example) than I got compile errors:
Code: Select all
/opt/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/lib/armv7e-m/libc.a(lib_a-abort.o): In function `abort':
abort.c:(.text+0xa): undefined reference to `_exit'
/opt/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/lib/armv7e-m/libc.a(lib_a-signalr.o): In function `_kill_r':
signalr.c:(.text+0xe): undefined reference to `_kill'
/opt/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../../arm-none-eabi/lib/armv7e-m/libc.a(lib_a-signalr.o): In function `_getpid_r':
signalr.c:(.text+0x28): undefined reference to `_getpid'Priviously I used Yagarto toolchain on WinXP and there was no such errors. So my question, is there way to avoid this errors withot defining my own stub functions?
Re: New Cortex-M GCC release directly from ARM ?!
Hello barthess,
I carry the following defines:
stubs.c:
and stubs.h
Haven't discovered any side effects ^^ (Greetings from Dubai Airport)
I carry the following defines:
stubs.c:
Code: Select all
/*
* stubs.c
*
* Created on: Jul 10, 2011
* Author: mabl
*/
#include <stdio.h>
#include "ch.h"
#include "hal.h"
#include "stubs.h"
// FIXME: Stubs - HATE THEM
void _exit(int status){
(void) status;
chSysHalt();
while(TRUE){}
}
pid_t _getpid(void){
return 1;
}
void _kill(pid_t id){
(void) id;
}
/* guard variables */
int __cxa_guard_acquire(__guard *g) {return !*(char *)(g);};
void __cxa_guard_release (__guard *g) {*(char *)g = 1;};
void __cxa_guard_abort (__guard * g __attribute__((unused))) {};
and stubs.h
Code: Select all
/*
* stubs.h
*
* Created on: Aug 6, 2011
* Author: mabl
*/
#ifndef STUBS_H_
#define STUBS_H_
///* The ABI requires a 64-bit type. */
__extension__ typedef int __guard __attribute__((mode (__DI__)));
int __cxa_guard_acquire(__guard *);
void __cxa_guard_release (__guard *);
void __cxa_guard_abort (__guard *);
void *__dso_handle = NULL;
#endif /* STUBS_H_ */
Haven't discovered any side effects ^^ (Greetings from Dubai Airport)
-
DrunkenDonkey
- Posts: 124
- Joined: Sun Aug 28, 2011 5:16 pm
Re: New Cortex-M GCC release directly from ARM ?!
They have released an updated version, that now generates way smaller code than yagarto and way faster, at least my RSA calcuation code went down 4k and encryption from 54 to 47 seconds, I'm officially in love with that toolchain now 
- Giovanni
- Site Admin
- Posts: 14891
- Joined: Wed May 27, 2009 8:48 am
- Has thanked: 1202 times
- Been thanked: 996 times
Re: New Cortex-M GCC release directly from ARM ?!
Interesting, I ran the test scripts on it:
YAGARTO 4.6.2:
ARM GCC 4.6.2:
Performance is not much different, some TC a bit faster others a bit slower.
Giovanni
YAGARTO 4.6.2:
Code: Select all
Platform : PowerPC
OS Setup : Full kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 12136
Platform : PowerPC
OS Setup : Full kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 11660
Platform : PowerPC
OS Setup : Minimal kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -O2
Kernel Size = 2196
Platform : PowerPC
OS Setup : Full kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -Os -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 10664
Platform : PowerPC
OS Setup : Full kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -Os -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 10124
Platform : PowerPC
OS Setup : Minimal kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -Os
Kernel Size = 2220
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 6312
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 5892
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -mthumb
Kernel Size = 1496
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5672
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 5344
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -mthumb
Kernel Size = 1332
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5628
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 5408
Platform : ARM Cortex-M0
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -mthumb
Kernel Size = 1356
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5120
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 4968
Platform : ARM Cortex-M0
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -mthumb
Kernel Size = 1220
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 9424
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 8876
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2
Kernel Size = 1932
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 8616
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 8240
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os
Kernel Size = 1676
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 6184
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5948
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1384
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5700
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5512
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GCC) 4.6.2
Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1256
Platform : MSP430
OS Setup : Full kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 6592
Platform : MSP430
OS Setup : Full kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 6164
Platform : MSP430
OS Setup : Minimal kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -O2
Kernel Size = 1164
Platform : MSP430
OS Setup : Full kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -Os -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5888
Platform : MSP430
OS Setup : Full kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -Os -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 5584
Platform : MSP430
OS Setup : Minimal kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -Os
Kernel Size = 988
ARM GCC 4.6.2:
Code: Select all
Platform : PowerPC
OS Setup : Full kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 12136
Platform : PowerPC
OS Setup : Full kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 11660
Platform : PowerPC
OS Setup : Minimal kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -O2
Kernel Size = 2196
Platform : PowerPC
OS Setup : Full kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -Os -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 10664
Platform : PowerPC
OS Setup : Full kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -Os -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 10124
Platform : PowerPC
OS Setup : Minimal kernel
Compiler : powerpc-eabi-gcc (Sourcery G++ Lite 4.4-79) 4.4.1
Options : -Os
Kernel Size = 2220
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 6504
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 6060
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -mthumb
Kernel Size = 1480
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5624
Platform : ARM Cortex-M3
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 5296
Platform : ARM Cortex-M3
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -mthumb
Kernel Size = 1316
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5832
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 5600
Platform : ARM Cortex-M0
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -mthumb
Kernel Size = 1356
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5120
Platform : ARM Cortex-M0
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 4968
Platform : ARM Cortex-M0
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -mthumb
Kernel Size = 1220
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 9424
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 8876
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2
Kernel Size = 1932
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 8616
Platform : ARM7TDMI (ARM mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 8240
Platform : ARM7TDMI (ARM mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os
Kernel Size = 1676
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 6184
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5948
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -O2 -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1384
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=TRUE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5700
Platform : ARM7TDMI (THUMB mode)
OS Setup : Full kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -mthumb -DCH_OPTIMIZE_SPEED=FALSE -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 5512
Platform : ARM7TDMI (THUMB mode)
OS Setup : Minimal kernel
Compiler : arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 20120316 (release) [ARM/embedded-4_6-branch revision 185452]
Options : -Os -mthumb -DTHUMB -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING
Kernel Size = 1256
Platform : MSP430
OS Setup : Full kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -O2 -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 6592
Platform : MSP430
OS Setup : Full kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -O2 -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 6164
Platform : MSP430
OS Setup : Minimal kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -O2
Kernel Size = 1164
Platform : MSP430
OS Setup : Full kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -Os -DCH_OPTIMIZE_SPEED=TRUE
Kernel Size = 5888
Platform : MSP430
OS Setup : Full kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -Os -DCH_OPTIMIZE_SPEED=FALSE
Kernel Size = 5584
Platform : MSP430
OS Setup : Minimal kernel
Compiler : msp430-gcc (GCC) 4.6.3 20120301 (mspgcc LTS 20120406 unpatched)
Options : -Os
Kernel Size = 988
Performance is not much different, some TC a bit faster others a bit slower.
Giovanni
-
DrunkenDonkey
- Posts: 124
- Joined: Sun Aug 28, 2011 5:16 pm
Re: New Cortex-M GCC release directly from ARM ?!
Great test suite you got there 
I'm using only Os, quite flash size limited and went from 24 to 20 on the crypto code, maybe just hit something that ARM toolchain likes to optimize, mainly math in there. Btw you used the Update 1 they have posted right? Because with the original ARM 4.6.2 they posted yagarto was the winner
I'm using only Os, quite flash size limited and went from 24 to 20 on the crypto code, maybe just hit something that ARM toolchain likes to optimize, mainly math in there. Btw you used the Update 1 they have posted right? Because with the original ARM 4.6.2 they posted yagarto was the winner