Code Monkey home page Code Monkey logo

minicore's Introduction

MiniCore

Build Status MiniCore forum thread

An Arduino core for the ATmega328, ATmega168, ATmega88, ATmega48 and ATmega8, all running the Urboot bootloader. This core requires at least Arduino IDE v1.8, where v1.8.9 or newer is recommended. IDE 2.x should also work.

From MiniCore version 3 and onwards, the Optiboot bootloader has been replaced by the superior Urboot bootloader. It's smaller, faster, and has automatic baud rate detection, and can read and write to EEPROM. Other cool features the bootloader provides but are not utilized by MiniCore are user program metadata stored in flash (that can easily be viewed by Avrdude -xshowall) and chip-erase functionality. If you already have Optiboot installed and don't want to replace it with Urboot, you can still upload programs without any compatibility issues. However, if you're burning a bootloader to a new chip, Urboot is the way to go.

This core gives you two extra IO pins if you're using the internal oscillator! PB6 and PB7 are mapped to Arduino pin 20 and 21.

Table of contents

Supported microcontrollers:

  • ATmega8
  • ATmega48
  • ATmega88
  • ATmega168
  • ATmega328

* All variants (A, P, PA and PB)

ATmega328 ATmega168 ATmega88 ATmega48 ATmega8
Flash 32kB 16kB 8kB 4kB 8kB
RAM 2kB 1kB 1kB 512B 1kB
EEPROM 1kB 512B 512B 256B 512B
PWM pins 6/9* 6 6 6 3

* ATmega328PB has 9 PWM pins

Supported clock frequencies

MiniCore supports a variety of different clock frequencies. Select the microcontroller in the boards menu, then select the clock frequency. You will have to hit "Burn bootloader" in order to set the correct fuses and upload the correct bootloader. This also has to be done if you want to change any of the fuse settings (BOD and EEPROM settings) regardless if a bootloader is installed or not.

Make sure you connect an ISP programmer, and select the correct one in the "Programmers" menu. For time-critical operations, an external crystal/oscillator is recommended. The Urboot bootloader has automatic baud rate detection, so UART uploads should work fine even though the oscillator is a little too fast or too slow.

Frequency Oscillator type Comment
16 MHz External crystal/oscillator Default clock on most AVR-based Arduino boards and MiniCore
20 MHz External crystal/oscillator
18.4320 MHz External crystal/oscillator Great clock for UART communication with no error
14.7456 MHz  External crystal/oscillator Great clock for UART communication with no error
12 MHz External crystal/oscillator
11.0592 MHz External crystal/oscillator Great clock for UART communication with no error
8 MHz External crystal/oscillator Common clock when working with 3.3V
7.3728 MHz External crystal/oscillator Great clock for UART communication with no error
6 MHz External crystal/oscillator
4 MHz External crystal/oscillator
3.6864 MHz External crystal/oscillator Great clock for UART communication with no error
2 MHz External crystal/oscillator
1.8432 MHz External crystal/oscillator Great clock for UART communication with no error
1 MHz External crystal/oscillator
8 MHz Internal oscillator
4 MHz Internal oscillator Derived from the 8 MHz internal oscillator
2 MHz Internal oscillator Derived from the 8 MHz internal oscillator
1 MHz Internal oscillator Derived from the 8 MHz internal oscillator

Bootloader option

MiniCore lets you select which serial port you want to use for uploading. UART0 is the default port for all targets, but ATmega328PB can also use UART1. If your application doesn't need or require a bootloader for uploading you can also choose to disable it by selecting No bootloader. This frees 384 bytes of flash memory on ATmega8/88/168/328 and 320 bytes on the ATmega48.

Note that you need to connect a programmer and hit Burn bootloader if you want to change any of the Bootloader settings.

Baud rate option

Since Urboot has automatic baud rate detection, the upload baud rate can be changed without having to re-flash the bootloader. The default baud rate setting will pick a suited baud rate that also works with the legacy Optiboot bootloader used in earlier MiniCore versions. The other baud rate options may or may not work, depending on the clock frequency and accuracy of the clock source. A rule of thumb is that "non-round" baud rates like 230400 works best with "non-round" clock speeds like 18.4320 MHz, while "round" ones like 16 MHz work best with "round" baud rates like 250000.

BOD option

Brown-out detection, or BOD for short lets the microcontroller sense the input voltage and shut down if the voltage goes below the brown-out setting. To change the BOD settings you'll have to connect an ISP programmer and hit "Burn bootloader". Below is a table that shows the available BOD options:

ATmega328 ATmega168 ATmega88 ATmega48 ATmega8
4.3V 4.3V 4.3V 4.3V 4.0V
2.7V 2.7V 2.7V 2.7V 2.7V
1.8V 1.8V 1.8V 1.8V -
Disabled Disabled Disabled Disabled Disabled

EEPROM option

If you want the EEPROM to be erased every time you burn the bootloader or upload using a programmer, you can turn off this option. You'll have to connect an ISP programmer and hit "Burn bootloader" to enable or disable EEPROM retain. Note that when uploading using a bootloader, the EEPROM will always be retained.

Note that if you're using an ISP programmer or have the Urboot bootloader installed, data specified in the user program using the EEMEM attribute will be uploaded to EEPROM when you upload your program in Arduino IDE. This feature is not available when using the older Optiboot bootloader.

#include <avr/eeprom.h>

volatile const char ee_data EEMEM = {"Data that's loaded straight into EEPROM\n"};

void setup() {
}

void loop() {
}

Link time optimization / LTO

Link time optimization (LTO for short) optimizes the code at link time, usually making the code significantly smaller without affecting performance. You don't need to hit "Burn Bootloader" in order to enable or disable LTO. Simply choose your preferred option in the "Tools" menu, and your code is ready for compilation. If you want to read more about LTO and GCC flags in general, head over to the GNU GCC website!

Printf support

Unlike the official Arduino cores, MiniCore has printf support out of the box. If you're not familiar with printf you should probably read this first. It's added to the Print class and will work with all libraries that inherit Print. Printf is a standard C function that lets you format text much easier than using Arduino's built-in print and println. Note that this implementation of printf will NOT print floats or doubles. This is disabled by default to save space but can be enabled using a build flag if using PlatformIO.

If you're using a serial port, simply use Serial.printf("Milliseconds since start: %ld\n", millis());. You can also use the F() macro if you need to store the string in flash. Other libraries that inherit the Print class (and thus supports printf) are the LiquidCrystal LCD library and the U8G2 graphical LCD library.

Pin macros

Note that you don't have to use the digital pin numbers to refer to the pins. You can also use some predefined macros that maps "Arduino pins" to the port and port number:

// Use PIN_PB5 macro to refer to pin PB5 (Arduino pin 13)
digitalWrite(PIN_PB5, HIGH);

// Results in the exact same compiled code
digitalWrite(13, HIGH);

Write to own flash

MiniCore uses the excellent Urboot bootloader, written by Stefan Rueger. Urboot supports flash writing within the running application, meaning that content from e.g. a sensor can be stored in the flash memory directly without needing external memory. Flash memory is much faster than EEPROM, and can handle at least 10,000 write cycles before wear becomes an issue. For more information on how it works and how you can use this in your own application, check out the Serial_read_write for a simple proof-of-concept demo, and Flash_put_get + Flash_iterate for useful examples on how you can store strings, structs, and variables to flash and retrieve then afterward.

Programmers

Select your microcontroller in the boards menu, then select the clock frequency. You'll have to hit "Burn bootloader" in order to set the correct fuses and upload the correct bootloader.
Make sure you connect an ISP programmer, and select the correct one in the "Programmers" menu. For time-critical operations, an external oscillator is recommended.

How to install

Boards Manager Installation

This installation method requires Arduino IDE version 1.8.0 or greater.

  • Open the Arduino IDE.

  • Open the File > Preferences menu item.

  • Enter the following URL in Additional Boards Manager URLs:

    https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
    
  • Open the Tools > Board > Boards Manager... menu item.

  • Wait for the platform indexes to finish downloading.

  • Scroll down until you see the MiniCore entry and click on it.

  • Click Install.

  • After installation is complete close the Boards Manager window.

Manual Installation

Click on the "Download ZIP" button in the upper right corner. Extract the ZIP file, and move the extracted folder to the location "~/Documents/Arduino/hardware". Create the "hardware" folder if it doesn't exist. Open Arduino IDE, and a new category in the boards menu called "MiniCore" will show up.

Arduino CLI Installation

Run the following command in a terminal:

arduino-cli core install MiniCore:avr --additional-urls https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json

PlatformIO

PlatformIO is an open-source ecosystem for IoT and embedded systems, and supports MiniCore.

*See PlatformIO.md for more information.

Getting started with MiniCore

  • Hook up your microcontroller as shown in the pinout diagram, or simply just plug it into an Arduino UNO board.
    • (If you're not planning to use the bootloader (uploading code using a USB to serial adapter), the FTDI header and the 100 nF capacitor on the reset pin can be omitted.)
  • Open the Tools > Board menu item, select MiniCore and select your preferred target.
  • If the BOD option is presented, you can select at what voltage the microcontroller will shut down at. Read more about BOD here.
  • Select your preferred clock frequency. 16 MHz is standard on most Arduino boards, including the Arduino UNO.
  • Select what kind of programmer you're using under the Programmers menu.
  • If the Variants option is presented, you'll have to specify what version of the microcontroller you're using. E.g the ATmega328 and the ATmega328P got different device signatures, so selecting the wrong one will result in an error.
  • Hit Burn Bootloader. The LED pin will not toggle after the bootloader has been loaded.
  • Disconnect the ISP programmer, and connect a USB to serial adapter to the target microcontroller shown in the pinout diagram. Select the correct serial port under the Tools menu, and click the Upload button. If you're getting a timeout error, it may be because the RX and TX pins are swapped, or the auto-reset circuit isn't working properly (the 100 nF capacitor and a 10k resistor on the reset line).

Your code should now be running on your microcontroller!

Wiring reference

To extend this core's functionality a bit further, I've added a few missing Wiring functions. As many of you know Arduino is based on Wiring, but that doesn't mean the Wiring development isn't active. These functions are used as "regular" Arduino functions, and there's no need to include an external library.
I hope you find this useful because they really are!

Function list

  • portMode()
  • portRead()
  • portWrite()
  • sleepMode()
  • sleep()
  • noSleep()
  • enablePower()
  • disablePower()

For further information please view the Wiring reference page!

Pinout

This core uses the standard Arduino UNO pinout and will not break the compatibility of any existing code or libraries. What's different about this pinout compared to the original one is that this has three additional IO pins available. You can use digital pins 20 and 21 (PB6 and PB7) as regular IO pins if you're using the internal oscillator. If you're willing to disable the reset pin (can be enabled using high voltage parallel programming) it can be used as a regular IO pin and is assigned to digital pin 22 (PC6). Click to enlarge:

DIP-28 package ATmega8/48/88/168/328 TQFP-32 SMD package ATmega8/48/88/168/328 TQFP-32 SMD package ATmega48/88/168/328PB

Minimal setup

Here is a simple schematic showing a minimal setup using an external crystal. Skip the crystal and the two 22pF capacitors if you're using the internal oscillator. If you don't want to mess with breadboards, components and wiring; simply use your Arduino UNO! Click to enlarge:

DIP-28 package ATmega8/48/88/168/328 TQFP-32 SMD package ATmega8/48/88/168/328 TQFP-32 SMD package ATmega48/88/168/328PB

minicore's People

Contributors

asukiaaa avatar bigjosh avatar cvasqxz avatar dewhisna avatar faithhunja avatar hayden-t avatar jetstreamc avatar kevinlutzer avatar mcudude avatar mistepien avatar nhatuan87 avatar per1234 avatar pfeerick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

minicore's Issues

convert String to Char not work correctly

I have program to sending data to server.
1) use clasic bootloader - the server receives a correct data
log: 192.168.0.106 - - [12/Dec/2018:09:31:53 +0100] "GET /arduino/elektromer.php?ID=AR06&t1=12&spotreba=12558&tarif=1" 200 2 "-" "-"
2) use minicore bootloader - the server NOT receives a correct data
log: 192.168.0.106 - - [12/Dec/2018:09:30:45 +0100] "GET /arduino/elektromer.php?ID=AR06&t\x06\xa8\b\xdc\xa5\x03\x122\x04\xa6\xbe\xca\x0f\x10\xdd\b'\x04l\x03\xba\b\xa5\x03K\x04\x98\x01 HTTP/1.0" 400 981 "-" "-"

`void sendPacket(String dataString){

char dataChar[50];
dataString.toCharArray(dataChar, 50);
ether.browseUrl(PSTR("/arduino/elektromer.php?"), dataChar, server, callback);

}`

Thank you for your advice.

use shiftIn from MicroCore

Since it is smaller and faster.
With a few changes, shiftOut could be used as well. For MicroCore I used direct PORTB access in the optimized shiftOut because I didn't want to take the time to figure out the digitalPinToPort function or whatever it is called.

PinChange interrupts don't work on D20/D21 (PB6/PB7)

minicore supports using PB6/PB7 (normally the XTAL pins) as normal digital IO, and the various digitalPinToPCxxx() macros have been updated to include those, except I don't think they've been fully updated...
I don't see any logic to force them back into PORTB (PCMSK0):

#define digitalPinToPCICR(p)    (((p) >= 0 && (p) <= 21) ? (&PCICR) : ((uint8_t *)0))
#define digitalPinToPCICRbit(p) (((p) <= 7) ? 2 : (((p) <= 13) ? 0 : 1))
#define digitalPinToPCMSK(p)    (((p) <= 7) ? (&PCMSK2) : (((p) <= 13) ? (&PCMSK0) : (((p) <= 21) ? (&PCMSK1) : ((uint8_t *)0))))
#define digitalPinToPCMSKbit(p) (((p) <= 7) ? (p) : (((p) <= 13) ? ((p) - 8) : ((p) - 14)))

i2c blocks indefinitely if SDA line is shorted to ground on ATmega328

I'm using the Wire library on my ATmega328 (board version 328) as a master. Configuration is shown in following picture:

image

I accidentally had the SDA line shorted to ground. The ensuing behaviour of the ATmega328 seems strange, and I think it may be a bug. Not sure if its a bug from the MiniCore project or from the Arduino Wire library in general.

Basically what happens in this case is that the ATmega328 just keeps sending clock pulses out indefinitely.

screenshot

The expected behaviour should be that the ATmega328 sees the SDA line is low when it goes to use the i2c bus as a master, and concludes that another master has control of the line and returns immediately with an error code 4 - other error

It seems that there is no "bus is busy" error described in the Arduino Wire.endTransmission() return codes defined here https://www.arduino.cc/en/Reference/WireEndTransmission

This makes me think that the Arduino Wire library is not compatible with the i2c hardware spec, which says that any master attempting to take control of the bus should check to make sure that the bus is not already busy, as described here: https://www.i2c-bus.org/multimaster/

Can't upload to ATmega328PB

I'm using the following setup:

Arduino IDE V1.8.5
Arduino AVR Boards (board manager) v1.6.207
MiniCore v2.0.1

Using AVR pocket programmer from SparkFun

to program a ATmega328PB mounted on a ATmega328PB Xplained development board

Compiling code in Arduino IDE works fine.

When I go to "burn bootloader", I get the following message:

Arduino: 1.8.5 (Windows 10), Board: "ATmega328, No, 328PB, 2.7v, Disabled (default), 8 MHz internal"

C:\Users\Boompy\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino14/bin/avrdude -CC:\Users\Boompy\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.0.1/avrdude.conf -v -patmega328pb -cusbtiny -e -Ulock:w:0x3f:m -Uefuse:w:0xfd:m -Uhfuse:w:0xd7:m -Ulfuse:w:0xe2:m 

avrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Boompy\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.0.1/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : usbtiny
avrdude: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\\.\libusb0-0001--0x1781-0x0c9f
         AVR Part                      : ATmega328PB
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : USBtiny
         Description     : USBtiny simple USB programmer, http://www.ladyada.net/make/usbtinyisp/
avrdude: programmer operation not supported

avrdude: Using SCK period of 10 usec
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x000000 (retrying)

Error while burning bootloader.
Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

If I open a terminal and type avrdude -c usbtiny -p m328p

I get the following:

C:\Users\Boompy>avrdude -c usbtiny -p m328p

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9516
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

What am I doing wrong? How can I use this setup to successfully work with the ATmega328PB?

How to use space from not burning bootloader?

Hello. I am trying to compile a hefty program for a Atmega 8. It is larger that its memory and I get

ld.exe: region `text' overflowed by 90 bytes message.

Then I try compile it with bootloader disabled (by selecting respective option from IDE menu) but get the same
ld.exe: region `text' overflowed by 90 bytes error.

How can I make use of space left from not burning a bootloader?

BTW, if I compile for attiny85 (using https://github.com/SpenceKonde/ATTinyCore), the firmware fits totally fine and I get Sketch uses 6318 bytes (77%) of program storage space. Maximum is 8192 message. Is there a way to tweak options for minicore to get similar result?

Enhancement request: Add option to not use bootloader

I often field inquiries into using an Atmega microcontroller with the Arduino IDE without using an ISP programmer. I would like to suggest a menu option to choose whether a bootloader is to be used. This would eliminate the issues around the BOOTRST fuse and allow use of the full flash space for user application. It would be great to be able to point these people to your core instead of having to instruct them how to modify boards.txt, and would make MiniCore appropriate for a production environment where a serial bootloader may not be appropriate

New minimal setup shematics should be added

New minimal setup shematics should be added to match both DIP-28 and TQFP-32 packages. The new shematics should also have the same format as the ones found in MightyCore and MegaCore.

Caveat about micros() does not match reality

In the documentation, users are warned about clock speeds by which 64 is not evenly divisible, and told that at 18.whatever mhz, micros() is slower. But looking at wiring.c, this does not appear to be the case. That version of micros() is the same as in the official core, which just uses integer division - so the result is fast regardless of clock speed, but wrong (sometimes very wrong) if 64 is not divisible by clock cycles per microsecond.

It looks like you're referencing a micros() implementation like in my core, where I use a combination of bitshifts and addition/subtraction to get micros() within a few percent of reality, at a modest cost in execution speed (since doing floating point division to get the actual value takes forever). You're welcome to take my implementation if you want to go that route.

Consider Travis CI testing for MiniCore?

MiniCore is slowly getting more and more popular, and with the recent changes with MCUdude_corefiles, I think adding Travis CI to MiniCore should be considered?

Would you like to help me out with this one too @per1234 ? 🙂

Command Line Build issues

The command-line arduino is throwing several errors.

$ /Applications/Arduino.app/Contents/MacOS/Arduino --verify --board MiniCore:avr:168:variant=modelP --verbose --preserve-temp-files src/src.ino
Already up to date.
Loading configuration...
Initializing packages...
Preparing boards...
Verifying...
/Applications/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/steven/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/steven/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/steven/Documents/Arduino/libraries -fqbn=MiniCore:avr:168:variant=modelP -ide-version=10805 -build-path /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745 -warnings=none -build-cache /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_cache_614830 -prefs=build.warn_data_percentage=75 -verbose /Users/steven/Outdoor-Lighting-Controller/Arduino_Nano/src/src.ino
/Applications/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/steven/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/steven/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/steven/Documents/Arduino/libraries -fqbn=MiniCore:avr:168:variant=modelP -ide-version=10805 -build-path /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745 -warnings=none -build-cache /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_cache_614830 -prefs=build.warn_data_percentage=75 -verbose /Users/steven/Outdoor-Lighting-Controller/Arduino_Nano/src/src.ino
Using board '168' from platform in folder: /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0
Using core 'MCUdude_corefiles' from platform in folder: /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0
Detecting libraries used...
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega168p -DF_CPU= -DARDUINO=10805 -DARDUINO_AVR_ATmega168 -DARDUINO_ARCH_AVR   "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles" "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/variants/standard" "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745/sketch/src.ino.cpp" -o "/dev/null"
Generating function prototypes...
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega168p -DF_CPU= -DARDUINO=10805 -DARDUINO_AVR_ATmega168 -DARDUINO_ARCH_AVR   "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles" "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/variants/standard" "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745/sketch/src.ino.cpp" -o "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Applications/Arduino.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega168p -DF_CPU={build.f_cpu} -DARDUINO=10805 -DARDUINO_AVR_ATmega168 -DARDUINO_ARCH_AVR   "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles" "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/variants/standard" "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745/sketch/src.ino.cpp" -o "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745/sketch/src.ino.cpp.o"
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/util/delay.h: In function 'void _delay_ms(double)':
<command-line>:0:8: error: 'build' was not declared in this scope
In file included from /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles/USBAPI.h:27:0,
                 from /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles/Arduino.h:289,
                 from /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745/sketch/src.ino.cpp:1:
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/util/delay.h:174:21: error: invalid operands of types 'void' and 'double' to binary 'operator/'
  __tmp = ((F_CPU) / 1e3) * __ms;
                     ^
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/util/delay.h: In function 'void _delay_us(double)':
<command-line>:0:8: error: 'build' was not declared in this scope
In file included from /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles/USBAPI.h:27:0,
                 from /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles/Arduino.h:289,
                 from /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_544745/sketch/src.ino.cpp:1:
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/util/delay.h:263:21: error: invalid operands of types 'void' and 'double' to binary 'operator/'
  __tmp = ((F_CPU) / 1e6) * __us;
                     ^
exit status 1

$ /Applications/Arduino.app/Contents/MacOS/Arduino --verify --board MiniCore:avr:328 --verbose --preserve-temp-files src/src.ino
Already up to date.
Loading configuration...
Initializing packages...
Preparing boards...
Verifying...
/Applications/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/steven/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/steven/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/steven/Documents/Arduino/libraries -fqbn=MiniCore:avr:168 -ide-version=10805 -build-path /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_155433 -warnings=none -build-cache /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_cache_842587 -prefs=build.warn_data_percentage=75 -verbose /Users/steven/Outdoor-Lighting-Controller/Arduino_Nano/src/src.ino
/Applications/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/steven/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/steven/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/steven/Documents/Arduino/libraries -fqbn=MiniCore:avr:168 -ide-version=10805 -build-path /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_155433 -warnings=none -build-cache /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_cache_842587 -prefs=build.warn_data_percentage=75 -verbose /Users/steven/Outdoor-Lighting-Controller/Arduino_Nano/src/src.ino
Using board '168' from platform in folder: /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0
Using core 'MCUdude_corefiles' from platform in folder: /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0
Detecting libraries used...
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu= -DF_CPU= -DARDUINO=10805 -DARDUINO_AVR_ATmega168 -DARDUINO_ARCH_AVR   "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles" "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_155433/sketch/src.ino.cpp" -o "/dev/null"
Generating function prototypes...
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu= -DF_CPU= -DARDUINO=10805 -DARDUINO_AVR_ATmega168 -DARDUINO_ARCH_AVR   "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles" "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_155433/sketch/src.ino.cpp" -o "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_155433/preproc/ctags_target_for_gcc_minus_e.cpp"
avr-g++: error: missing device or architecture after '-mmcu='
exit status 1

$ /Applications/Arduino.app/Contents/MacOS/Arduino --verify --board MiniCore:avr:328:variant=modelP --verbose --preserve-temp-files src/src.ino
Already up to date.
Loading configuration...
Initializing packages...
Preparing boards...
Verifying...
/Applications/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/steven/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/steven/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/steven/Documents/Arduino/libraries -fqbn=MiniCore:avr:328:variant=modelP -ide-version=10805 -build-path /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022 -warnings=none -build-cache /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_cache_155658 -prefs=build.warn_data_percentage=75 -verbose /Users/steven/Outdoor-Lighting-Controller/Arduino_Nano/src/src.ino
/Applications/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/steven/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/steven/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/steven/Documents/Arduino/libraries -fqbn=MiniCore:avr:328:variant=modelP -ide-version=10805 -build-path /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022 -warnings=none -build-cache /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_cache_155658 -prefs=build.warn_data_percentage=75 -verbose /Users/steven/Outdoor-Lighting-Controller/Arduino_Nano/src/src.ino
Using board '328' from platform in folder: /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0
Using core 'MCUdude_corefiles' from platform in folder: /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0
Detecting libraries used...
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU= -DARDUINO=10805 -DARDUINO_AVR_ATmega328 -DARDUINO_ARCH_AVR   "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles" "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/variants/standard" "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022/sketch/src.ino.cpp" -o "/dev/null"
Generating function prototypes...
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU= -DARDUINO=10805 -DARDUINO_AVR_ATmega328 -DARDUINO_ARCH_AVR   "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles" "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/variants/standard" "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022/sketch/src.ino.cpp" -o "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Applications/Arduino.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega328p -DF_CPU={build.f_cpu} -DARDUINO=10805 -DARDUINO_AVR_ATmega328 -DARDUINO_ARCH_AVR   "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles" "-I/Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/variants/standard" "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022/sketch/src.ino.cpp" -o "/var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022/sketch/src.ino.cpp.o"
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/util/delay.h: In function 'void _delay_ms(double)':
<command-line>:0:8: error: 'build' was not declared in this scope
In file included from /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles/USBAPI.h:27:0,
                 from /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles/Arduino.h:289,
                 from /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022/sketch/src.ino.cpp:1:
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/util/delay.h:174:21: error: invalid operands of types 'void' and 'double' to binary 'operator/'
  __tmp = ((F_CPU) / 1e3) * __ms;
                     ^
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/util/delay.h: In function 'void _delay_us(double)':
<command-line>:0:8: error: 'build' was not declared in this scope
In file included from /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles/USBAPI.h:27:0,
                 from /Users/steven/Library/Arduino15/packages/MiniCore/hardware/avr/2.0.0/cores/MCUdude_corefiles/Arduino.h:289,
                 from /var/folders/ry/9vqr33vj43n6yv55nzr7plkr0000gn/T/arduino_build_433022/sketch/src.ino.cpp:1:
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include/util/delay.h:263:21: error: invalid operands of types 'void' and 'double' to binary 'operator/'
  __tmp = ((F_CPU) / 1e6) * __us;
                     ^
exit status 1

Cannot compile bootloader

The documentation says:
"You need to install make, avr-libc, avr-binutils and avr-gcc"

I have
avr-libc (2.0.0)
binutils-avr (2.26)
gcc-avr (5.4.0)

When executing:
/usr/bin/avr-gcc -g -Wall -Os -fno-split-wide-types -mrelax -mmcu=atmega328pb -DF_CPU=16000000L -DBAUD_RATE=115200 -DLED_START_FLASHES=2 -DLED=B5 -DUART=0 -c -o optiboot_flash.o optiboot_flash.c

I get numerous errors... (see below)
but when I select mmcu=atmega328p then the compilation works...

In file included from optiboot_flash.c:250:0:
/usr/lib/avr/include/avr/io.h:623:6: warning: #warning "device type not defined" [-Wcpp]

warning "device type not defined"

  ^

In file included from optiboot_flash.c:252:0:
/usr/lib/avr/include/avr/eeprom.h:41:3: warning: #warning "Device does not have EEPROM available." [-Wcpp]

warning "Device does not have EEPROM available."

^
In file included from optiboot_flash.c:259:0:
boot.h:127:4: error: #error AVR processor does not provide bootloader support!

error AVR processor does not provide bootloader support!

^

boot.h:138:4: error: #error Cannot find SPM Enable bit definition!

error Cannot find SPM Enable bit definition!

^

optiboot_flash.c:311:2: warning: #warning BAUD_RATE error greater than 2% [-Wcpp]
#warning BAUD_RATE error greater than 2%
^
optiboot_flash.c: In function ‘main’:
optiboot_flash.c:506:8: error: ‘MCUSR’ undeclared (first use in this function)
ch = MCUSR;
^
optiboot_flash.c:506:8: note: each undeclared identifier is reported only once for each function it appears in
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:521:20: error: ‘WDRF’ undeclared (first use in this function)
if ((ch & (_BV(WDRF) | _BV(EXTRF))) != _BV(EXTRF)) {
^
optiboot_flash.c:521:32: error: ‘EXTRF’ undeclared (first use in this function)
if ((ch & (_BV(WDRF) | _BV(EXTRF))) != _BV(EXTRF)) {
^
optiboot_flash.c:545:3: error: ‘TCCR1B’ undeclared (first use in this function)
TCCR1B = _BV(CS12) | _BV(CS10); // div 1024
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:545:16: error: ‘CS12’ undeclared (first use in this function)
TCCR1B = _BV(CS12) | _BV(CS10); // div 1024
^
optiboot_flash.c:545:28: error: ‘CS10’ undeclared (first use in this function)
TCCR1B = _BV(CS12) | _BV(CS10); // div 1024
^
In file included from optiboot_flash.c:269:0:
pin_defs.h:231:18: error: ‘UCSR0A’ undeclared (first use in this function)
#define UART_SRA UCSR0A
^
optiboot_flash.c:557:3: note: in expansion of macro ‘UART_SRA’
UART_SRA = _BV(U2X0); //Double speed mode USART0
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:557:18: error: ‘U2X0’ undeclared (first use in this function)
UART_SRA = _BV(U2X0); //Double speed mode USART0
^
In file included from optiboot_flash.c:269:0:
pin_defs.h:232:18: error: ‘UCSR0B’ undeclared (first use in this function)
#define UART_SRB UCSR0B
^
optiboot_flash.c:558:3: note: in expansion of macro ‘UART_SRB’
UART_SRB = _BV(RXEN0) | _BV(TXEN0);
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:558:18: error: ‘RXEN0’ undeclared (first use in this function)
UART_SRB = _BV(RXEN0) | _BV(TXEN0);
^
optiboot_flash.c:558:31: error: ‘TXEN0’ undeclared (first use in this function)
UART_SRB = _BV(RXEN0) | _BV(TXEN0);
^
In file included from optiboot_flash.c:269:0:
pin_defs.h:233:18: error: ‘UCSR0C’ undeclared (first use in this function)
#define UART_SRC UCSR0C
^
optiboot_flash.c:559:3: note: in expansion of macro ‘UART_SRC’
UART_SRC = _BV(UCSZ00) | _BV(UCSZ01);
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:559:18: error: ‘UCSZ00’ undeclared (first use in this function)
UART_SRC = _BV(UCSZ00) | _BV(UCSZ01);
^
optiboot_flash.c:559:32: error: ‘UCSZ01’ undeclared (first use in this function)
UART_SRC = _BV(UCSZ00) | _BV(UCSZ01);
^
In file included from optiboot_flash.c:269:0:
pin_defs.h:234:18: error: ‘UBRR0L’ undeclared (first use in this function)
#define UART_SRL UBRR0L
^
optiboot_flash.c:560:3: note: in expansion of macro ‘UART_SRL’
UART_SRL = (uint8_t)( (F_CPU + BAUD_RATE * 4L) / (BAUD_RATE * 8L) - 1 );
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:332:30: error: ‘WDP2’ undeclared (first use in this function)
#define WATCHDOG_1S (_BV(WDP2) | _BV(WDP1) | _BV(WDE))
^
optiboot_flash.c:565:18: note: in expansion of macro ‘WATCHDOG_1S’
watchdogConfig(WATCHDOG_1S);
^
optiboot_flash.c:332:42: error: ‘WDP1’ undeclared (first use in this function)
#define WATCHDOG_1S (_BV(WDP2) | _BV(WDP1) | _BV(WDE))
^
optiboot_flash.c:565:18: note: in expansion of macro ‘WATCHDOG_1S’
watchdogConfig(WATCHDOG_1S);
^
optiboot_flash.c:332:54: error: ‘WDE’ undeclared (first use in this function)
#define WATCHDOG_1S (_BV(WDP2) | _BV(WDP1) | _BV(WDE))
^
optiboot_flash.c:565:18: note: in expansion of macro ‘WATCHDOG_1S’
watchdogConfig(WATCHDOG_1S);
^
In file included from optiboot_flash.c:269:0:
pin_defs.h:406:21: error: ‘DDRB’ undeclared (first use in this function)
#define LED_DDR DDRB
^
optiboot_flash.c:569:3: note: in expansion of macro ‘LED_DDR’
LED_DDR |= _BV(LED);
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
pin_defs.h:409:17: error: ‘PINB5’ undeclared (first use in this function)
#define LED PINB5
^
optiboot_flash.c:569:18: note: in expansion of macro ‘LED’
LED_DDR |= _BV(LED);
^
optiboot_flash.c:748:13: error: ‘SIGNATURE_0’ undeclared (first use in this function)
putch(SIGNATURE_0);
^
optiboot_flash.c:749:13: error: ‘SIGNATURE_1’ undeclared (first use in this function)
putch(SIGNATURE_1);
^
optiboot_flash.c:750:13: error: ‘SIGNATURE_2’ undeclared (first use in this function)
putch(SIGNATURE_2);
^
In file included from optiboot_flash.c:269:0:
optiboot_flash.c: In function ‘putch’:
pin_defs.h:231:18: error: ‘UCSR0A’ undeclared (first use in this function)
#define UART_SRA UCSR0A
^
optiboot_flash.c:767:12: note: in expansion of macro ‘UART_SRA’
while (!(UART_SRA & _BV(UDRE0)));
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:767:27: error: ‘UDRE0’ undeclared (first use in this function)
while (!(UART_SRA & _BV(UDRE0)));
^
In file included from optiboot_flash.c:269:0:
pin_defs.h:235:18: error: ‘UDR0’ undeclared (first use in this function)
#define UART_UDR UDR0
^
optiboot_flash.c:768:3: note: in expansion of macro ‘UART_UDR’
UART_UDR = ch;
^
optiboot_flash.c: In function ‘getch’:
pin_defs.h:231:18: error: ‘UCSR0A’ undeclared (first use in this function)
#define UART_SRA UCSR0A
^
optiboot_flash.c:834:11: note: in expansion of macro ‘UART_SRA’
while(!(UART_SRA & _BV(RXC0)))
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:834:26: error: ‘RXC0’ undeclared (first use in this function)
while(!(UART_SRA & _BV(RXC0)))
^
optiboot_flash.c:836:24: error: ‘FE0’ undeclared (first use in this function)
if (!(UART_SRA & _BV(FE0))) {
^
In file included from optiboot_flash.c:269:0:
pin_defs.h:235:18: error: ‘UDR0’ undeclared (first use in this function)
#define UART_UDR UDR0
^
optiboot_flash.c:848:8: note: in expansion of macro ‘UART_UDR’
ch = UART_UDR;
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c: In function ‘verifySpace’:
optiboot_flash.c:326:30: error: ‘WDE’ undeclared (first use in this function)
#define WATCHDOG_16MS (_BV(WDE))
^
optiboot_flash.c:890:20: note: in expansion of macro ‘WATCHDOG_16MS’
watchdogConfig(WATCHDOG_16MS); // shorten WD timeout
^
optiboot_flash.c: In function ‘flash_led’:
optiboot_flash.c:900:5: error: ‘TCNT1’ undeclared (first use in this function)
TCNT1 = -(F_CPU/(102416));
^
optiboot_flash.c:901:5: error: ‘TIFR1’ undeclared (first use in this function)
TIFR1 = _BV(TOV1);
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:901:17: error: ‘TOV1’ undeclared (first use in this function)
TIFR1 = _BV(TOV1);
^
In file included from optiboot_flash.c:269:0:
pin_defs.h:408:21: error: ‘PINB’ undeclared (first use in this function)
#define LED_PIN PINB
^
optiboot_flash.c:908:5: note: in expansion of macro ‘LED_PIN’
LED_PIN |= _BV(LED);
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
pin_defs.h:409:17: error: ‘PINB5’ undeclared (first use in this function)
#define LED PINB5
^
optiboot_flash.c:908:20: note: in expansion of macro ‘LED’
LED_PIN |= _BV(LED);
^
optiboot_flash.c: In function ‘watchdogConfig’:
optiboot_flash.c:923:3: error: ‘WDTCSR’ undeclared (first use in this function)
WDTCSR = _BV(WDCE) | _BV(WDE);
^
In file included from /usr/lib/avr/include/avr/io.h:99:0,
from optiboot_flash.c:250:
optiboot_flash.c:923:16: error: ‘WDCE’ undeclared (first use in this function)
WDTCSR = _BV(WDCE) | _BV(WDE);
^
optiboot_flash.c:923:28: error: ‘WDE’ undeclared (first use in this function)
WDTCSR = _BV(WDCE) | _BV(WDE);
^
optiboot_flash.c: In function ‘writebuffer’:
boot.h:207:40: error: ‘__SPM_ENABLE’ undeclared (first use in this function)
#define __BOOT_PAGE_ERASE (_BV(__SPM_ENABLE) | _BV(PGERS))
^
optiboot_flash.c:983:38: note: in expansion of macro ‘__BOOT_PAGE_ERASE’
do_spm((uint16_t)(void
)address,__BOOT_PAGE_ERASE,0);
^
boot.h:207:60: error: ‘PGERS’ undeclared (first use in this function)
#define __BOOT_PAGE_ERASE (_BV(__SPM_ENABLE) | _BV(PGERS))
^
optiboot_flash.c:983:38: note: in expansion of macro ‘__BOOT_PAGE_ERASE’
do_spm((uint16_t)(void*)address,__BOOT_PAGE_ERASE,0);
^
boot.h:208:60: error: ‘PGWRT’ undeclared (first use in this function)
#define __BOOT_PAGE_WRITE (_BV(__SPM_ENABLE) | _BV(PGWRT))
^
optiboot_flash.c:999:38: note: in expansion of macro ‘__BOOT_PAGE_WRITE’
do_spm((uint16_t)(void*)address,__BOOT_PAGE_WRITE,0);
^
optiboot_flash.c: In function ‘do_spm’:
optiboot_flash.c:1084:25: error: ‘__SPM_REG’ undeclared (first use in this function)
: "i" (_SFR_IO_ADDR(__SPM_REG)),
^
boot.h:199:65: error: ‘__SPM_ENABLE’ undeclared (first use in this function)
#define boot_spm_busy() (__SPM_REG & (uint8_t)_BV(__SPM_ENABLE))
^
boot.h:205:49: note: in expansion of macro ‘boot_spm_busy’
#define boot_spm_busy_wait() do{}while(boot_spm_busy())
^
optiboot_flash.c:1095:5: note: in expansion of macro ‘boot_spm_busy_wait’
boot_spm_busy_wait();
^

4MHz external oscilator - OneWire problem

Hello.
I want to use ATmega328P with a super capacitor (voltage range 1.8V - 4.7V). I know that internal oscillator can be a bit unstable, so I want to use external one (4MHz due to min voltage).

I've fixed makeall file, added:

make atmega328p AVR_FREQ=4000000L BAUD_RATE=9600 LED=B5 LED_START_FLASHES=2 
make atmega328 AVR_FREQ=4000000L BAUD_RATE=9600 LED=B5 LED_START_FLASHES=2

And added 4MHz option to menu.
Then all bootloaders were rebuilt, 4MHz bootloaders were copied do the appropriate directory.

As a result I'm able to burn new 4MHz bootloader and it works, except OneWire communication (i2c - ok).
To test OneWire I've used DS18B20 and oneWireSearch sketch from DallasTemperature library.

Maybe I've missed something that have to be changed?
Thank you.

Firmware is much bigger with MiniCore comparing to std Arduino 1.8.5

Hello.
I understand that original goals of the project are a bit different, however I couldn't notice, that in case I use MiniCore I'm getting much less free memory.

Here are two of my projects I just tried to compile. Is this normal? Please advise.
Thank you.

https://github.com/latonita/arduino-canbus-monitor

Board Program size Diff Variables Diff
Arduino Pro Mini 168 9784 bytes (68%) . 526 bytes (51%) .
MicroCore 168 11716 bytes (73%) 👎 -1932 bytes 538 bytes (52%) 👎 -12 bytes

https://github.com/latonita/jeep-canbus -> /jeep-aux-and-extra-features/

Board Program size Diff Variables Diff
Arduino Pro Mini 168 6072 bytes (42%) . 634 bytes (61%) .
MicroCore 168 8268 bytes (52%) 👎 -2196 bytes 646 bytes (63%) 👎 -12 bytes

Atmega328pb bootloader not working

Hi,

I have tried all of this week to burn a bootloader over my atmega328PB.... but i have failed 8 times ....in a row...

The problem is that i have now 8 "bricks" because after i tried to burn this...the chip is no longer responsiv to my commands ....

i will attach here the log/error from Arduino ide ...

I have only 2 atmega328pb left...please i don't want to brick this too...

THANK YOU IN ADVANCE...
George.
err.txt

ATmega328pb efuse bit 3 can be added to avrdude config

The bit is for clock failure detection. Unfortunately one of the parts I got from Digikey had the fuse set so I had to figure out how to get avrdude to input it during writing so it could be cleared.

part parent "m328"
    id			= "m328pb";
    desc		= "ATmega328PB";
    signature		= 0x1e 0x95 0x16;

    ocdrev              = 1;
    
    memory "efuse"
        size = 1;
        min_write_delay = 4500;
        max_write_delay = 4500;
        read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
               "x x x x x x x x o o o o o o o o";

        write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
                "x x x x x x x x x x x x i i i i";
    ;
;

cannot reburn bootloader of an Atmega328

Dear MCUdude,

Your board library was recommended to me by users on the Arduino Forum:, related to this issue:
http://forum.arduino.cc/index.php?topic=422239.msg2908127#msg2908127

However I cannot make it work for an Atmega328. Background: usually I use for my boards the 328P, but at the early stage of my project I ordered some 328 which came pre-burned with bootloader (Mini). Because my project needs more code space and the Mini has ~2kB less than the Nano and even lesser as the Uno, I wanted to re-burn the 328 with a new bootloader. Easier I though than exchanging the boards, which would be quite a pain. But it does not want to work...

Watchdog

Watchdog not work!
Atmega328p. If Watchdog is triggered then the microcontroller restarts and freeze (or enters the reboot cycle?!). It does not depend whether there is a bootloader or not.

#include <avr/wdt.h>

void setup() {
wdt_reset();
wdt_enable(WDTO_8S);
wdt_reset();
//my prog
}
void loop() {
wdt_reset();
//my prog
}

Without Watchdog, everything works fine!

Serial and Wire not working together

Hi,

Serial.begin(9600); and Wire.begin(0x27); using ATmega8 with simple Arduino code are not working together, but if I disable the Serial protocol the the Wire protocol works as intended.

Any toughs?

Regards

avrdude fails programming of 328P with USBasp

When selecting low clock frequencies avrdude needs the parameter '-B 5' appended to slow down the flashing.

  1. Is this uncommon? I found the solution thanks to a post by randy at stackexchange.
  2. Is it possible to add '-B 5' permanently so I don't have to fail a programming and then copy the text and paste it into the cmd-window and add -B 5 at the end?

Thanks!

SoftwareSerial on ATmega8?

Hi,

Can you please implement somehow the "SoftwareSerial" support for the ATmega8 MCU?

Is it possible?

Kind regards,
Viktor

memset seems to not work?

Hi there,

I'm trying a char cleaning like in standard Arduino environment on the ATmega8, but I got error saying:

invalid conversion from 'char' to 'void*' [-fpermissive]

Code follows:

char pKey;
memset(pKey, 0, sizeof(pKey));

Any suggestions?

Regards

digitalPinToInterrupt(21) returns 255 with ATmega328PB

I'm using Visual Micro along with Atmel Studio, using mEDBG debugger on an Xplained Mini 328PB (using internal 8MHz oscillator)

I'm trying to get the following sketch to work:

const byte ledPin = 13;
const byte interruptPin = 21;
volatile byte state = LOW;

void setup() {
	pinMode(ledPin, OUTPUT);
	pinMode(interruptPin, INPUT_PULLUP);
	attachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE);
}

void loop() {
	digitalWrite(ledPin, state);
}

void blink() {
	state = !state;
}

If I build a debugging version of this sketch, and step through it, it appears that the call to digitalPinToInterrupt(21) returns 255, which makes the attachInterrupt() call silently fail.

See video for step-debugging:

https://youtu.be/QOlM6OYCwww

I think ultimately this is a problem with the digitalPinToInterrupt() function in pins_arduino.h which uses the following implementation of digitalPinToInterrupt():

#elif defined(__AVR_ATmega328PB__)
#define digitalPinToPCICR(p)     (((p) >= 0 && (p) <= 26) ? (&PCICR) : ((uint8_t *)0))
#define digitalPinToPCICRbit(p)  (((p) <= 7) ? 2 : (((p) <= 13 || (p) == 20 || (p) == 21) ? 0 : (((p) <= 22) ? 1 : 2)))
#define digitalPinToPCMSK(p)     (((p) <= 7) ? (&PCMSK2) : (((p) <= 13 || (p) == 20 || (p) == 21) ? (&PCMSK0) : (((p) <= 22) ? (&PCMSK1) : (((p) <= 26) ? (&PCMSK3) : ((uint8_t *)0)))))
#define digitalPinToPCMSKbit(p)  (((p) <= 7) ? (p) : (((p) <= 13) ? ((p) - 8) : ((p) <= 21) ? ((p) - 14) : ((p) == 22) ? ((p) - 16) : ((p) - 23)))
#define digitalPinToInterrupt(p) ((p) == 2 ? 0 : ((p) == 3 ? 1 : NOT_AN_INTERRUPT))
#endif

#error "No SLEEP mode defined for this device."

I am compining for ATmega328PB using MiniCore 2.0.0, Arduino 1.8.6, and Arduino toolchain 1.6.21. The problem I am experiencing also happened on my older copy of Arduino 1.8.5 before I updated, with an unknown version of the toolchain.

When I compile any program, even just a simple "void setup(){} void loop(){}", it complains about this. The observed error of "#error "No SLEEP mode defined for this device."" only occurs with the build target set to the PB variation. Both the 328(A) and 328P(A) targets compile fine.

The header files that are linked to the error are as follows:
hardware\tools\avr\avr\include\avr\sleep.h:224:6,
which is called by MiniCore\hardware\avr\2.0.0\cores\MCUdude_corefiles/wiring_extras.h:14:0,
which in turn is called by MiniCore\hardware\avr\2.0.0\cores\MCUdude_corefiles/Arduino.h:290

I imagine there is probably a typo in one of the #DEFINE lines somewhere in the core, but I don't myself know where to look.

Killed a bunch of Arduino Pro Mini with the 1Mhz option

Hi, just found this nice bootloader, and its just what i am needind in my ultra low power sensor application. After using a USBAsp to program a Arduino Pro Mini with the 8Mhz internal clock option, everything worked as expected... the LED (PIN13) did a heart beat kinda blinking.
But i was after the 1Mhz clock option since it, makes sense to get as low clock as posibile, sadly after burinng the bootloader again using this option the board died, tried on a few other ones the same issue... Working fine on 8Mhz but dying after the 1Mhz flash.
Any hints on what i am doing wrong?

Thanks.

Totally not an issue

Was trying to find a way to contact you directly but...could not.

I am wanting to modify the pins_arudino.h file to make the pin outs correspond with the physical pin numbers of the chip. (explanation: I was teaching a class with chips on board and the most common issue was students using the wrong pin numbers in their code. Since, I have very limited time in my class I thought "Why not just make the pin numbers correspond to the physical pin numbers since it is all abstracted anyway?"

I took a look and tried to modify your pins_arduino.h file but could not get a working version.

I tired to modify the terniery equations of analogInputToDigitalPin(p) & analogPinToChannel(p) and digitalPinHasPWM(p) as well as the digital #defines. I also resorted the digital_pin_to_port_PGM and digital_pin_to_bit_mask_PGM but I was very uncertain if those were the correct things to be modifying.

if you could please point me in the right direction I would sincerely appreciate it.

A6/A7 mapping issue

Analog reading "A6" and "A7" on the ATMEGA328P TQFP returns results from the wrong analog ports. Inspection shows these are mapped to 23 and 24, but I get the results I'm expecting from 20 and 21.

Difference between reset and power on?

Precondition: A 16 MHz Arduino ProMini-clone with bootloader settings as below and running the example Blink.
bild

  1. When I start by attaching 5V the sketch runs immediately, skipping the bootloader.
  2. When I start by releasing the reset button, the led blinks twice and the sketch runs after a second or so.
  3. When I start by having the ProMini attached to my CP2102 serial adapter and attach this 'kit' to usb, the bootloader runs exactly seven times and then the sketch starts.

Number 3 is an odd situation, but I would like to know why bootloader is skipped when attaching power.
Attached a film to show what happens. film_promini_123.zip

Optiboot bootloader not responding

Hello,

I'm trying to write an app that will turn an Arduino into a stand-alone STK500 programmer that will flash decode a .hex file stored on a connected SD card, and then flash that hex file to a ATmega328PB that is connected to the Arduino via UART using STK500 protocol (communicating directly with Optiboot bootloader). See below image:

image

Here are the steps I am following:

  1. Connect USBTiny ISP to my PC and to my ATmega328PB board via ISP header
  2. Select "burn bootloader" command from within Arduino IDE: Tools-> Burn Bootloader
  3. Verify bootloader was successfully flashed to ATmega328PB using the status window in Arduino IDE
  4. Disconnect ISP header from my ATmega328PB board
  5. Connect my Particle Electron to the ATmega328PB board (only signals are UART_TX, UART_RX... and common ground)
  6. Run app on Particle Electron that resets the ATmega328PB using an external watchdog-based reset circuit connected to UART_TX signal (hold UART_TX low for >0.8seconds will pull ATmega328PB reset line LOW), and then immediately attempts to read the signature bytes from the ATmega328PB using the STK500 READ_SIGN command (sends 0x75, 0x20 bytes --> STK_READ_SIGN, CRC_EOP)

Nothing happens (I get no response from the ATmega328PB).

Here is a logic analyzer connected to UART signals as well as the reset signal of the ATmega328PB.

Am I doing something wrong?

image
image

Here is the same process I just described, except instead of sending STK500_READ_SIGN immediately, there is a 200 ms delay inserted to allow the ATmega some breathing room after reset:

image
image

As you can see, there is no difference.

One strange thing that I note however is that the TX line of the ATmega (i.e. HOST_RX signal in logic analyzer screenshots) gets pulled low for about 2.5µs before the ATmega RST line gets released. This phenomenon is present no matter how long I hold the ATmega reset line LOW... it always appears about 10-15 µs before the reset line gets released.... like it knows that its about to be released or something...

not able to code atmega88PB in arduino ide

I have burn the bootloader for atmega88pb and that is sucessfully done. But i am not able to code it using the keyword provided in the data on github. I am pasting my simple test code for led blink.
#define led PB1
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
}
This is compiling properly, but after uploading the led is not blinking...
Please Help!!

7.372800 and 14.745600 MHz clock

Will there be available bootloaders for quartzes of 7.372800 and 14.745600 MHz?
This would be a great help to reduce communication errors.
Thank you for your answer.
(sorry for my bad English knowledge)

Blink_using_Timer0 does not work with Atmega8: OCR0 not available

Observation:
Compilation of Blink_using_Timer0.ino fails for Atmega8.

Error message:

/home/cappel/.arduino15/packages/MiniCore/hardware/avr/2.0.1/libraries/AVR_examples/examples/Blink_using_Timer0/Blink_using_Timer0.ino: In function 'int main()':
Blink_using_Timer0:29: error: 'OCR0' was not declared in this scope
     OCR0 = 0x00;  // Output compare
     ^
exit status 1
'OCR0' was not declared in this scope

Possible reason:
OCR0 ist not available in Atmega8(L), according to Atmel data sheet.

Software environment:
Arduino 1.8.5
MiniCore 2.0.1
BSP: Arduino AVR core 1.6.207
Xubuntu 18.04, Windows 10

arduinoisp.org Programmer not Working

Hi,

I tried to upload an Arduino pro Mini Bootloader with my Arduino.org-ISP. I get this error message:

avrdude: Can't find programmer id "arduinoisporg"

Trying to programm it via the original Arduino-Boards it works. But not with the MiniCore.

What am I doing wrong?

Thanks in advance.

Christoph

Error with sleep when using 328pb variant only

[code]Arduino: 1.8.4 (Windows 10), Board: "ATmega328, No, 328PB, 2.7v, Disabled (default), 8 MHz internal"

Warning: Board breadboard:avr:atmega328bb doesn't define a 'build.board' preference. Auto-set to: AVR_ATMEGA328BB
In file included from C:\Users\Lion.O\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.0.1\cores\MCUdude_corefiles/wiring_extras.h:14:0,

             from C:\Users\Lion.O\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.0.1\cores\MCUdude_corefiles/Arduino.h:290,

             from sketch\Genesis_Intellivision.ino.cpp:1:

c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\sleep.h:224:6: error: #error "No SLEEP mode defined for this device."

 #error "No SLEEP mode defined for this device."

  ^

exit status 1
Error compiling for board ATmega328.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.[/code]

I am using this minicore since Arduino IDE does not directly support the newer ATMega168pb and 328pb (they were released just a couple years ago). 2 extra IO pins, better handling of A6 and A7 pins (they were multiplexed on older ATMega x8's and can only be used as analog input), and the minicore also lets me set internal clock which frees up XTAL pins for 2 more digital IO pins.

I am not using sleep anywhere in my code and when I change the variant to 328 or 328p the code compiles fine but when I use 328pb I get error about sleep. Oddly enough if I used variant 168, 168p, and 168pb (and all 3 88's as well, program too large for 48's and 8's) they compile fine as well. Why won't 328pb work? I tried 328pb with external and internal clock, both the same result. It's as if there's a bad line in 328pb that handles sleep?

Voltage readings not correct?

Hi there,

I'm trying to make a barebone ATmega328 voltage meter, but the reading are not correct.

Using a voltage divider resistors 100k and 10k, power supply is 4.96v and I got this readings:

4.59
4.64
4.59
4.64

Tried all variations of settings, 16MHz external, internal, 8MHz external, internal, burned the bootloader too.

Also pins VCC and AVCC has 100nF capacitors placed close to pins.

But, if I upload the same code to the Arduino UNO board, it's showing me the exact source voltage readings from it:

4.96
4.96
4.96
4.96

and my code for voltage readings is:

#define V0_IN_PIN A0
#define V_REF_INT 5.0
int vIn = 0.00;
float vOut = 0.00;
float vResult = 0.00;
float R1 = 99700.0; //100000.0; // resistance of R1 (100K)
float R2 = 9930.0; //10000.0; // resistance of R2 (10K)

void setup()
{
  Serial.begin(9600);
  delay(1);
  pinMode(V0_IN_PIN, INPUT);
  Serial.println(F("Starting..."));
  delay(1000);
}

void loop()
{
  Serial.println(ReadVoltage(V0_IN_PIN));
  delay(500);
}

float ReadVoltage(int aInpX) {
  vIn = analogRead(aInpX);
  vOut = (vIn * V_REF_INT) / 1023.0;
  vResult = vOut / (R2 / (R1 + R2));
  if (vResult <= 0.09) {
    vResult = 0.0; // Statement to quash undesired reading! 0.09v (Error correction)
  }
  return vResult;
}

Can you tell me what I'm doing wrong? Or any help, please? 😞

Kind regards,
Viktor

Problem importing MiniCore Arduino project into Atmel Studio 7

Atmel Studio 7 supports directly importing Arduino sketches. It automatically creates the makefiles, and imports the core files associated with the board you are using.

Unfortunately, it appears that it fails to import for that MiniCore targets. For example, here is what happens when I try to import an Arduino sketch targeted at the ATmega328 (see below video).

Trying to import ATmega328PB MiniCore Arduino project into Atmel Studio

As you can see, in the import dialogue titled Creat C++ project from Arduino Sketch , after selecting the ATmega328 MiniCore board option, the Device dropdown lists a single cryptic entry: Arduino.IDE.Board.Service.McuVariant

I think this is probably a big clue as to why this is failing.

Is there a workaround for this? I have already tried copying/replacing files from MiniCore master to the Atmel Studio project, however this doesn't seem to work well with the toolchain settings, and won't compile. See video here for that attempt:

Trying to replace Arduino core files after importing wrong device type to Atmel Studio

Link time optimization doesn't work

After Arduino IDE 1.6.10 was released, the GCC link time optimization (-flto) is enabled by default. This reduces the sketch size dramatically, while not making the code smaller. I'm planning to add a separate GCC flags menu to MightyCore, MegaCore and MiniCore, and so far this is a success on MegaCore and MightyCore. When adding the GCC flags menu with the option -Os -flto I get this error. The error does not occur in IDE 1.6.9, but does with 1.6.12. How can I get this working? The current boards.txt file is attached for testing purposes.

boards.txt

/Users/Hans/Downloads/Arduino-1.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware -hardware /Users/Hans/Library/Arduino15/packages -hardware /Users/Hans/Documents/Arduino/hardware -tools /Users/Hans/Downloads/Arduino-1.app/Contents/Java/tools-builder -tools /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr -tools /Users/Hans/Library/Arduino15/packages -built-in-libraries /Users/Hans/Downloads/Arduino-1.app/Contents/Java/libraries -libraries /Users/Hans/Documents/Arduino/libraries -fqbn=MiniCore:avr:8:flags=Os_flto,clock=16MHz_external -ide-version=10612 -build-path /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388 -warnings=all -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr -verbose /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/untitled1487042331.tmp/sketch_oct04a/sketch_oct04a.ino
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware -hardware /Users/Hans/Library/Arduino15/packages -hardware /Users/Hans/Documents/Arduino/hardware -tools /Users/Hans/Downloads/Arduino-1.app/Contents/Java/tools-builder -tools /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr -tools /Users/Hans/Library/Arduino15/packages -built-in-libraries /Users/Hans/Downloads/Arduino-1.app/Contents/Java/libraries -libraries /Users/Hans/Documents/Arduino/libraries -fqbn=MiniCore:avr:8:flags=Os_flto,clock=16MHz_external -ide-version=10612 -build-path /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388 -warnings=all -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr -verbose /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/untitled1487042331.tmp/sketch_oct04a/sketch_oct04a.ino
Using board '8' from platform in folder: /Users/Hans/Documents/Arduino/hardware/MiniCore/avr
Using core 'arduino' from platform in folder: /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr
Detecting libraries used...
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/sketch/sketch_oct04a.ino.cpp" -o "/dev/null"
Generating function prototypes...
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics  -w -x c++ -E -CC -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/sketch/sketch_oct04a.ino.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/preproc/ctags_target_for_gcc_minus_e.cpp"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/tools-builder/ctags/5.8-arduino10/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/sketch/sketch_oct04a.ino.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/sketch/sketch_oct04a.ino.cpp.o"
Compiling libraries...
Compiling core...
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -c -g -x assembler-with-cpp -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR   "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring_pulse.S" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_pulse.S.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/WInterrupts.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/WInterrupts.c.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/hooks.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/hooks.c.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring.c.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring_analog.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_analog.c.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring_digital.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_digital.c.o"
In file included from /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring_private.h:31:0,
                 from /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring_digital.c:26:
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/Arduino.h:195:0: warning: "PE" redefined
 #define PE 5
 ^
In file included from /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/avr/include/avr/io.h:350:0,
                 from /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring_private.h:26,
                 from /Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring_digital.c:26:
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/avr/include/avr/iom8.h:534:0: note: this is the location of the previous definition
 #define PE 2

 ^
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring_pulse.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_pulse.c.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -c -g -Os -Wall -Wextra -std=gnu11 -ffunction-sections -fdata-sections -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/wiring_shift.c" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_shift.c.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/CDC.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/CDC.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial0.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial1.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial1.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial2.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial2.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial3.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial3.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/IPAddress.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/IPAddress.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/PluggableUSB.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/PluggableUSB.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/Print.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/Print.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/Stream.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/Stream.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/Tone.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/Tone.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/USBCore.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/USBCore.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/WMath.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/WMath.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/WString.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/WString.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/abi.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/abi.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/main.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/main.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-g++" -c -g -Os -Wall -Wextra -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega8 -DF_CPU=16000000L -DARDUINO=10612 -DARDUINO_AVR_ATmega8 -DARDUINO_ARCH_AVR -Wextra -flto  "-I/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/Hans/Documents/Arduino/hardware/MiniCore/avr/variants/standard" "/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/arduino/avr/cores/arduino/new.cpp" -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/new.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_pulse.S.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/WInterrupts.c.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/WInterrupts.c.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/hooks.c.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/hooks.c.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring.c.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring.c.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_analog.c.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_digital.c.o"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object

/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_digital.c.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_pulse.c.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_pulse.c.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_shift.c.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/wiring_shift.c.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/CDC.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/CDC.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial0.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial1.cpp.o"

/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial2.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial3.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/IPAddress.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/PluggableUSB.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/Print.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/Stream.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/Print.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/Tone.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Print.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/Stream.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Print.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/USBCore.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Stream.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/Tone.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/WMath.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Print.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Stream.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Tone.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/USBCore.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Print.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Stream.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Tone.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: USBCore.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/WMath.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/WString.cpp.o"
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/abi.cpp.o"

/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Print.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Stream.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Tone.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: USBCore.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WMath.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/WString.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Print.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Stream.cpp.o: plugin needed to handle lto object
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/main.cpp.o"
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar" rcs  "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/new.cpp.o"
Linking everything together...
"/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -Wall -Wextra -Os -Wl,--gc-sections -mmcu=atmega8 -w -flto -o "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/sketch_oct04a.ino.elf" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/sketch/sketch_oct04a.ino.cpp.o" "/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/core.a" "-L/var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388" -lm
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Tone.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: USBCore.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WMath.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WString.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/abi.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Print.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Stream.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Tone.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: USBCore.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WMath.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WString.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: abi.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/main.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WInterrupts.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: hooks.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_analog.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_digital.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_pulse.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: wiring_shift.c.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: CDC.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial0.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial1.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial2.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: HardwareSerial3.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: IPAddress.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: PluggableUSB.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Print.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Stream.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: Tone.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: USBCore.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WMath.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: WString.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: abi.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: main.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/avr-ar: /var/folders/_p/s3kykxss20bbhfmqcg0ctrp80000gn/T/arduino_build_109388/core/new.cpp.o: plugin needed to handle lto object
/Users/Hans/Downloads/Arduino-1.app/Contents/Java/hardware/tools/avr/bin/../lib/gcc/avr/4.9.2/../../../../avr/lib/avr4/crtatmega8.o:(.init9+0x0): undefined reference to `main'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board ATmega8.

Add upload to 250 KBPS version for 8 and 16MHz ?

Man,
you saved my life with your working optiboot for Arduino Mini at 8MHz at 3V3 ;-)
Thanks because the original one in optiboot repo does not seems to works, I was unable to upload anything.
By the way would you mind adding a version working at 250000 KBPS at 8Mhz ?
You'll find why my request on the post I wrote 3 years ago here https://hallard.me/ulpnode-bootloader-1/

I'm asking this because compiling optiboot on windows/macOS in really a mess I just tried withiut success

Thanks for your help

Cannot compile

Perhaps similar to #47. I can't compile using MiniCore for a 328PB.

Targeting Arduino Pro - compiles, no errors.

This is using SPIMemory library to interface with WinBond flash chips.

MiniCore:

In function 'void loop()':

IRSniffer:117: error: invalid conversion from 'volatile byte* {aka volatile unsigned char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]

       flash.readByteArray(dumpy, packet, 8);

\Arduino\libraries\SPIMemory\src/SPIFlash.h:63:12: note:   initializing argument 2 of 'bool SPIFlash::readByteArray(uint32_t, uint8_t*, size_t, bool)'

   bool     readByteArray(uint32_t _addr, uint8_t *data_buffer, size_t bufferSize, bool fastRead = false);

error: invalid conversion from 'volatile byte* {aka volatile unsigned char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]

         flash.readByteArray(dumpy, packet, 8);

Documents\Arduino\libraries\SPIMemory\src/SPIFlash.h:63:12: note:   initializing argument 2 of 'bool SPIFlash::readByteArray(uint32_t, uint8_t*, size_t, bool)'

   bool     readByteArray(uint32_t _addr, uint8_t *data_buffer, size_t bufferSize, bool fastRead = false);

exit status 1
invalid conversion from 'volatile byte* {aka volatile unsigned char*}' to 'uint8_t* {aka unsigned char*}' [-fpermissive]

A6 & A7 fiix breaks digital 6&7

I just got the update to get A6&7 working but it seems it has prevented digital 6 & 7 from working correctly. I have had a look but its a bit past my undertsading to work out.

Travis is failing due to library changes

I thought it may be a good idea to re-structure the libraries so the user never actually has to include SPI1.h or Wire1.h. This means there does not exist any examples for Wire1 and SPI1 anymore.

Would you like to help me out on this one @per1234 ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.