This repository contains the source code and configuration files of the Arduino Core for Atmel's SAMD21 processor (used on the Arduino/Genuino Zero, MKR1000 and MKRZero boards).
This code has been changed to work for the FLWSB SAMDaaNo21 development board.
Om de SAMDaaNo21 werkende te krijgen met een IDE zoals die van Arduino moeten we eerst een compatibele bootloader op de MCU hebben staan. Wij maken gebruik van de ATSAMD21G16B en spijtig genoeg zijn hier geen kant-en-klare bootloaders voor. Omdat we de printplaat zelf hebben ontworpen zijn er uiteraard ook geen volledig compatibele configuraties beschikbaar.
Het toevoegen voor ondersteuning verloopt in een aantal stappen:
- Bootloader aanpassen aan de ATSAMD21G16B
- Bootloader compileren
- Een Arduino variant toevoegen voor de SAMDaaNo21
- Linker script aanpassen
- OpenOCD script aanpassen
- Pinout en functies definiëren
Bij deze stappen hebben we ons gebaseerd op de Arduino Zero. Deze heeft echter een ATSAMD21G18A, dat is een variant van de MCU met meer geheugen.
Alle nodige broncode is te verkrijgen van de ArduinoCore-samd GitHub repository. (Onze fork)
Belangrijke mappen en bestanden:
Naam | Beschrijving |
---|---|
bootloaders/ | Map met broncode voor alle type Arduino's. |
variants/ | Map met broncode voor alle verschillende varianten van Arduino's om compatibel te zijn met de Arduino bibliotheken. |
boards.txt | Bestand met definities en instellingen voor Arduino borden weer te geven in de Arduino IDE onder tools -> board: xxx |
Porting Arduino Zero to another samd21g variant: https://forum.arduino.cc/t/porting-arduino-zero-to-another-samd21g-variant/400138/3
https://www.instructables.com/Arduino-IDE-Creating-Custom-Boards/
De ondersteuning voor het FLWSB bord is nog niet op een toegankelijke manier te installeren. Je kan echter wel de stappen volgen onder #Developing om het toe te voegen.
If you find a bug you can submit an issue here on github:
https://github.com/DaanDekoningKrekels/ArduinoCore-samd/issues
Before posting a new issue, please check if the same problem has been already reported by someone else to avoid duplicates.
Contributions are always welcome. The preferred way to receive code contribution is by submitting a Pull Request on github.
- Clone the ArduinoCore-API repo to any convenient location:
git clone https://github.com/arduino/ArduinoCore-API.git
- Create an
<SKETCHBOOK>/hardware/arduino-git
folder, where<SKETCHBOOK>
is the location of your Arduino sketchbook. - Change directories:
cd <SKETCHBOOK>/hardware/arduino-git
- Clone this repo:
git clone https://github.com/DaanDekoningKrekels/ArduinoCore-samd.git samd
- Change directories:
cd samd/cores/arduino
- Copy or symlink the
api
folder from the ArduinoCore-API repo:whereln -s <ARDUINO_CORE_API>/api .
<ARDUINO_CORE_API>
is the location where you've cloned the ArduinoCore-API repository to. - Restart the IDE.
This core has been developed by Arduino LLC in collaboration with Atmel.
Copyright (c) 2015 Arduino LLC. All right reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA