Autor Tópico: Calculando Fusebits no Arduino  (Lida 1448 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

Offline Blackmore

  • CNCMASTER
  • ******
  • Posts: 1568
  • Sexo: Masculino
  • Profissão: Projetista Mecânico/Automação
Calculando Fusebits no Arduino
« Online: 19 de Maio de 2013, 19:02 »
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.

Código: [Selecionar]
##############################################################
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/Platforms

A 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.

« Última modificação: 19 de Maio de 2013, 19:08 por Blackmore »

 

/** * */