ARM Cortex-M Microcontroller startup files
Mike via Digitalmars-d
digitalmars-d at puremagic.com
Mon Apr 27 21:05:13 PDT 2015
On Tuesday, 28 April 2015 at 00:34:42 UTC, Mike wrote:
>> The build script:
>> ../gcc/configure --disable-bootstrap \
>> --enable-languages=c,d --disable-nls --target=arm-eabi \
>> --without-headers --with-newlib --without-isl --without-cloog
>> \
>> --disable-libphobos --disable-libstdcxx --disable-libbacktrace\
>> --enable-multilib
>>
>> And I replace the whole gcc/config/arm/t-arm-elf with this:
>> MULTILIB_OPTIONS +=
>> mcpu=cortex-m0/mcpu=cortex-m3/mcpu=cortex-m4
>> mfloat-abi=hard mfpu=fpv4-sp-d16
>> MULTILIB_DIRNAMES += cortex-m0 cortex-m3 cortex-m4
>> MULTILIB_REQUIRED += mcpu=cortex-m0
>> MULTILIB_REQUIRED += mcpu=cortex-m3
>> MULTILIB_REQUIRED += mcpu=cortex-m4 #/mfloat-abi=hard
>> #/mfpu=fpv4-sp-d16
>> MULTILIB_EXTRA_OPTS += mthumb
>>
[...]
>
> If you suspect it might work for GCC 4.9.2, I'll give it a try.
I tested this script generating an arm-none-eabil 4.9.2
cross-compiler with a 4.9.2 host. My build script is here:
https://github.com/JinShil/arm-none-eabi-gdc
The lib dir looks like this:
lib
└── gcc
└── arm-none-eabi
└── 4.9.2
├── cortex-m0
├── cortex-m3
├── cortex-m4
├── include
├── include-fixed
├── install-tools
│ └── include
└── plugin
└── include
├── ada
│ └── gcc-interface
├── c-family
├── config
│ └── arm
├── cp
├── d
├── java
└── objc
The "cortex-m{x}" folder have the following files:
crtbegin.o crtend.o crti.o crtn.o libgcc.a libgcov.a
I haven't tried to compile anything yet though. Again, none of
my software uses these binaries.
Mike
More information about the Digitalmars-d
mailing list