olimex / arduino_configurations Goto Github PK
View Code? Open in Web Editor NEWConfigurations of Olimex boards that can be loaded by the Arduino board manager.
Configurations of Olimex boards that can be loaded by the Arduino board manager.
On the PIC32-PINGUINO-OTG board from Olimex
the pin marked D8 on the silkscreen is connected to RB13
and the pin marked D9 is connected to RB14
(in this board RB15 is used to monitor the signal FAULT_B from the USB power IC).
The file Board_Data.c on /Versions/1.2.3/variants/PIC32_Pinguino_OTG
on lines 182 and 183 should be corrected and maybe also the comments on lines 128 and 129.
Both building and uploading in the Arduino IDE are failing on recent MacOS versions running on apple silicon processors due to both avr-g++ and avdude dependencies being old i386 dependencies. This manifests as a compile error with the message "bad cpu type in executable" when it tries to invoke /Users/<username>/Library/Arduino15/packages/arduino/tools/avr-gcc/5.4.0-atmel3.6.1-arduino2/bin/avr-g++
.
Seems like this is due to the 5.4.0-atmel3.6.1-arduino2 avr-gcc release being a 32 bit i386 binary, but recent MacOS versions only support 64 bit binaries.
Locally modifying AVR/package_olimex_avr_index.json and updating both avr-gcc and avrdude deps to versions 7.3.0-atmel3.6.1-arduino7 and 6.3.0-arduino17 respectively seems to have worked for me on some initial testing of a simple sketch uploaded to an olimexino-nano board.
Repro details:
Arduino IDE Version: 2.2.1
MacOS Ventura 13.5 on a Macbook Air M2
Olimexino-Nano board
Olimex AVR boards library v2.2.0
On the PIC32-PINGUINO and PIC32-PINGUINO-OTG boards from Olimex the pin marked A6 on the silkscreen is connected to RB11 and the pin marked A7 is connected to RB10.
The file Board_Data.c on /Versions/1.2.1/variants/PIC32_Pinguino_OTG on lines 209 and 210 should be corrected.
i tried to burn the bootloader for an OLIMEXINO-32U4 but got the error attached at the bottom.
https://github.com/OLIMEX/Arduino_configurations/raw/master/AVR/Versions/Olimex_AVR-2.0.1.zip
is missing the bootloaders
subfolder.
and the corresponding definition in board.txt
the bootloader section.
optimal would be if you could point to one of the arduino default bootloaders like so:
Olimexino_32U4.bootloader.tool=arduino:avrdude
Olimexino_32U4.bootloader.low_fuses=0xff
Olimexino_32U4.bootloader.high_fuses=0xd8
Olimexino_32U4.bootloader.extended_fuses=0xcb
Olimexino_32U4.bootloader.file=arduino:caterina/Caterina-Leonardo.hex
Olimexino_32U4.bootloader.unlock_bits=0x3F
Olimexino_32U4.bootloader.lock_bits=0x2F
where only the Olimexino_32U4.bootloader.file=arduino:caterina/Caterina-Leonardo.hex
line is new!
but this does currently not work. to link to the caterina Leonardo.hex you would have to write:
Olimexino_32U4.bootloader.file=../../../../../arduino/hardware/avr/1.6.23/bootloaders/caterina/Caterina-Leonardo.hex
and that easily breaks if the user does not have the corect version of the arduino core :-(
i did not check if there is a spec somewhere how to do this correclty...
Arduino: 1.8.9 (Linux), Board: "Olimexino-32U4"
/home/stefan/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/bin/avrdude -C/home/stefan/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf -v -patmega32u4 -carduino -P/dev/ttyUSB0 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xcb:m -Uhfuse:w:0xd8:m -Ulfuse:w:0xff: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 "/home/stefan/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf"
User configuration file is "/home/stefan/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : arduino
Overriding Baud Rate : 19200
AVR Part : ATmega32U4
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
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 9000 9000 0x00 0x00
flash 65 6 128 0 yes 32768 128 256 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 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 : Arduino
Description : Arduino
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: erasing chip
avrdude: reading input file "0x3F"
avrdude: writing lock (1 bytes):
Writing | ################################################## | 100% 0.02s
avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3F:
avrdude: load data lock data from input file 0x3F:
avrdude: input file 0x3F contains 1 bytes
avrdude: reading on-chip lock data:
Reading | ################################################## | 100% 0.02s
avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0xcb"
avrdude: writing efuse (1 bytes):
Writing | ################################################## | 100% 0.02s
avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0xcb:
avrdude: load data efuse data from input file 0xcb:
avrdude: input file 0xcb contains 1 bytes
avrdude: reading on-chip efuse data:
Reading | ################################################## | 100% 0.02s
avrdude: verifying ...
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xd8"
avrdude: writing hfuse (1 bytes):
Writing | ################################################## | 100% 0.02s
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xd8:
avrdude: load data hfuse data from input file 0xd8:
avrdude: input file 0xd8 contains 1 bytes
avrdude: reading on-chip hfuse data:
/home/stefan/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/bin/avrdude -C/home/stefan/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf -v -patmega32u4 -carduino -P/dev/ttyUSB0 -b19200 -Uflash:w:/home/stefan/.arduino15/packages/Olimex/hardware/avr/2.0.1/bootloaders/{bootloader.file}:i -Ulock:w:0x2F: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 "/home/stefan/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino14/etc/avrdude.conf"
Reading | ################################################## | 100% 0.02s
avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xff"
avrdude: writing lfuse (1 bytes):
Writing | ################################################## | 100% 0.02s
avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xff:
avrdude: load data lfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip lfuse data:
Reading | ################################################## | 100% 0.02s
avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude done. Thank you.
User configuration file is "/home/stefan/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : arduino
Overriding Baud Rate : 19200
AVR Part : ATmega32U4
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
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 9000 9000 0x00 0x00
flash 65 6 128 0 yes 32768 128 256 4500 4500 0x00 0x00
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 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 : Arduino
Description : Arduino
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/home/stefan/.arduino15/packages/Olimex/hardware/avr/2.0.1/bootloaders/{bootloader.file}"
avrdude: can't open input file /home/stefan/.arduino15/packages/Olimex/hardware/avr/2.0.1/bootloaders/{bootloader.file}: No such file or directory
avrdude: read from file '/home/stefan/.arduino15/packages/Olimex/hardware/avr/2.0.1/bootloaders/{bootloader.file}' failed
avrdude done. Thank you.
Error while burning bootloader.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.