source: rtos_arduino/trunk/asp_1.9.2/arch/arm_m_gcc/common/Makefile.core@ 136

Last change on this file since 136 was 136, checked in by ertl-honda, 8 years ago

ライブラリとOS及びベーシックなサンプルの追加.

File size: 2.5 KB
Line 
1#
2# @(#) $Id: Makefile.core 2712 2015-11-23 06:50:34Z ertl-honda $
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_M4)
39 ARM_ARCH = ARMV7M
40 COPTS := $(COPTS) -mcpu=cortex-m4
41 CDEFS := $(CDEFS) -DTOPPERS_CORTEX_M4
42 FPU_ARCH_MACRO = __TARGET_FPU_FPV4_SP
43 FPU_ARCH_OPT = fpv4-sp-d16
44else ifeq ($(CORE_TYPE),CORTEX_M0PLUS)
45 ARM_ARCH = ARMV6M
46 COPTS := $(COPTS) -mcpu=cortex-m0plus
47 CDEFS := $(CDEFS) -DTOPPERS_CORTEX_M0PLUS
48else ifeq ($(CORE_TYPE),CORTEX_M0)
49 ARM_ARCH = ARMV6M
50 COPTS := $(COPTS) -mcpu=cortex-m0
51 CDEFS := $(CDEFS) -DTOPPERS_CORTEX_M0
52else ifeq ($(CORE_TYPE),CORTEX_M3)
53 ARM_ARCH = ARMV7M
54 COPTS := $(COPTS) -mcpu=cortex-m3
55 CDEFS := $(CDEFS) -DTOPPERS_CORTEX_M3
56endif
57
58#
59# アーキテクチャ毎に異なる設定
60#
61ifeq ($(ARM_ARCH),ARMV7M)
62 KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) core_support.o
63 CDEFS := $(CDEFS) -D__TARGET_ARCH_THUMB=4
64else ifeq ($(ARM_ARCH),ARMV6M)
65 KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) core_support_v6m.o
66 CDEFS := $(CDEFS) -D__TARGET_ARCH_THUMB=3
67endif
68
69#
70# FPUの設定
71#
72ifeq ($(FPU_ABI),)
73 FPU_ABI = softfp
74endif
75
76ifeq ($(FPU_USAGE),FPU_NO_PRESERV)
77 COPTS := $(COPTS) -mfloat-abi=$(FPU_ABI) -mfpu=$(FPU_ARCH_OPT)
78 CDEFS := $(CDEFS) -D$(FPU_ARCH_MACRO) -DTOPPERS_FPU_ENABLE
79else ifeq ($(FPU_USAGE),FPU_NO_LAZYSTACKING)
80 COPTS := $(COPTS) -mfloat-abi=$(FPU_ABI) -mfpu=$(FPU_ARCH_OPT)
81 CDEFS := $(CDEFS) -D$(FPU_ARCH_MACRO) -DTOPPERS_FPU_ENABLE -DTOPPERS_FPU_NO_LAZYSTACKING -DTOPPERS_FPU_CONTEXT
82else ifeq ($(FPU_USAGE),FPU_LAZYSTACKING)
83 COPTS := $(COPTS) -mfloat-abi=$(FPU_ABI) -mfpu=$(FPU_ARCH_OPT)
84 CDEFS := $(CDEFS) -D$(FPU_ARCH_MACRO) -DTOPPERS_FPU_ENABLE -DTOPPERS_FPU_LAZYSTACKING -DTOPPERS_FPU_CONTEXT
85endif
86
87
88#
89# 依存関係の定義
90#
91cfg1_out.c: $(COREDIR)/core_def.csv
92kernel_cfg.timestamp: $(COREDIR)/core.tf
93
94#
95# コンフィギュレータ関係の変数の定義
96#
97CFG_TABS := $(CFG_TABS) --cfg1-def-table $(COREDIR)/core_def.csv
Note: See TracBrowser for help on using the repository browser.