ARM Cortex-M Microcontroller startup files

Iain Buclaw via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 27 01:06:29 PDT 2015


On 27 April 2015 at 09:47, Iain Buclaw <ibuclaw at gdcproject.org> wrote:
> On 27 April 2015 at 09:34, Mike via Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
>> On Monday, 27 April 2015 at 05:22:55 UTC, Timo Sintonen wrote:
>>>
>>> On Monday, 27 April 2015 at 05:19:52 UTC, Timo Sintonen wrote:
>>>
>>> Oops, I forget to uncomment the m4 options. The correct version is
>>>>
>>>>
>>>> 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
>>
>>
>> The toolchain at https://launchpad.net/gcc-arm-embedded doesn't require this
>> modification, so I'm wondering if there's another way.  My understanding is
>> that this is unlreated to GDC itself, so we should be able to follow
>> essentially the same procedure as the embedded C/C++ toolchains, right?
>>
>> They have their build scripts included in their source package, so I spent a
>> little time analyzing their build scripts today, and I see they are using
>> the following config option:
>>
>> "--with-multilib-list=armv6-m,armv7-m,armv7e-m,cortex-m7,armv7-r"
>>
>> I'm wondering if that alone will do it.  I guess I'll give it a try later
>> and let you all know what I find.
>>
>
> From what I'm reading in config.gcc, ARM does not support
> --with-multilib-list= *except* for 'default' and 'aprofile'.  So
> Ubuntu/Canonical must be applying local patches to get that working.
>

Yep!  Here's the local patch:  http://pastebin.com/D3RmCNMf

Regards
Iain


More information about the Digitalmars-d mailing list