1
1
import os
2
+ import copy
2
3
import subprocess
3
4
4
5
PREFIX = "arm-none-eabi-"
@@ -7,25 +8,23 @@ BUILDER = "DEV"
7
8
common_flags = []
8
9
build_projects = {}
9
10
10
- if os .getenv ("PEDAL" ):
11
- build_projects ["pedal" ] = {
12
- "MAIN" : "pedal/main.c" ,
13
- "STARTUP_FILE" : "stm32fx/startup_stm32f205xx.s" ,
14
- "LINKER_SCRIPT" : "stm32fx/stm32fx_flash.ld" ,
15
- "APP_START_ADDRESS" : "0x8004000" ,
16
- "PROJECT_FLAGS" : [
17
- "-mcpu=cortex-m3" ,
18
- "-msoft-float" ,
19
- "-DSTM32F2" ,
20
- "-DSTM32F205xx" ,
21
- "-O2" ,
22
- "-DPEDAL" ,
23
- ],
24
- }
25
-
26
- if os .getenv ("PEDAL_USB" ):
27
- build_projects ["pedal_usb" ] = build_projects .pop ("pedal" )
28
- build_projects ["pedal_usb" ]["PROJECT_FLAGS" ].append ("-DPEDAL_USB" )
11
+ build_projects ["pedal" ] = {
12
+ "MAIN" : "pedal/main.c" ,
13
+ "STARTUP_FILE" : "stm32fx/startup_stm32f205xx.s" ,
14
+ "LINKER_SCRIPT" : "stm32fx/stm32fx_flash.ld" ,
15
+ "APP_START_ADDRESS" : "0x8004000" ,
16
+ "PROJECT_FLAGS" : [
17
+ "-mcpu=cortex-m3" ,
18
+ "-msoft-float" ,
19
+ "-DSTM32F2" ,
20
+ "-DSTM32F205xx" ,
21
+ "-O2" ,
22
+ "-DPEDAL" ,
23
+ ],
24
+ }
25
+
26
+ build_projects ["pedal_usb" ] = copy .deepcopy (build_projects ["pedal" ])
27
+ build_projects ["pedal_usb" ]["PROJECT_FLAGS" ].append ("-DPEDAL_USB" )
29
28
30
29
build_projects ["panda" ] = {
31
30
"MAIN" : "main.c" ,
@@ -45,25 +44,23 @@ build_projects["panda"] = {
45
44
],
46
45
}
47
46
48
- # arm-none-eabi-gcc on comma two has no cortex-m7 support
49
- if not os .path .exists ("/EON" ):
50
- build_projects ["panda_h7" ] = {
51
- "MAIN" : "main.c" ,
52
- "STARTUP_FILE" : "stm32h7/startup_stm32h7x5xx.s" ,
53
- "LINKER_SCRIPT" : "stm32h7/stm32h7x5_flash.ld" ,
54
- "APP_START_ADDRESS" : "0x8020000" ,
55
- "PROJECT_FLAGS" : [
56
- "-mcpu=cortex-m7" ,
57
- "-mhard-float" ,
58
- "-DSTM32H7" ,
59
- "-DSTM32H725xx" ,
60
- "-mfpu=fpv5-d16" ,
61
- "-fsingle-precision-constant" ,
62
- "-Os" ,
63
- "-g" ,
64
- "-DPANDA" ,
65
- ],
66
- }
47
+ build_projects ["panda_h7" ] = {
48
+ "MAIN" : "main.c" ,
49
+ "STARTUP_FILE" : "stm32h7/startup_stm32h7x5xx.s" ,
50
+ "LINKER_SCRIPT" : "stm32h7/stm32h7x5_flash.ld" ,
51
+ "APP_START_ADDRESS" : "0x8020000" ,
52
+ "PROJECT_FLAGS" : [
53
+ "-mcpu=cortex-m7" ,
54
+ "-mhard-float" ,
55
+ "-DSTM32H7" ,
56
+ "-DSTM32H725xx" ,
57
+ "-mfpu=fpv5-d16" ,
58
+ "-fsingle-precision-constant" ,
59
+ "-Os" ,
60
+ "-g" ,
61
+ "-DPANDA" ,
62
+ ],
63
+ }
67
64
68
65
if os .getenv ("RELEASE" ):
69
66
BUILD_TYPE = "RELEASE"
@@ -137,6 +134,7 @@ with open("obj/cert.h", "w") as f:
137
134
for cert in certs :
138
135
f .write ("\n " .join (cert ) + "\n " )
139
136
137
+
140
138
for project_name in build_projects :
141
139
project = build_projects [project_name ]
142
140
linkerscript_fn = File (project ["LINKER_SCRIPT" ]).srcnode ().abspath
@@ -169,7 +167,8 @@ for project_name in build_projects:
169
167
'Objcopy' : Builder (generator = objcopy , suffix = '.bin' , src_suffix = '.elf' )
170
168
}
171
169
)
172
- startup = project_env .Object (project ["STARTUP_FILE" ])
170
+
171
+ startup = project_env .Object (f"obj/startup_{ project_name } " , project ["STARTUP_FILE" ])
173
172
174
173
# Bootstub
175
174
crypto_obj = [
0 commit comments