Skip to content

Commit c210acd

Browse files
committed
Changeing over to new system.
1 parent b8051a8 commit c210acd

File tree

3 files changed

+111
-113
lines changed

3 files changed

+111
-113
lines changed

builder/frameworks/arduino.py

+107-109
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,23 @@
2525
FRAMEWORK_DIR = platform.get_package_dir("framework-arduinoapollo3")
2626
assert isdir(FRAMEWORK_DIR)
2727

28-
CORE_DIR = join(FRAMEWORK_DIR, "cores", "arduino")
29-
SDK_DIR = join(CORE_DIR, "am_sdk_ap3")
30-
CMSIS_DIR = join(SDK_DIR, "CMSIS")
31-
THIRD_PARTY_DIR = join(SDK_DIR, "third_party")
32-
EXACTLE_DIR = join(THIRD_PARTY_DIR, "exactle")
28+
BASE_CORE_DIR = join(FRAMEWORK_DIR, "cores")
29+
CORE_DIR = join(BASE_CORE_DIR, "arduino")
30+
MBED_DIR = join(FRAMEWORK_DIR, "cores", "mbed-os")
31+
BRIDGE_DIR = join(CORE_DIR, "mbed-bridge")
32+
TARGETS_DIR = join(MBED_DIR, "targets", "TARGET_Ambiq_Micro", "TARGET_Apollo3")
33+
SDK_DIR = join(TARGETS_DIR, "sdk")
34+
SDK_TARGETS_DIR = join(MBED_DIR, "targets", "TARGET_Ambiq_Micro", "sdk")
35+
CMSIS_DIR = join(SDK_DIR, "CMSIS")
36+
3337
LIBRARY_DIR = join(FRAMEWORK_DIR, "libraries")
3438

3539
VARIANTS_DIR = join(FRAMEWORK_DIR, "variants")
36-
BOARD_VARIANTS_DIR = join(VARIANTS_DIR, board.get("build.variant"))
40+
BOARD_VARIANTS_DIR = join(VARIANTS_DIR, board.get("build.variant").replace("TARGET_", "", 1))
41+
BOARD_TARGET_DIR = join(TARGETS_DIR, board.get("build.variant"))
42+
43+
44+
TOOLS_DIR = join(FRAMEWORK_DIR, "tools")
3745

3846
env.Append(
3947
ASFLAGS=[
@@ -43,145 +51,135 @@
4351
],
4452

4553
CFLAGS=[
46-
"-std=gnu11",
47-
"--function-sections", "-mfpu=fpv4-sp-d16", "-Wall"
54+
"-include", join(BOARD_VARIANTS_DIR, "mbed", "mbed_config.h"),
55+
"-include", join(CORE_DIR, "sdk", "ArduinoSDK.h"),
56+
"-iprefix{}/".format(BASE_CORE_DIR),
57+
join("@{}".format(BOARD_VARIANTS_DIR), "mbed", ".c-flags"),
58+
join("@{}".format(BOARD_VARIANTS_DIR), "mbed", ".includes"),
59+
join("@{}".format(BOARD_VARIANTS_DIR), "mbed", ".c-symbols"),
4860
],
4961

5062
CPPFLAGS=[
51-
"-c", "-g", "-MMD",
52-
"-mthumb",
53-
"-mfloat-abi=hard",
54-
"-fdata-sections",
55-
"-Os",
56-
"-ffunction-sections",
57-
58-
"-nostdlib",
59-
"--param", "max-inline-insns-single=500",
60-
61-
"-fno-exceptions",
62-
"-mcpu=%s" % board.get("build.cpu")
6363
],
6464

6565
CXXFLAGS=[
66-
"-std=gnu++11",
67-
"-fno-threadsafe-statics",
68-
"-fno-rtti",
66+
"-include", join(BOARD_VARIANTS_DIR, "mbed", "mbed_config.h"),
67+
"-include", join(CORE_DIR, "sdk", "ArduinoSDK.h"),
68+
"-iprefix{}/".format(BASE_CORE_DIR),
69+
join("@{}".format(BOARD_VARIANTS_DIR), "mbed", ".cxx-flags"),
70+
join("@{}".format(BOARD_VARIANTS_DIR), "mbed", ".includes"),
71+
join("@{}".format(BOARD_VARIANTS_DIR), "mbed", ".cxx-symbols"),
6972
],
7073

7174
CPPDEFINES=[
72-
("F_CPU", "$BOARD_F_CPU"),
73-
("ARDUINO", "10809"),
75+
"MBED_NO_GLOBAL_USING_DIRECTIVE",
76+
("ARDUINO", "10811"),
77+
"ARDUINO_ARCH_APOLLO3"
78+
"ARDUINO_ARCH_MBED",
79+
"ARDUINO_ARCH_APOLLO3",
80+
"MBED_NO_GLOBAL_USING_DIRECTIVE",
81+
"CORDIO_ZERO_COPY_HCI",
7482
],
75-
7683
CPPPATH=[
77-
join(BOARD_VARIANTS_DIR, "config"),
78-
join(BOARD_VARIANTS_DIR, "bsp"),
79-
join(CORE_DIR, "ard_sup"),
80-
join(CORE_DIR, "ard_sup", "ard_supers"),
81-
join(CORE_DIR),
82-
join(VARIANTS_DIR, board.get("build.variant")),
83-
join(SDK_DIR, "mcu", "apollo3"),
84-
join(SDK_DIR, "mcu", "apollo3", "hal"),
85-
join(SDK_DIR, "mcu", "apollo3", "regs"),
86-
join(SDK_DIR, "utils"),
87-
join(SDK_DIR, "devices"),
88-
join(CMSIS_DIR, "AmbiqMicro", "Include"),
89-
join(CMSIS_DIR, "ARM", "Include"),
90-
join(THIRD_PARTY_DIR, "uecc", "micro-ecc"),
91-
join(EXACTLE_DIR, "sw", "hci", "ambiq"),
92-
join(EXACTLE_DIR, "sw", "hci", "include"),
93-
join(EXACTLE_DIR, "sw", "hci", "ambiq", "apollo3"),
94-
join(EXACTLE_DIR, "sw", "apps", "app"),
95-
join(EXACTLE_DIR, "sw", "apps", "app", "include"),
96-
join(EXACTLE_DIR, "sw", "services"),
97-
join(EXACTLE_DIR, "sw", "stack", "hci"),
98-
join(EXACTLE_DIR, "sw", "stack", "cfg"),
99-
join(EXACTLE_DIR, "sw", "sec", "include"),
100-
join(EXACTLE_DIR, "sw", "sec", "common"),
101-
join(EXACTLE_DIR, "sw", "services"),
102-
join(EXACTLE_DIR, "ws-core", "include"),
103-
join(EXACTLE_DIR, "ws-core", "sw", "util"),
104-
join(EXACTLE_DIR, "ws-core", "sw", "wsf", "ambiq"),
105-
join(EXACTLE_DIR, "ws-core", "sw", "wsf", "include"),
106-
join(EXACTLE_DIR, "sw", "stack", "include"),
107-
join(EXACTLE_DIR, "sw", "profiles"),
108-
join(EXACTLE_DIR, "sw", "profiles", "gatt"),
109-
join(EXACTLE_DIR, "sw", "profiles", "gap"),
110-
111-
join(LIBRARY_DIR, "EEPROM", "src"),
112-
join(LIBRARY_DIR, "PDM", "src"),
113-
join(LIBRARY_DIR, "RTC", "src"),
114-
join(LIBRARY_DIR, "Servo", "src"),
115-
join(LIBRARY_DIR, "SoftwareSerial", "src"),
116-
join(LIBRARY_DIR, "SPI", "src"),
117-
join(LIBRARY_DIR, "Wire", "src"),
84+
CORE_DIR,
85+
BOARD_VARIANTS_DIR,
86+
BRIDGE_DIR,
87+
join(BRIDGE_DIR, "cort-api"),
88+
## MBED_DIR,
89+
#join(MBED_DIR, "cmsis", "TARGET_CORTEX_M"),
90+
#join(MBED_DIR, "hal"),
91+
#join(MBED_DIR, "rtos"),
92+
#join(MBED_DIR, "platform", "cxxsupport"),
93+
#join(BRIDGE_DIR, "core-api"),
94+
#join(TARGETS_DIR, "device"),
95+
#join(SDK_DIR, "mcu", "apollo3"),
96+
#join(CMSIS_DIR, "AmbiqMicro", "Include"),
97+
## BOARD_TARGET_DIR,
98+
#join(BOARD_TARGET_DIR, "bsp"),
99+
#join(SDK_DIR, "mcu", "apollo3"),
100+
#join(SDK_DIR, "mcu", "apollo3", "hal"),
101+
#join(SDK_DIR, "mcu", "apollo3", "regs"),
102+
#join(SDK_TARGETS_DIR, "utils"),
103+
#join(SDK_TARGETS_DIR, "devices"),
118104

119105
],
120106

121107
LINKFLAGS=[
122-
"-T%s" % join(VARIANTS_DIR, board.get("build.variant"), "linker_scripts", "gcc", board.get("build.linker_script")),
123-
# "-Os",
124-
"-mthumb",
125-
"-mcpu=%s" % board.get("build.cpu"),
126-
"-mfpu=fpv4-sp-d16",
127-
"-mfloat-abi=hard",
128-
"--specs=nano.specs",
129-
"-mfloat-abi=hard",
130-
"-nostdlib",
131-
"-fno-exceptions",
132-
"-static",
133-
"-Wl,--gc-sections,--entry,Reset_Handler",
134-
"-Wl,--check-sections",
135-
"-Wl,--unresolved-symbols=report-all",
136-
"-Wl,--warn-common",
137-
"-Wl,--warn-section-align",
108+
"-T%s" % join(TOOLS_DIR, "uploaders", "asb", board.get("build.linker_script")),
109+
join("@{}".format(BOARD_VARIANTS_DIR), "mbed", ".ld-flags"),
110+
join("@{}".format(BOARD_VARIANTS_DIR), "mbed", ".ld-symbols"),
111+
## "-Os",
112+
#"-mthumb",
113+
#"-mcpu=%s" % board.get("build.cpu"),
114+
#"-mfpu=fpv4-sp-d16",
115+
#"-mfloat-abi=hard",
116+
#"--specs=nano.specs",
117+
#"-mfloat-abi=hard",
118+
#"-nostdlib",
119+
#"-fno-exceptions",
120+
#"-static",
121+
#"-Wl,--gc-sections,--entry,Reset_Handler",
122+
#"-Wl,--check-sections",
123+
#"-Wl,--unresolved-symbols=report-all",
124+
#"-Wl,--warn-common",
125+
#"-Wl,--warn-section-align",
138126

139127
"-Wl,-Map=%s" % join("$BUILD_DIR", "program.map")
140128
],
141129

142-
LIBS=["m", "arm_cortexM4lf_math", "gcc", "stdc++", "nosys", "c"],
130+
#LIBS=["m", "arm_cortexM4lf_math", "gcc", "stdc++", "nosys", "c", "libmbed-os.a"],
131+
LIBS=["stdc++", "supc++", "libmbed-os.a"],
143132

144133
LIBPATH=[
145-
join(VARIANTS_DIR, board.get("build.variant")),
134+
join(BOARD_VARIANTS_DIR, "mbed"),
146135
join(CMSIS_DIR, "ARM", "Lib", "ARM")
147136
]
148137
)
149138

150139
libs = []
151140

152-
libs.append(env.BuildLibrary(
153-
join("$BUILD_DIR", "FrameworkArduino"),
154-
join(CORE_DIR, "ard_sup"),
155-
156-
))
141+
print("------------------->", BRIDGE_DIR)
142+
print("------------------->", env)
157143

158144
libs.append(env.BuildLibrary(
159-
join("$BUILD_DIR", "apollo3_sdk_mcu"),
160-
join(SDK_DIR, "mcu"),
161-
# join(SDK_DIR, "devices")]
145+
join("$BUILD_DIR", "varient"),
146+
BOARD_VARIANTS_DIR
147+
#BRIDGE_DIR,
162148
))
163149

164150
libs.append(env.BuildLibrary(
165-
join("$BUILD_DIR", "apollo3_sdk_devices"),
166-
join(SDK_DIR, "devices"),
151+
join("$BUILD_DIR", "mbed_bridge"),
152+
BRIDGE_DIR,
167153
))
168154

169-
libs.append(env.BuildLibrary(
170-
join("$BUILD_DIR", "apollo3_sdk_utils"),
171-
join(SDK_DIR, "utils"),
172-
))
173-
174-
libs.append(env.BuildLibrary(
175-
join("$BUILD_DIR", "variant"),
176-
join(BOARD_VARIANTS_DIR),
177-
178-
))
155+
#
156+
#libs.append(env.BuildLibrary(
157+
# join("$BUILD_DIR", "apollo3_sdk_mcu"),
158+
# join(SDK_DIR, "mcu"),
159+
# # join(SDK_DIR, "devices")]
160+
#))
161+
#
162+
#libs.append(env.BuildLibrary(
163+
# join("$BUILD_DIR", "apollo3_sdk_devices"),
164+
# join(SDK_DIR, "devices"),
165+
#))
166+
#
167+
#libs.append(env.BuildLibrary(
168+
# join("$BUILD_DIR", "apollo3_sdk_utils"),
169+
# join(SDK_DIR, "utils"),
170+
#))
171+
#
172+
#libs.append(env.BuildLibrary(
173+
# join("$BUILD_DIR", "variant"),
174+
# join(BOARD_VARIANTS_DIR),
175+
#
176+
#))
179177

180178
# Libraries
181-
libs.append(env.BuildLibrary(
182-
join("$BUILD_DIR", "EEPROM"),
183-
join(LIBRARY_DIR, "EEPROM", "src"),
184-
))
179+
#libs.append(env.BuildLibrary(
180+
# join("$BUILD_DIR", "EEPROM"),
181+
# join(LIBRARY_DIR, "EEPROM", "src"),
182+
#))
185183

186184
libs.append(env.BuildLibrary(
187185
join("$BUILD_DIR", "PDM"),

builder/main.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@
7979
ARFLAGS=[],
8080
ASFLAGS=[],
8181
CCFLAGS=[],
82-
CXXFLAGS=["-std=gnu++11"],
82+
CXXFLAGS=[],
8383
LINKFLAGS=[],
84-
CPPDEFINES=["PART_apollo3", "AM_PACKAGE_BGA", "AM_PART_APOLLO3", "ARDUINO_ARCH_APOLLO3"],
84+
CPPDEFINES=[ "ARDUINO_ARCH_APOLLO3"],
8585
LIBS=[],
8686
BUILDERS=dict(
8787
ElfToBin=Builder(

platform.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@
3434
"packages": {
3535
"toolchain-gccarmnoneeabi": {
3636
"type": "toolchain",
37-
"version": ">=1.7"
37+
"version": ">=1.9"
3838
},
3939
"framework-arduinoapollo3": {
4040
"type": "framework",
4141
"optional": true,
42-
"version": "~1.0.20"
42+
"version": "~2.0.2"
4343
}
4444
}
4545
}

0 commit comments

Comments
 (0)