SAMD51 Thing Plus Arduino Cache Error

I couldn’t get the ATSAM51 Thing Plus Sparkfun board to work with the Arduino IDE 2.2.1. I followed the instructions on the Sparkfun website but got the following error:

Invalid FQBN: getting build properties for board SparkFun:samd:samd51_thing_plus: invalid option ‘cache’

After some poking around I found the boards file in AppData\Local\Arduino15\packages\SparkFun\hardware\samd\1.8.3\boards.txt

Looking through the file I found 4 lines that list cache:

samd51_thing_plus.menu.cache.on=Enabled
samd51_thing_plus.menu.cache.on.build.cache_flags=-DENABLE_CACHE
samd51_thing_plus.menu.cache.off=Disabled
samd51_thing_plus.menu.cache.off.build.cache_flags=

Removing those lines from the file and restarting the IDE fixes the error and allows the code to compile successfully and it seems to run as expected.

What is going on?

It looks like there are probably some leftover SAMD board definitions left over from 1.8.3 in your local files; uninstalling & wiping the arduino15 folder like so https://support.arduino.cc/hc/en-us/art … rduino-IDE should help things - be sure to perform the “Removing additional files” steps, then try re-installing/starting over with installing the board definitions

My install was on a computer that had never had the Arduino IDE installed before BUT I believe I am using board package 1.8.3.

I followed the instructions (https://learn.sparkfun.com/tutorials/sa … rduino-ide) that asked to add https://raw.githubusercontent.com/spark … index.json to the additional board managers list. This causes “SparkFun SAMD Boards (dependency: Arduino SAMD Boards 1.8.1) by SparkFun Electronics” to show up. The latest version available is 1.8.3. I’m using that with “Arduino SAMD Boards (32-bits ARM Cortex-M0+) by Arduino” version 1.8.1. So, yes I guess I’m using definitions from 1.8.3 - not exactly left over though. :slight_smile:

Is there a later version that I should be using? If so, how do I find it?

The link in the tutorials is to ‘master’

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json.
``` The latest version for the SAMD51 board driver is 1.8.3

Try this link instead in 'additional board references' in preferences. It uses 'main' instead of 'master':

https://raw.githubusercontent.com/sparkfun/Arduino_Boards/main/IDE_Board_Manager/package_sparkfun_index.json.


Sometime ago Sparkfun changed the link from 'master' to 'main' and it looks the tutorial needs an update.

You want SAMD51 caching enabled. The Cache memory function sits between data flash memory and the processor. When disabled the SAMD51 functions slower.

Thank you, Paul!