Skip to content

Commit 3ebe7f2

Browse files
committed
1 parent e8531f8 commit 3ebe7f2

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

boards.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
# License along with this library; if not, write to the Free Software
1515
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
1616

17+
menu.cache=Cache
1718

1819
adafruit_feather_m0.name=Adafruit Feather M0
1920
adafruit_feather_m0.vid.0=0x239A
@@ -301,6 +302,11 @@ adafruit_metro_m4.build.pid=0x8020
301302
adafruit_metro_m4.bootloader.tool=openocd
302303
adafruit_metro_m4.bootloader.file=metroM4/bootloader.bin
303304
adafruit_metro_m4.compiler.arm.cmsis.ldflags="-L{build.variant.path}" -larm_cortexM4lf_math -mfloat-abi=hard -mfpu=fpv4-sp-d16
305+
adafruit_metro_m4.menu.cache.on=Enabled
306+
adafruit_metro_m4.menu.cache.on.build.cache_flags=-DENABLE_CACHE
307+
adafruit_metro_m4.menu.cache.off=Disabled
308+
adafruit_metro_m4.menu.cache.off.build.cache_flags=
309+
304310

305311
# Adafruit Feather M4 (SAMD51)
306312
# ------------------------------

cores/arduino/startup.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,6 @@ void SystemInit( void )
224224
* Set up main clock
225225
*/
226226

227-
228227
GCLK->GENCTRL[GENERIC_CLOCK_GENERATOR_MAIN].reg = GCLK_GENCTRL_SRC(MAIN_CLOCK_SOURCE) |
229228
GCLK_GENCTRL_IDC |
230229
//GCLK_GENCTRL_OE |
@@ -241,6 +240,14 @@ void SystemInit( void )
241240
/* Use the LDO regulator by default */
242241
SUPC->VREG.bit.SEL = 0;
243242

243+
244+
/* If desired, enable cache! */
245+
#if defined(ENABLE_CACHE)
246+
__disable_irq();
247+
CMCC->CTRL.reg = 1;
248+
__enable_irq();
249+
#endif
250+
244251
//*************** END SAMD51 *************************//
245252

246253
#else

platform.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ compiler.readelf.cmd=arm-none-eabi-readelf
5454

5555
# this can be overriden in boards.txt
5656
build.extra_flags=
57+
build.cache_flags=
5758

5859
# These can be overridden in platform.local.txt
5960
compiler.c.extra_flags=
@@ -79,13 +80,13 @@ build.usb_manufacturer="Unknown"
7980
# ----------------
8081

8182
## Compile c files
82-
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {compiler.arm.cmsis.c.flags} {includes} "{source_file}" -o "{object_file}"
83+
recipe.c.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {build.cache_flags} {compiler.arm.cmsis.c.flags} {includes} "{source_file}" -o "{object_file}"
8384

8485
## Compile c++ files
85-
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {compiler.arm.cmsis.c.flags} {includes} "{source_file}" -o "{object_file}"
86+
recipe.cpp.o.pattern="{compiler.path}{compiler.cpp.cmd}" {compiler.cpp.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.cpp.extra_flags} {build.extra_flags} {build.cache_flags} {compiler.arm.cmsis.c.flags} {includes} "{source_file}" -o "{object_file}"
8687

8788
## Compile S files
88-
recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {compiler.arm.cmsis.c.flags} {includes} "{source_file}" -o "{object_file}"
89+
recipe.S.o.pattern="{compiler.path}{compiler.S.cmd}" {compiler.S.flags} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.S.extra_flags} {build.extra_flags} {build.cache_flags} {compiler.arm.cmsis.c.flags} {includes} "{source_file}" -o "{object_file}"
8990

9091
## Create archives
9192
# archive_file_path is needed for backwards compatibility with IDE 1.6.5 or older, IDE 1.6.6 or newer overrides this value

0 commit comments

Comments
 (0)