1 | #
|
---|
2 | # Makefile のターゲット依存部(stm32f767_nucleo144用)
|
---|
3 | #
|
---|
4 |
|
---|
5 | #
|
---|
6 | # ボード名,プロセッサ名,開発環境名の定義
|
---|
7 | #
|
---|
8 | BOARD = stm32f767nucleo144_gcc
|
---|
9 | CHIP = stm32f7xx
|
---|
10 | PRC = arm_m
|
---|
11 | TOOL = gcc
|
---|
12 |
|
---|
13 | #
|
---|
14 | # 実行環境の定義
|
---|
15 | #
|
---|
16 | ifeq ($(DBGENV),)
|
---|
17 | DBGENV = RAM
|
---|
18 | endif
|
---|
19 |
|
---|
20 | #
|
---|
21 | # FPUの方式
|
---|
22 | #
|
---|
23 | #FPU_USAGE := FPU_NO_PRESERV
|
---|
24 | #FPU_USAGE := FPU_NO_LAZYSTACKING
|
---|
25 | FPU_USAGE := FPU_LAZYSTACKING
|
---|
26 | FPU_ARCH_MACRO := __TARGET_FPU_FPV5_DP
|
---|
27 | FPU_ABI := hard
|
---|
28 |
|
---|
29 | #
|
---|
30 | # 最適化したくない場合はtrueに定義
|
---|
31 | #
|
---|
32 | #OMIT_OPTIMIZATION = true
|
---|
33 |
|
---|
34 | #
|
---|
35 | # コンパイルオプション
|
---|
36 | #
|
---|
37 | INCLUDES := $(INCLUDES) -I$(TARGETDIR)
|
---|
38 | COPTS := $(COPTS)
|
---|
39 | LDFLAGS := $(LDFLAGS)
|
---|
40 |
|
---|
41 | #
|
---|
42 | # カーネルに関する定義
|
---|
43 | #
|
---|
44 | KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
|
---|
45 | KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
|
---|
46 | KERNEL_COBJS := $(KERNEL_COBJS)
|
---|
47 |
|
---|
48 | #
|
---|
49 | # システムサービスに関する定義
|
---|
50 | #
|
---|
51 | SYSSVC_DIR := $(SYSSVC_DIR) $(TARGETDIR)
|
---|
52 | SYSSVC_COBJS := $(SYSSVC_COBJS) target_inithook.o
|
---|
53 |
|
---|
54 | #
|
---|
55 | # トレースログに関する設定
|
---|
56 | #
|
---|
57 | ifeq ($(ENABLE_TRACE),true)
|
---|
58 | COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
|
---|
59 | KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace
|
---|
60 | KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o
|
---|
61 | endif
|
---|
62 |
|
---|
63 | #
|
---|
64 | # GNU開発環境のターゲットアーキテクチャの定義
|
---|
65 | #
|
---|
66 | GCC_TARGET = arm-none-eabi
|
---|
67 |
|
---|
68 | #
|
---|
69 | # シリアルポートの定義
|
---|
70 | #
|
---|
71 | COPTS := $(COPTS) -DSIO_PORTID=1
|
---|
72 |
|
---|
73 | #
|
---|
74 | # 依存関係の定義
|
---|
75 | #
|
---|
76 | kernel_cfg.timestamp: $(TARGETDIR)/target.tf
|
---|
77 | $(OBJFILE): $(TARGETDIR)/target_check.tf
|
---|
78 |
|
---|
79 | #
|
---|
80 | # オフセットファイル生成のための定義
|
---|
81 | #
|
---|
82 | OFFSET_TF := $(TARGETDIR)/target_offset.tf
|
---|
83 |
|
---|
84 | #
|
---|
85 | # チップ依存部のインクルード
|
---|
86 | #
|
---|
87 | include $(SRCDIR)/arch/$(PRC)_$(TOOL)/$(CHIP)/Makefile.chip
|
---|
88 |
|
---|
89 | #
|
---|
90 | # フラッシュへの書き込み
|
---|
91 | #
|
---|
92 | UNAME_TARGET = Cygwin
|
---|
93 | OPENOCD_PATH = /cygdrive/c/pleiades/OpenOCD/0.10.0-201510281129-dev/bin/openocd.exe
|
---|
94 | OPENOCD_SCRIPT_PATH = c:/pleiades/OpenOCD/0.10.0-201510281129-dev/scripts
|
---|
95 | OPENOCD_SCRIPT = c:/pleiades/OpenOCD/0.10.0-201510281129-dev/scripts/board/stm32f4discovery.cfg
|
---|
96 |
|
---|
97 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
98 | GDB = arm-gdb_m0.exe
|
---|
99 | else
|
---|
100 | GDB = $(ARDUINO_BASE_DIR_WIN)\hardware\tools\gcc-arm-none-eabi-4.8.3-2014q1\bin\arm-none-eabi-gdb
|
---|
101 | endif
|
---|
102 |
|
---|
103 | run: $(OBJNAME).bin
|
---|
104 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
105 | "`cygpath -u "$(OPENOCD_PATH)"`" -s "$(OPENOCD_SCRIPT_PATH)" -f "$(OPENOCD_SCRIPT)" -c "program ./$(OBJNAME).bin verify 0x08000000 reset exit"
|
---|
106 | #-c "flash probe 0; flash write_image erase ./$(OBJNAME).axf 0x08000000 reset exit"
|
---|
107 | else
|
---|
108 | "$(OPENOCD_PATH)" -s "$(OPENOCD_SCRIPT_PATH)" -f "$(OPENOCD_SCRIPT)" -c "program ./$(OBJNAME).bin verify 0x4000 reset exit"
|
---|
109 | endif
|
---|
110 |
|
---|
111 | ocd: $(OBJNAME).bin
|
---|
112 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
113 | cygstart "$(OPENOCD_PATH)" '-s "$(OPENOCD_SCRIPT_PATH)"' '-f "$(OPENOCD_SCRIPT)"'
|
---|
114 | else
|
---|
115 | start /MIN "" "$(OPENOCD_PATH)" -s "$(OPENOCD_SCRIPT_PATH)" -f "$(OPENOCD_SCRIPT)"
|
---|
116 | endif
|
---|
117 |
|
---|
118 | db: $(OBJNAME).bin
|
---|
119 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
120 | $(GDB) $(OBJFILE) -x $(TARGETDIR)/gdb.ini
|
---|
121 | else
|
---|
122 | $(GDB) $(OBJFILE) -x $(TARGETDIR)/gdb.ini
|
---|
123 | endif
|
---|
124 |
|
---|
125 | d: $(OBJNAME).bin
|
---|
126 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
127 | $(GDB) $(OBJFILE) -x $(TARGETDIR)/gdb_noflash.ini
|
---|
128 | else
|
---|
129 |
|
---|
130 | endif
|
---|
131 |
|
---|