summaryrefslogtreecommitdiff
path: root/compiler/arm
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-04-19 20:59:52 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-04-19 20:59:52 +0000
commit2255f866a9ea0fa853a81d488d16f49011f48c31 (patch)
treeb1a4f5fdc2852d19cf407a78613c0e30d8bf65be /compiler/arm
parent32794e2a57cdd16585506e52824ce0ca7252e962 (diff)
downloadfpc-2255f866a9ea0fa853a81d488d16f49011f48c31.tar.gz
+ initial support for arm-freertos largely based on patch by Michael Ring
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@44871 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/arm')
-rw-r--r--compiler/arm/agarmgas.pas2
-rw-r--r--compiler/arm/cpuelf.pas2
-rw-r--r--compiler/arm/cpuinfo.pas10
-rw-r--r--compiler/arm/cputarg.pas4
4 files changed, 14 insertions, 4 deletions
diff --git a/compiler/arm/agarmgas.pas b/compiler/arm/agarmgas.pas
index a24f9365cf..e51b715f41 100644
--- a/compiler/arm/agarmgas.pas
+++ b/compiler/arm/agarmgas.pas
@@ -442,7 +442,7 @@ unit agarmgas;
asmbin : 'as';
asmcmd : '-o $OBJ $EXTRAOPT $ASM';
supported_targets : [system_arm_linux,system_arm_netbsd,system_arm_wince,system_arm_gba,system_arm_palmos,system_arm_nds,
- system_arm_embedded,system_arm_symbian,system_arm_android,system_arm_aros];
+ system_arm_embedded,system_arm_symbian,system_arm_android,system_arm_aros,system_arm_freertos];
flags : [af_needar,af_smartlink_sections];
labelprefix : '.L';
comment : '# ';
diff --git a/compiler/arm/cpuelf.pas b/compiler/arm/cpuelf.pas
index ad48f706e4..311b5144f0 100644
--- a/compiler/arm/cpuelf.pas
+++ b/compiler/arm/cpuelf.pas
@@ -974,7 +974,7 @@ implementation
supported_targets : [system_arm_embedded,system_arm_darwin,
system_arm_linux,system_arm_netbsd,
system_arm_gba,system_arm_nds,
- system_arm_aros];
+ system_arm_aros,system_arm_freertos];
flags : [af_outputbinary,af_smartlink_sections,af_supports_dwarf];
labelprefix : '.L';
comment : '';
diff --git a/compiler/arm/cpuinfo.pas b/compiler/arm/cpuinfo.pas
index 5f809a5ef9..3dee47ea97 100644
--- a/compiler/arm/cpuinfo.pas
+++ b/compiler/arm/cpuinfo.pas
@@ -347,6 +347,9 @@ Type
ct_stm32f756xe,
ct_stm32f756xg,
+ ct_stm32g071rb,
+ ct_nucleog071rb,
+
{ TI - Fury Class - 64 K Flash, 16 K SRAM Devices }
ct_lm3s1110,
ct_lm3s1133,
@@ -819,8 +822,8 @@ Const
(controllertypestr:'STM32F401RD'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00060000; srambase:$20000000; sramsize:$00018000),
(controllertypestr:'STM32F401VD'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00060000; srambase:$20000000; sramsize:$00018000),
(controllertypestr:'STM32F401CE'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000),
- (controllertypestr:'STM32F401RE'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000),
- (controllertypestr:'NUCLEOF401RE'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000),
+ (controllertypestr:'STM32F401RE'; controllerunitstr:'STM32F401XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000),
+ (controllertypestr:'NUCLEOF401RE'; controllerunitstr:'STM32F401XE'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000),
(controllertypestr:'STM32F401VE'; controllerunitstr:'STM32F401XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20000000; sramsize:$00018000),
(controllertypestr:'STM32F407VG'; controllerunitstr:'STM32F407XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00020000),
(controllertypestr:'DISCOVERYF407VG'; controllerunitstr:'STM32F407XX'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20000000; sramsize:$00020000),
@@ -870,6 +873,9 @@ Const
(controllertypestr:'STM32F756XE'; controllerunitstr:'STM32F756'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00080000; srambase:$20010000; sramsize:$00040000),
(controllertypestr:'STM32F756XG'; controllerunitstr:'STM32F756'; cputype:cpu_armv7em; fputype:fpu_soft; flashbase:$08000000; flashsize:$00100000; srambase:$20010000; sramsize:$00040000),
+ (controllertypestr:'STM32G071RB' ; controllerunitstr:'STM32G071XX' ; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00009000),
+ (controllertypestr:'NUCLEOG071RB' ; controllerunitstr:'STM32G071XX' ; cputype:cpu_armv6m; fputype:fpu_soft; flashbase:$08000000; flashsize:$00020000; srambase:$20000000; sramsize:$00009000),
+
(controllertypestr:'LM3S1110'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000),
(controllertypestr:'LM3S1133'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000),
(controllertypestr:'LM3S1138'; controllerunitstr:'LM3FURY'; cputype:cpu_armv7m; fputype:fpu_soft; flashbase:$00000000; flashsize:$00010000; srambase:$20000000; sramsize:$00004000),
diff --git a/compiler/arm/cputarg.pas b/compiler/arm/cputarg.pas
index 5d5e280729..5e3f3c31a6 100644
--- a/compiler/arm/cputarg.pas
+++ b/compiler/arm/cputarg.pas
@@ -68,6 +68,10 @@ implementation
{$ifndef NOTARGETAROS}
,t_aros
{$endif}
+ {$ifndef NOTARGETFREERTOS}
+ ,t_freertos
+ {$endif}
+
{**************************************
Assemblers