Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2012-09

ARM embedded

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Rainer Stratmann

Got the ARM crosscompiler under Linux running.
Thanks to Jeppe Johansen!

Before it runs I deleted some of the CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL identifiers below. Because the linker gaves warnings/errors. As I understand does the thumb2 mode not support this mnemonics.

Is it possible to set
flashbase, flashsize, srambase, sramsize
of the used cpu individually?

File: compiler/arm/cpuinfo.pas

const
cpu_capabilities : array[tcputype] of set of tcpuflags = ( { cpu_none } [],
{ cpu_armv3 } [],
{ cpu_armv4 } [],
{ cpu_armv4t } [CPUARM_HAS_BX],
{ cpu_armv5 }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ], { cpu_armv5t }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ], { cpu_armv5te }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP], { cpu_armv5tej }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP], { cpu_armv6 }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX], { cpu_armv6k }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX], { cpu_armv6t2 }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX], { cpu_armv6z }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX], { the identifier armv7 is should not be used, it is considered being equal to armv7a }
{ cpu_armv7 }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX], { cpu_armv7a }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX], { cpu_armv7r }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX], { cpu_armv7m }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX,CPUARM_HAS_IDIV], { cpu_armv7em }
[CPUARM_HAS_BX,CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL,CPUARM_HAS_CLZ,CPUARM_HAS_EDSP,CPUARM_HAS_REV,CPUARM_HAS_LDREX,CPUARM_HAS_IDIV]

     );

Reply by email

Florian Klämpfl
to Rainer Stratmann
Rainer Stratmann wrote 10 lines
Got the ARM crosscompiler under Linux running. Thanks to Jeppe Johansen! Before it runs I deleted some of the CPUARM_HAS_BLX,CPUARM_HAS_BLX_LABEL identifiers below. Because the linker gaves warnings/errors. As I understand does the thumb2 mode not support this mnemonics. Is it possible to set flashbase, flashsize, srambase, sramsize of the used cpu individually?

I would prefer if you provide a patch for the cpu you are using. Or are there any configurable CPUs?

Reply by email