Rev 6 | Rev 11 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6 | Rev 7 | ||
---|---|---|---|
Line 6... | Line 6... | ||
6 | # Compiler options here. |
6 | # Compiler options here. |
7 | ifeq ($(USE_OPT),) |
7 | ifeq ($(USE_OPT),) |
8 | USE_OPT = -Og -g -ggdb -fomit-frame-pointer -falign-functions=16 |
8 | USE_OPT = -Og -g -ggdb -fomit-frame-pointer -falign-functions=16 |
9 | endif |
9 | endif |
10 | 10 | ||
- | 11 | ||
11 | # C specific options here (added to USE_OPT). |
12 | # C specific options here (added to USE_OPT). |
12 | ifeq ($(USE_COPT),) |
13 | ifeq ($(USE_COPT),) |
13 | USE_COPT = |
14 | USE_COPT = |
14 | endif |
15 | endif |
15 | 16 | ||
16 | # C++ specific options here (added to USE_OPT). |
17 | # C++ specific options here (added to USE_OPT). |
17 | ifeq ($(USE_CPPOPT),) |
18 | ifeq ($(USE_CPPOPT),) |
18 | USE_CPPOPT = -fno-rtti |
19 | USE_CPPOPT = -fno-rtti |
Line 21... | Line 22... | ||
21 | # Enable this if you want the linker to remove unused code and data |
22 | # Enable this if you want the linker to remove unused code and data |
22 | ifeq ($(USE_LINK_GC),) |
23 | ifeq ($(USE_LINK_GC),) |
23 | USE_LINK_GC = yes |
24 | USE_LINK_GC = yes |
24 | endif |
25 | endif |
25 | 26 | ||
- | 27 | # Linker extra options here. |
|
- | 28 | ifeq ($(USE_LDOPT),) |
|
- | 29 | USE_LDOPT = |
|
- | 30 | endif |
|
- | 31 | ||
- | 32 | # Enable this if you want link time optimizations (LTO) |
|
- | 33 | ifeq ($(USE_LTO),) |
|
- | 34 | USE_LTO = yes |
|
- | 35 | endif |
|
- | 36 | ||
26 | # If enabled, this option allows to compile the application in THUMB mode. |
37 | # If enabled, this option allows to compile the application in THUMB mode. |
27 | ifeq ($(USE_THUMB),) |
38 | ifeq ($(USE_THUMB),) |
28 | USE_THUMB = yes |
39 | USE_THUMB = yes |
29 | endif |
40 | endif |
30 | 41 | ||
31 | # Enable this if you want to see the full log while compiling. |
42 | # Enable this if you want to see the full log while compiling. |
32 | ifeq ($(USE_VERBOSE_COMPILE),) |
43 | ifeq ($(USE_VERBOSE_COMPILE),) |
33 | USE_VERBOSE_COMPILE = no |
44 | USE_VERBOSE_COMPILE = no |
34 | endif |
45 | endif |
35 | 46 | ||
- | 47 | # If enabled, this option makes the build process faster by not compiling |
|
- | 48 | # modules not used in the current configuration. |
|
- | 49 | ifeq ($(USE_SMART_BUILD),) |
|
- | 50 | USE_SMART_BUILD = yes |
|
- | 51 | endif |
|
- | 52 | ||
- | 53 | ||
36 | # |
54 | # |
37 | # Build global options |
55 | # Build global options |
38 | ############################################################################## |
56 | ############################################################################## |
39 | 57 | ||
40 | ############################################################################## |
58 | ############################################################################## |
41 | # Architecture or project specific options |
59 | # Architecture or project specific options |
42 | # |
60 | # |
43 | 61 | ||
- | 62 | # Stack size to be allocated to the Cortex-M process stack. This stack is |
|
- | 63 | # the stack used by the main() thread. |
|
- | 64 | ifeq ($(USE_PROCESS_STACKSIZE),) |
|
- | 65 | USE_PROCESS_STACKSIZE = 0x400 |
|
- | 66 | endif |
|
- | 67 | ||
- | 68 | # Stack size to the allocated to the Cortex-M main/exceptions stack. This |
|
- | 69 | # stack is used for processing interrupts and exceptions. |
|
- | 70 | ifeq ($(USE_EXCEPTIONS_STACKSIZE),) |
|
- | 71 | USE_EXCEPTIONS_STACKSIZE = 0x400 |
|
- | 72 | endif |
|
- | 73 | ||
- | 74 | # Enables the use of FPU (no, softfp, hard). |
|
- | 75 | ifeq ($(USE_FPU),) |
|
- | 76 | USE_FPU = no |
|
- | 77 | endif |
|
- | 78 | ||
44 | # Enable this if you really want to use the STM FWLib. |
79 | # Enable this if you really want to use the STM FWLib. |
45 | ifeq ($(USE_FWLIB),) |
80 | ifeq ($(USE_FWLIB),) |
46 | USE_FWLIB = no |
81 | USE_FWLIB = no |
47 | endif |
82 | endif |
48 | 83 | ||
Line 59... | Line 94... | ||
59 | # Define project name here |
94 | # Define project name here |
60 | PROJECT = ch |
95 | PROJECT = ch |
61 | #define board |
96 | #define board |
62 | BOARD = ST_bluePillF103 |
97 | BOARD = ST_bluePillF103 |
63 | 98 | ||
64 | # Imported source files and paths |
- | |
65 | CHIBIOS = ../chibios |
99 | CHIBIOS = ../ChibiOS |
- | 100 | # Licensing files. |
|
66 | include $(CHIBIOS)/boards/$(BOARD)/board.mk |
101 | include $(CHIBIOS)/os/license/license.mk |
- | 102 | # Startup files. |
|
67 | include $(CHIBIOS)/os/hal/platforms/STM32F1xx/platform.mk |
103 | include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f1xx.mk |
- | 104 | # HAL-OSAL files (optional). |
|
68 | include $(CHIBIOS)/os/hal/hal.mk |
105 | include $(CHIBIOS)/os/hal/hal.mk |
69 | include $(CHIBIOS)/os/ports/GCC/ARMCMx/STM32F1xx/port.mk |
106 | include $(CHIBIOS)/os/hal/ports/STM32/STM32F1xx/platform.mk |
- | 107 | # board pinout file changed from chibiOS |
|
- | 108 | include ./chibios/board/board.mk |
|
- | 109 | include $(CHIBIOS)/os/hal/osal/rt/osal.mk |
|
- | 110 | # RTOS files (optional). |
|
70 | include $(CHIBIOS)/os/kernel/kernel.mk |
111 | include $(CHIBIOS)/os/rt/rt.mk |
- | 112 | include $(CHIBIOS)/os/common/ports/ARMCMx/compilers/GCC/mk/port_v7m.mk |
|
- | 113 | # Other files (optional). |
|
71 | include $(CHIBIOS)/test/test.mk |
114 | include $(CHIBIOS)/test/lib/test.mk |
72 | #include $(CHIBIOS)/ext/fatfs/fatfs.mk |
115 | include $(CHIBIOS)/test/rt/rt_test.mk |
- | 116 | include $(CHIBIOS)/test/oslib/oslib_test.mk |
|
- | 117 | include $(CHIBIOS)/os/hal/lib/streams/streams.mk |
|
- | 118 | include $(CHIBIOS)/os/various/shell/shell.mk |
|
73 | 119 | ||
74 | # Define linker script file here |
120 | # Define linker script file here |
75 | LDSCRIPT= $(PORTLD)/STM32F103xB.ld |
121 | LDSCRIPT= $(STARTUPLD)/STM32F103xB.ld |
76 | 122 | ||
77 | SSD1306SRC = SSD1306_lib/Font.c |
123 | SSD1306SRC = SSD1306_lib/Font.c |
78 | SSD1306SRC += SSD1306_lib/SSD1306.c |
124 | SSD1306SRC += SSD1306_lib/SSD1306.c |
79 | 125 | ||
80 | SSD1306INC = SSD1306_lib |
126 | SSD1306INC = SSD1306_lib |
Line 87... | Line 133... | ||
87 | 133 | ||
88 | IGNINC = inc |
134 | IGNINC = inc |
89 | 135 | ||
90 | # C sources that can be compiled in ARM or THUMB mode depending on the global |
136 | # C sources that can be compiled in ARM or THUMB mode depending on the global |
91 | # setting. |
137 | # setting. |
92 | CSRC = $(PORTSRC) \ |
138 | CSRC = $(ALLCSRC) \ |
93 | $(KERNSRC) \ |
- | |
94 | $(TESTSRC) \ |
- | |
95 | $(HALSRC) \ |
- | |
96 | $(PLATFORMSRC) \ |
- | |
97 | $(BOARDSRC) \ |
- | |
98 | $(SSD1306SRC) \ |
- | |
99 | $(CHIBIOS)/os/various/shell.c \ |
- | |
100 | $(CHIBIOS)/os/various/syscalls.c \ |
- | |
101 | $(CHIBIOS)/os/various/chprintf.c \ |
- | |
102 | $(IGNSRC) \ |
139 | $(IGNSRC) \ |
- | 140 | $(SSD1306SRC) \ |
|
- | 141 | usbcfg.c \ |
|
103 | main.c |
142 | main.c |
104 | 143 | ||
105 | # C++ sources that can be compiled in ARM or THUMB mode depending on the global |
144 | # C++ sources that can be compiled in ARM or THUMB mode depending on the global |
106 | # setting. |
145 | # setting. |
107 | CPPSRC = |
146 | CPPSRC = $(ALLCPPSRC) |
108 | 147 | ||
109 | # C sources to be compiled in ARM mode regardless of the global setting. |
148 | # C sources to be compiled in ARM mode regardless of the global setting. |
110 | # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler |
149 | # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler |
111 | # option that results in lower performance and larger code size. |
150 | # option that results in lower performance and larger code size. |
112 | ACSRC = |
151 | ACSRC = |
Line 125... | Line 164... | ||
125 | # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler |
164 | # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler |
126 | # option that results in lower performance and larger code size. |
165 | # option that results in lower performance and larger code size. |
127 | TCPPSRC = |
166 | TCPPSRC = |
128 | 167 | ||
129 | # List ASM source files here |
168 | # List ASM source files here |
130 | ASMSRC = $(PORTASM) |
169 | ASMSRC = $(ALLASMSRC) |
- | 170 | ASMXSRC = $(ALLXASMSRC) |
|
- | 171 | ||
131 | 172 | ||
132 | INCDIR = $(PORTINC) $(KERNINC) $(TESTINC) \ |
173 | INCDIR = $(ALLINC) \ |
133 | $(HALINC) $(PLATFORMINC) $(BOARDINC) \ |
174 | $(IGNINC) \ |
134 | $(IGNINC) $(SSD1306INC) \ |
175 | $(SSD1306INC) \ |
135 | $(CHIBIOS)/os/various |
176 | $(CHIBIOS)/os/various |
136 | 177 | ||
137 | # |
178 | # |
138 | # Project, sources and paths |
179 | # Project, sources and paths |
139 | ############################################################################## |
180 | ############################################################################## |
Line 226... | Line 267... | ||
226 | CSRC += $(STM32SRC) |
267 | CSRC += $(STM32SRC) |
227 | INCDIR += $(STM32INC) |
268 | INCDIR += $(STM32INC) |
228 | USE_OPT += -DUSE_STDPERIPH_DRIVER |
269 | USE_OPT += -DUSE_STDPERIPH_DRIVER |
229 | endif |
270 | endif |
230 | 271 | ||
- | 272 | ||
- | 273 | ############################################################################## |
|
- | 274 | ||
231 | include $(CHIBIOS)/os/ports/GCC/ARMCMx/rules.mk |
275 | RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC |
- | 276 | include $(RULESPATH)/rules.mk |