source: azure_iot_hub_f767zi/trunk/asp_baseplatform/arch/arm_m_gcc/common/Makefile.core

Last change on this file was 457, checked in by coas-nagasima, 4 years ago

ファイルを追加

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-makefile;charset=UTF-8
File size: 2.6 KB
Line 
1#
2# @(#) $Id$
3#
4
5#
6# Makefile のプロセッサ依存部(ARM-M用)
7#
8
9#
10# コア依存部ディレクトリ名の定義
11#
12COREDIR = $(SRCDIR)/arch/$(PRC)_$(TOOL)/common
13
14#
15# ツール依存部ディレクトリ名の定義
16#
17TOOLDIR = $(SRCDIR)/arch/$(TOOL)
18
19#
20# コンパイルオプション
21#
22COPTS := $(COPTS) -mthumb
23INCLUDES := $(INCLUDES) -I$(COREDIR) -I$(TOOLDIR)
24LDFLAGS := $(LDFLAGS)
25CDEFS := $(CDEFS)
26LIBS := $(LIBS) -lgcc
27
28#
29# カーネルに関する定義
30#
31KERNEL_DIR := $(KERNEL_DIR) $(COREDIR)
32KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
33KERNEL_COBJS := $(KERNEL_COBJS) core_config.o
34
35#
36# コアのタイプによる違い
37#
38ifeq ($(CORE_TYPE),CORTEX_M7)
39 ARM_ARCH = ARMV7M
40 COPTS := $(COPTS) -mcpu=cortex-m7
41 CDEFS := $(CDEFS) -DTOPPERS_CORTEX_M4
42ifeq ($(FPU_ARCH_MACRO),__TARGET_FPU_FPV5_DP)
43 FPU_ARCH_OPT = fpv5-d16
44else
45 FPU_ARCH_MACRO = __TARGET_FPU_FPV4_SP
46 FPU_ARCH_OPT = fpv4-sp-d16
47endif
48else ifeq ($(CORE_TYPE),CORTEX_M4)
49 ARM_ARCH = ARMV7M
50 COPTS := $(COPTS) -mcpu=cortex-m4
51 CDEFS := $(CDEFS) -DTOPPERS_CORTEX_M4
52 FPU_ARCH_MACRO = __TARGET_FPU_FPV4_SP
53 FPU_ARCH_OPT = fpv4-sp-d16
54else ifeq ($(CORE_TYPE),CORTEX_M0PLUS)
55 ARM_ARCH = ARMV6M
56 COPTS := $(COPTS) -mcpu=cortex-m0plus
57 CDEFS := $(CDEFS) -DTOPPERS_CORTEX_M0PLUS
58else ifeq ($(CORE_TYPE),CORTEX_M0)
59 ARM_ARCH = ARMV6M
60 COPTS := $(COPTS) -mcpu=cortex-m0
61 CDEFS := $(CDEFS) -DTOPPERS_CORTEX_M0
62else ifeq ($(CORE_TYPE),CORTEX_M3)
63 ARM_ARCH = ARMV7M
64 COPTS := $(COPTS) -mcpu=cortex-m3
65 CDEFS := $(CDEFS) -DTOPPERS_CORTEX_M3
66endif
67
68#
69# アーキテクチャ毎に異なる設定
70#
71ifeq ($(ARM_ARCH),ARMV7M)
72 KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) core_support.o
73 CDEFS := $(CDEFS) -D__TARGET_ARCH_THUMB=4
74else ifeq ($(ARM_ARCH),ARMV6M)
75 KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) core_support_v6m.o
76 CDEFS := $(CDEFS) -D__TARGET_ARCH_THUMB=3
77endif
78
79#
80# FPUの設定
81#
82ifeq ($(FPU_USAGE),FPU_NO_PRESERV)
83 COPTS := $(COPTS) -mfloat-abi=$(FPU_ABI) -mfpu=$(FPU_ARCH_OPT)
84 CDEFS := $(CDEFS) -D$(FPU_ARCH_MACRO) -DTOPPERS_FPU_ENABLE
85else ifeq ($(FPU_USAGE),FPU_NO_LAZYSTACKING)
86 COPTS := $(COPTS) -mfloat-abi=$(FPU_ABI) -mfpu=$(FPU_ARCH_OPT)
87 CDEFS := $(CDEFS) -D$(FPU_ARCH_MACRO) -DTOPPERS_FPU_ENABLE -DTOPPERS_FPU_NO_LAZYSTACKING -DTOPPERS_FPU_CONTEXT
88else ifeq ($(FPU_USAGE),FPU_LAZYSTACKING)
89 COPTS := $(COPTS) -mfloat-abi=$(FPU_ABI) -mfpu=$(FPU_ARCH_OPT)
90 CDEFS := $(CDEFS) -D$(FPU_ARCH_MACRO) -DTOPPERS_FPU_ENABLE -DTOPPERS_FPU_LAZYSTACKING -DTOPPERS_FPU_CONTEXT
91endif
92
93
94#
95# 依存関係の定義
96#
97cfg1_out.c: $(COREDIR)/core_def.csv
98kernel_cfg.timestamp: $(COREDIR)/core.tf
99
100#
101# コンフィギュレータ関係の変数の定義
102#
103CFG_TABS := $(CFG_TABS) --cfg1-def-table $(COREDIR)/core_def.csv
Note: See TracBrowser for help on using the repository browser.