3232board = env .BoardConfig ()
3333
3434FRAMEWORK_DIR = platform .get_package_dir ("framework-arduinoststm32" )
35- CMSIS_DIR = join (platform .get_package_dir ("framework-arduinoststm32" ), "CMSIS" , "CMSIS" )
35+ CMSIS_DIR = join (platform .get_package_dir ("framework-cmsis" ) , "CMSIS" )
3636assert isdir (FRAMEWORK_DIR )
3737assert isdir (CMSIS_DIR )
3838
@@ -168,6 +168,7 @@ def configure_application_offset(mcu, upload_protocol):
168168 join (FRAMEWORK_DIR , "cores" , "arduino" , "stm32" ),
169169 join (FRAMEWORK_DIR , "cores" , "arduino" , "stm32" , "LL" ),
170170 join (FRAMEWORK_DIR , "cores" , "arduino" , "stm32" , "usb" ),
171+ join (FRAMEWORK_DIR , "cores" , "arduino" , "stm32" , "OpenAMP" ),
171172 join (FRAMEWORK_DIR , "cores" , "arduino" , "stm32" , "usb" , "hid" ),
172173 join (FRAMEWORK_DIR , "cores" , "arduino" , "stm32" , "usb" , "cdc" ),
173174 join (FRAMEWORK_DIR , "system" , "Drivers" , series + "_HAL_Driver" , "Inc" ),
@@ -191,6 +192,37 @@ def configure_application_offset(mcu, upload_protocol):
191192 "Core" ,
192193 "Src" ,
193194 ),
195+ join (
196+ FRAMEWORK_DIR ,
197+ "system" ,
198+ "Middlewares" ,
199+ "OpenAMP"
200+ ),
201+ join (
202+ FRAMEWORK_DIR ,
203+ "system" ,
204+ "Middlewares" ,
205+ "OpenAMP" ,
206+ "open-amp" ,
207+ "lib" ,
208+ "include" ,
209+ ),
210+ join (
211+ FRAMEWORK_DIR ,
212+ "system" ,
213+ "Middlewares" ,
214+ "OpenAMP" ,
215+ "libmetal" ,
216+ "lib" ,
217+ "include" ,
218+ ),
219+ join (
220+ FRAMEWORK_DIR ,
221+ "system" ,
222+ "Middlewares" ,
223+ "OpenAMP" ,
224+ "virtual_driver"
225+ ),
194226 join (CMSIS_DIR , "Core" , "Include" ),
195227 join (
196228 FRAMEWORK_DIR ,
@@ -202,7 +234,6 @@ def configure_application_offset(mcu, upload_protocol):
202234 series ,
203235 "Include" ,
204236 ),
205- join (CMSIS_DIR , "DSP" , "Include" ),
206237 join (
207238 FRAMEWORK_DIR ,
208239 "system" ,
@@ -215,6 +246,7 @@ def configure_application_offset(mcu, upload_protocol):
215246 "Templates" ,
216247 "gcc" ,
217248 ),
249+ join (CMSIS_DIR , "DSP" , "Include" ),
218250 join (FRAMEWORK_DIR , "cores" , "arduino" ),
219251 variant_dir ,
220252 ],
@@ -241,6 +273,18 @@ def configure_application_offset(mcu, upload_protocol):
241273 LIBPATH = [variant_dir , join (CMSIS_DIR , "DSP" , "Lib" , "GCC" )],
242274)
243275
276+ if "build.usb_product" in board :
277+ env .Append (
278+ CPPDEFINES = [
279+ ("USB_VID" , board .get ("build.hwids" )[0 ][0 ]),
280+ ("USB_PID" , board .get ("build.hwids" )[0 ][1 ]),
281+ ("USB_PRODUCT" , '\\ "%s\\ "' %
282+ board .get ("build.usb_product" , "" ).replace ('"' , "" )),
283+ ("USB_MANUFACTURER" , '\\ "%s\\ "' %
284+ board .get ("vendor" , "" ).replace ('"' , "" ))
285+ ]
286+ )
287+
244288env .ProcessFlags (board .get ("build.framework_extra_flags.arduino" , "" ))
245289
246290configure_application_offset (mcu , upload_protocol )
@@ -250,9 +294,10 @@ def configure_application_offset(mcu, upload_protocol):
250294#
251295
252296if not board .get ("build.ldscript" , "" ):
297+ env .Replace (LDSCRIPT_PATH = join (FRAMEWORK_DIR , "system" , "ldscript.ld" ))
253298 if not isfile (join (env .subst (variant_dir ), "ldscript.ld" )):
254299 print ("Warning! Cannot find linker script for the current target!\n " )
255- env .Replace ( LDSCRIPT_PATH = join (variant_dir , "ldscript.ld" ))
300+ env .Append ( LINKFLAGS = [( "-Wl,--default-script" , join (variant_dir , "ldscript.ld" ))] )
256301
257302#
258303# Process configuration flags
@@ -293,4 +338,4 @@ def configure_application_offset(mcu, upload_protocol):
293338 join ("$BUILD_DIR" , "SrcWrapper" ), join (FRAMEWORK_DIR , "libraries" , "SrcWrapper" )
294339)
295340
296- env .Prepend (LIBS = libs )
341+ env .Prepend (LIBS = libs )
0 commit comments