Robot-Will / Stino

A Sublime Text Plugin for Arduino
Other
1.58k stars 250 forks source link

compilation issue #485

Open enigma460 opened 6 years ago

enigma460 commented 6 years ago

Hi, By the way, great plugin. The basic arduino boards work great with this plugin.

Platform selected: MegaCore https://github.com/ekapujiw2002/MegaCore Simple test with arduino ide, blink.ino, compilation gives a working hex file. Uploaded to Atmega128 and tested using Arduino as ISP (LED Blinks). Simple test with Sublime Text 3 ide, blink.ino, compilation gives a hex file. Uploaded to Atmega128 and test fails usiing Arduino as ISP (LED does not blink)

"C:/Users/joker/AppData/Local/Arduino15/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega1281 -DF_CPU=16000000L -DARDUINO=20000 -DARDUINO_AVR_ATmega1281 -DARDUINO_ARCH_AVR "-IC:/Program Files (x86)/Arduino/examples/01.Basics/Blink" "-IC:/Users/joker/AppData/Local/Arduino15/packages/MegaCore/hardware/avr/2.0.0/cores/MCUdude_corefiles" "-IC:/Users/joker/AppData/Local/Arduino15/packages/MegaCore/hardware/avr/2.0.0/variants/64-pin-avr" "C:/Users/joker/AppData/Local/Arduino15/build/Blink/sketch/Blink.ino.cpp" -o "C:/Users/joker/AppData/Local/Arduino15/build/Blink/sketch/Blink.ino.cpp.o" [100.0%] Creating binary files... "C:/Users/joker/AppData/Local/Arduino15/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/bin/avr-gcc" -w -Os -Wl,--gc-sections **_-mmcu=atmega1281_** -o "C:/Users/joker/AppData/Local/Arduino15/build/Blink/Blink.elf" "C:/Users/joker/AppData/Local/Arduino15/build/Blink/sketch/Blink.ino.cpp.o" "C:/Users/joker/AppData/Local/Arduino15/build/Blink/core/core.a" "-LC:/Users/joker/AppData/Local/Arduino15/build/Blink" -lm "C:/Users/joker/AppData/Local/Arduino15/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:/Users/joker/AppData/Local/Arduino15/build/Blink/Blink.elf" "C:/Users/joker/AppData/Local/Arduino15/build/Blink/Blink.eep" "C:/Users/joker/AppData/Local/Arduino15/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/bin/avr-objcopy" -O ihex -R .eeprom "C:/Users/joker/AppData/Local/Arduino15/build/Blink/Blink.elf" "C:/Users/joker/AppData/Local/Arduino15/build/Blink/Blink.hex"

What I noticed in the compilation is you're using -mmcu=atmega1281 where as in the arduino ide compilation they use -mmcu=atmega128

Board selected in the pull down is ATmega128

Any ideas?

enigma460 commented 6 years ago

Added Note. It does the same thing when atmega64 is selected from drop down. The -mmcu = atmega640 is selected during the compile.

enigma460 commented 6 years ago

Sorry, Didn't mean to close issue

enigma460 commented 6 years ago

Ok, After spending a weekend on this issue I found a temporary fix. Located "boards.txt" file at AppData/Local/Arduino15/packages/Megacore/hardware/avr/2.0.0 Saved a copy of text.file. Deleted all mcu's listed except Atmega128 and Atmega64 in the original file. Ran Build and the correct mcu was now selected. The code compiled was now correct.

It would still be nice to know why?