Commit | Line | Data |
---|---|---|
df930a5f JM |
1 | PROJECT=main |
2 | BUILD_DIR=../build | |
3 | DEVICES=lpc1768 | |
4 | ||
5 | # BUILD_TYPE can be set to the following values: | |
6 | # Checked - Optimizations enabled with MRI debug monitor support. (Recommended Type) | |
7 | # Release - Optimizations enabled. | |
8 | # Debug - Optimization disabled with MRI debug monitor support. | |
9 | BUILD_TYPE=Checked | |
10 | ||
11 | # Set to 1 to tag each heap allocation with the caller's return address. | |
12 | # NOTE: Can't be enabled with latest build as not compatible with newlib nano. | |
13 | HEAP_TAGS=0 | |
14 | ||
15 | # Set to 1 configure MPU to disable write buffering and eliminate imprecise bus faults. | |
16 | WRITE_BUFFER_DISABLE=0 | |
17 | ||
18 | # Set to non zero value if you want checks to be enabled which reserve a | |
19 | # specific amount of space for the stack. The heap's growth will be | |
20 | # constrained to reserve this much space for the stack and the stack won't be | |
21 | # able to grow larger than this amount. | |
22 | STACK_SIZE=3072 | |
23 | ||
24 | # Set to 1 to allow MRI debug monitor to take full control of UART0 and use it | |
25 | # as a dedicated debug channel. If you are using the USB based serial port for | |
26 | # the console then this should cause you no problems. Set MRI_BREAK_ON_INIT to | |
27 | # 0 if you don't want to break into GDB at startup. | |
28 | ENABLE_DEBUG_MONITOR?=0 | |
29 | ||
2ee2ad19 JM |
30 | # this is the default UART baud rate used if it is not set in config |
31 | # it is also the baud rate used to report any errors found while parsing the config file | |
32 | DEFAULT_SERIAL_BAUD_RATE?=9600 | |
33 | ||
df930a5f JM |
34 | ifeq "$(ENABLE_DEBUG_MONITOR)" "1" |
35 | # Can add MRI_UART_BAUD=115200 to next line if GDB fails to connect to MRI. | |
36 | # Tends to happen on some Linux distros but not Windows and OS X. | |
37 | MRI_UART=MRI_UART_0 | |
38 | MRI_BREAK_ON_INIT=1 | |
39 | MRI_SEMIHOST_STDIO=1 | |
40 | else | |
41 | MRI_UART=MRI_UART_0 MRI_UART_SHARE | |
42 | MRI_BREAK_ON_INIT=0 | |
43 | MRI_SEMIHOST_STDIO=0 | |
44 | endif | |
45 | ||
a3be54e3 | 46 | # generate a git version string |
df930a5f JM |
47 | ifneq "$(OS)" "Windows_NT" |
48 | DEFINES += -D__GITVERSIONSTRING__=\"$(shell ./generate-version.sh)\" | |
49 | else | |
4bcd0840 | 50 | DEFINES += -D__GITVERSIONSTRING__=\"$(shell generate-version.bat)\" |
df930a5f JM |
51 | endif |
52 | ||
2ee2ad19 JM |
53 | # use c++11 features for the checksums and set default baud rate for serial uart |
54 | DEFINES += -DCHECKSUM_USE_CPP -DDEFAULT_SERIAL_BAUD_RATE=$(DEFAULT_SERIAL_BAUD_RATE) | |
85eabc50 | 55 | |
3b1acdaa JM |
56 | ifneq "$(STEPTICKER_DEBUG_PIN)" "" |
57 | # Set a Pin here that toggles on end of move | |
58 | DEFINES += -DSTEPTICKER_DEBUG_PIN=$(STEPTICKER_DEBUG_PIN) | |
59 | endif | |
9e089978 | 60 | |
c8ef3271 | 61 | # include an optional default set of excludes |
df930a5f | 62 | # add any modules that you do not want included in the build |
df930a5f | 63 | # e.g for a CNC machine |
c8ef3271 JM |
64 | #export EXCLUDE_MODULES = tools/touchprobe tools/laser tools/temperaturecontrol tools/extruder |
65 | -include default_excludes.mk | |
df930a5f | 66 | |
89b1a6eb JM |
67 | ifneq "$(INCLUDE_MODULE)" "" |
68 | export EXCLUDED_MODULES = $(filter-out $(INCLUDE_MODULE),$(EXCLUDE_MODULES)) | |
69 | else | |
70 | export EXCLUDED_MODULES = $(EXCLUDE_MODULES) | |
71 | endif | |
72 | ||
73 | ||
df930a5f JM |
74 | # set to not compile in any network support |
75 | #export NONETWORK = 1 | |
76 | ||
77 | include $(BUILD_DIR)/build.mk | |
78 | ||
79 | CONSOLE?=/dev/arduino | |
80 | BAUD?=1000000 | |
81 | ||
82 | .PHONY: debug-store flash upload debug console dfu | |
83 | ||
84 | debug-store: ../LPC1768/$(PROJECT).elf | |
85 | cp ../LPC1768/$(PROJECT).elf ../LPC1768/$(PROJECT)_lastupload.elf | |
86 | ||
87 | flash: ../LPC1768/$(PROJECT).hex debug-store | |
88 | lpc21isp $< $(CONSOLE) 115200 12000 | |
89 | ||
90 | dfu: ../LPC1768/$(PROJECT).bin | |
91 | dfu-util -D $< -R | |
92 | ||
93 | upload: ../LPC1768/$(PROJECT).bin debug-store | |
94 | dfu-util -R -d 1d50:6015 -D $< | |
95 | ||
96 | debug: ../LPC1768/$(PROJECT)_lastupload.elf | |
97 | arm-none-eabi-gdb $< -ex "set target-charset ASCII" -ex "set remotelogfile mri.log" -ex "target remote $(CONSOLE)" | |
98 | ||
99 | console: | |
100 | stty raw ignbrk -echo $(BAUD) < $(CONSOLE) | |
101 | ( cat <&3 & cat >&3 ; kill %% ) 3<>$(CONSOLE) |