source: ssp_armv6_m_gcc/tags/1.3.0/target/lpcxpresso_lpc812_gcc/Makefile.target@ 86

Last change on this file since 86 was 86, checked in by nmir-saito, 9 years ago

add separate package of SSP kernel for ARMv6-M

File size: 3.1 KB
Line 
1#
2# Makefile のターゲット依存部(LPCXPRESSO-LPC812用)
3#
4
5#
6# ボード名,プロセッサ名,開発環境名の定義
7#
8BOARD = lpcxpresso_lpc812
9PRC = armv6_m
10TOOL = gcc
11
12#
13# CMSIS を使うかどうか
14#
15
16USE_CMSIS = false
17CMSIS_INCLUDE_PATH = /Users/saito/Documents/LPCXpresso_5.2.4/workspace/CMSIS_CORE_LPC8xx/inc
18CMSIS_LIB_PATH = /Users/saito/Documents/LPCXpresso_5.2.4/workspace/CMSIS_CORE_LPC8xx/Debug
19
20#
21# MTB(Micro Trace Buffer)を使うかどうか
22#
23
24USE_MTB = false
25MTB_BUF_SIZE = 64
26
27#
28# GNU開発環境のターゲットアーキテクチャの定義
29#
30GCC_TARGET = arm-none-eabi
31
32#
33# 各セグメントの開始アドレスの定義
34#
35
36#
37# コンパイルオプション
38#
39INCLUDES := $(INCLUDES) -I$(TARGETDIR)
40CDEFS := $(CDEFS) -D__NEWLIB__
41COPTS := $(COPTS) -mcpu=cortex-m0 -mthumb
42
43#
44# カーネルに関する定義
45#
46KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
47KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) target_support.o
48KERNEL_COBJS := $(KERNEL_COBJS) target_config.o target_serial.o
49KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fno-strict-aliasing
50
51#
52# システムサービスに関する定義
53#
54SYSSVC_DIR := $(SYSSVC_DIR)
55SYSSVC_COBJS := $(SYSSVC_COBJS)
56SYSSVC_CFLAGS := $(SYSSVC_CFLAGS)
57
58#
59# コンフィギュレータ関係の変数の定義
60#
61CFG_TABS := $(CFG_TABS) --cfg1-def-table $(TARGETDIR)/target_def.csv
62
63#
64# トレースログに関する設定
65#
66ifeq ($(ENABLE_TRACE),true)
67 COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
68 KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace
69 KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o
70endif
71
72#
73# CMSISライブラリ使用時は USE_CMSISをtrueに定義する
74# その場合,LPC8xx.h を include してデバイスレジスタ定義を利用することが可能
75# インクルードファイルのサーチディレクトリとして LPC8xx.h の存在するファイルのパスを指定する
76# (もしくは,LPCXpresso IDE でサーチパスの設定をしても良い)
77#
78# ライブラリファイル(libCMSIS_CORE_LPC8xx.a)の利用は想定していない.
79# 少なくともsystem_LPC8xx.c の SystemInit に相当する処理はSSPのシステム起動時に実施しているので基本的に呼び出す必要はない
80#
81ifeq ($(USE_CMSIS),true)
82 INCLUDES := $(INCLUDES) -I$(CMSIS_INCLUDE_PATH)
83 # 基本的に以下のライブラリファイルは使わないことを前提とする
84 # LIBS := $(LIBS) -lCMSIS_CORE_LPC8xx -L$(CMSIS_LIB_PATH)
85endif
86
87#
88# MTB(Micro Trace Buffer)に関する設定
89# LPCXpresso IDE の利用を前提としている
90#
91ifeq ($(USE_MTB),true)
92 COPTS := $(COPTS) -D__USE_MTB -D__MTB_BUF_SIZE=$(MTB_BUF_SIZE)
93endif
94
95#
96# リンカスクリプトの定義
97#
98LDSCRIPT = $(SRCDIR)/target/$(BOARD)_$(TOOL)/lpcxpresso_lpc812.ld
99
100#
101# スタートアップモジュールに関する定義
102#
103# リンカスクリプトに「STARTUP(start.o)」を記述したため,スタートアップモジュー
104# ルの名前をHIDDEN_OBJSに定義する.また,LDFLAGSに-nostdlibを追加している.
105#
106HIDDEN_OBJS = start.o
107
108$(HIDDEN_OBJS): %.o: %.S
109 $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $<
110
111$(HIDDEN_OBJS:.o=.d): %.d: %.S
112 @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \
113 -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
114
115LDFLAGS := -nostdlib $(LDFLAGS) --entry=_start
116
117#
118# 依存関係の定義
119#
120cfg1_out.c: $(TARGETDIR)/target_def.csv
121kernel_cfg.timestamp: $(TARGETDIR)/target.tf
122$(OBJFILE): $(TARGETDIR)/target_check.tf
123
124#
125# プロセッサ依存部のインクルード
126#
127include $(SRCDIR)/arch/$(PRC)_$(TOOL)/Makefile.prc
Note: See TracBrowser for help on using the repository browser.