Devido a necessidade de utilizar um microcontrolador não comum na IDE Arduino, eu andei procurando como fazer isso e deixar minha IDE um pouco mais flexível.
Apesar de simples no uso, em minha opnião, a IDE Arduino é muito limitada e engessada ...
Na procura, encontrei o site abaixo, que dá uma boa ajuda no que se diz sobre a escolha dos fuses para muitos (se não todos) os microcontroladores da atmel.
http://www.frank-zhao.com/fusecalc/O trabalho é divido em duas partes ...
A primeira parte é a configuração do ambiente Arduino:
Para a flexibilização do arduino, é necessário editar e acrescentar no arquivo board.txt ( que está no caminho C:\arduino-1.0.5\hardware\arduino da versão 1.0.5 , utilizei a ultima versão pois fiz o download ontem no site
www.arduino.cc ).
A edição deste arquivo se faz necessário obedecer a forma abaixo, para que fique mais organizado e que diminua a possibilidade de ocorrerem erros.
##############################################################
robotMotor.name=Arduino Robot Motor
robotMotor.upload.protocol=avr109
robotMotor.upload.maximum_size=28672
robotMotor.upload.speed=57600
robotMotor.upload.disable_flushing=true
robotMotor.bootloader.low_fuses=0xff
robotMotor.bootloader.high_fuses=0xd8
robotMotor.bootloader.extended_fuses=0xcb
robotMotor.bootloader.path=caterina-Arduino_Robot
robotMotor.bootloader.file=Caterina-Robot-Motor.hex
robotMotor.bootloader.unlock_bits=0x3F
robotMotor.bootloader.lock_bits=0x2F
robotMotor.build.mcu=atmega32u4
robotMotor.build.f_cpu=16000000L
robotMotor.build.vid=0x2341
robotMotor.build.pid=0x8039
robotMotor.build.core=robot
robotMotor.build.variant=robot_motor
##############################################################
Editando de forma coerente e correta obviamente, é possível "criar" novas configurações para que a IDE Arduino compile o projeto.
robotMotor.name=Arduino Robot Motor ...................
...........=> nome da nova plataforma
robotMotor.upload.p
rotocol=avr109 ...................
...............=> protocolo de comunicação
robotMotor.upload.m
aximum_size=28672 ...................
.......=> máximo tamanho do programa a ser utilizado
robotMotor.upload.s
peed=57600 ...................
.................=> velocidade de comunicação
robotMotor.upload.d
isable_flushing=true ...................
........=>
robotMotor.bootload
er.low_fuses=0xff ...................
.........=> valor low calculado pela planilha
robotMotor.bootload
er.high_fuses=0xd8 ...................
..........=> valor high calculado pela planilha
robotMotor.bootload
er.extended_fuses=0xcb ...................
.=> valor extended calculado pela planilha
robotMotor.bootload
er.path=caterina-Arduino_Robot ........=>
robotMotor.bootload
er.file=Caterina-Robot-Motor.hex .......=> bootloader que estará dentro no chip escolhido
robotMotor.bootload
er.unlock_bits=0x3F ...................
.....=> destravamento da área do bootloader??
robotMotor.bootload
er.lock_bits=0x2F ...................
............=> travamento da área do bootloader??
robotMotor.build.mc
u=atmega32u4 ...................
................=>
robotMotor.build.f_
cpu=16000000L ...................
................=> cristal utilizado
robotMotor.build.vi
d=0x2341 ...................
...................
.......=>
robotMotor.build.pi
d=0x8039
robotMotor.build.co
re=robot
robotMotor.build.va
riant=robot_motor
http://code.google.com/p/arduino/wiki/PlatformsA segunda parte, é a edição do avrdude.conf para que o microcontrolador possa ser gravado adequadamente.
Para a flexibilização do avrdude, é necessário editar e acrescentar no arquivo avrdude.conf ( que está no caminho C:\arduino-1.0.5\hardware\tools\avr\etc da versão 1.0.5 , utilizei a ultima versão pois fiz o download ontem no site
www.arduino.cc ).
Vou procurar explicação coerente de como fazer essa edição e colar em outro post.
Toda e qualquer correção ao conteúdo será bem vinda, pois não sou conhecedor pleno do assunto, logo todo experimento coerente é válido.