LusoRobótica - Robótica em Português

Electrónica => Electrónica Geral => Tópico iniciado por: msr em 13 de Novembro de 2013, 12:50

Título: Bootloaders para ATmega
Enviado por: msr em 13 de Novembro de 2013, 12:50
Olá,

Alguem me sabe recomendar um bootlader "serial" para atmegas?

Neste momento preciso que suporte atmega32u4 e atmega128rfa1. Bem sei que se pode por um CDC bootloader no atmega32u4 mas preciso mesmo de um bootloader o mais simples possivel, só UART, que ocupe o minimo possivel em memoria e preferencialmente que dê para usar com o avrdude.

Título: Re: Bootloaders para ATmega
Enviado por: dropes em 13 de Novembro de 2013, 13:11
Se vais colocar um bootloader tem de ser via ISP, série não funciona.
Na página do arduino tens lá os boots normais mas se for outro micro só procurando na net.
Não há preocupação do espaço que ocupe na memória flash já que são cerca de 512bytes, a ram pouco é influenciada pelo boot.
Título: Re: Bootloaders para ATmega
Enviado por: msr em 13 de Novembro de 2013, 13:28
Se vais colocar um bootloader tem de ser via ISP, série não funciona.
Na página do arduino tens lá os boots normais mas se for outro micro só procurando na net.
Não há preocupação do espaço que ocupe na memória flash já que são cerca de 512bytes, a ram pouco é influenciada pelo boot.

Programação ISP não é problema.

Sabes onde posso dar uma vista de olhos no codigo do bootloader do Arduino? O link que aparece no fundo desta página http://arduino.cc/en/Hacking/Bootloader (http://arduino.cc/en/Hacking/Bootloader) parece-me desactualizado. Não encontro nada no trunk da SVN.
Ou o Arduino usa o optiboot? http://code.google.com/p/optiboot/ (http://code.google.com/p/optiboot/) O problema que tenho com este é que nao referem suporte para os atmegas que pretendo usar.

edit: o link que indiquei para a pagina do Arduino está mesmo desactualizado. aqui estão todos os bootloaders usados pelas varias versoes de Arduino: https://github.com/arduino/Arduino/tree/master/hardware/arduino/bootloaders (https://github.com/arduino/Arduino/tree/master/hardware/arduino/bootloaders)
Título: Re: Bootloaders para ATmega
Enviado por: fergas em 13 de Novembro de 2013, 13:58
Não sei se este (http://www.obdev.at/products/vusb/bootloadhid.html) pode ser opção. Ocupa 2k, mas até pode ser usado em android com esta aplicação (https://play.google.com/store/apps/details?id=com.pdaxrom.avrhidprog).
Título: Re: Bootloaders para ATmega
Enviado por: msr em 13 de Novembro de 2013, 14:12
Não sei se este (http://www.obdev.at/products/vusb/bootloadhid.html) pode ser opção. Ocupa 2k, mas até pode ser usado em android com esta aplicação (https://play.google.com/store/apps/details?id=com.pdaxrom.avrhidprog).

Obrigado, mas tem mesmo de ser um "serial bootloader", usando a UART.
Título: Re: Bootloaders para ATmega
Enviado por: Njay em 13 de Novembro de 2013, 14:48
O código do bootloader costuma (costumava?) vir com o IDE do Arduino.

Eu tenho um bootloader básico que uso na linha do mega8, já não sei bem de onde veio, já fiz 1 ou outra adaptação, posso enviar-te, pode não ser dificil esticá-lo para os megas que queres. O uplod é feito for "zmodem", normalmente uso até o utilitário de porta série que vem com o windows. Também podes dar uma olhada no avrfreaks, têm uma zona de projectos e de certeza que há por lá vários bootloaders.
Título: Re: Bootloaders para ATmega
Enviado por: senso em 13 de Novembro de 2013, 14:53
Supostamente só precisas de um bootloader compativel com STK500v2, o bootloader do arduino servirá, quanto muito o rfa tem registos de uart diferentes, dai o bootloader do duemilanove é melhor para alterar porque o optiboot é feito em asm.
Título: Re: Bootloaders para ATmega
Enviado por: msr em 15 de Novembro de 2013, 17:28
Obrigado malta!

Era mesmo uma coisa deste genero que procurava: https://github.com/arduino/Arduino/tree/master/hardware/arduino/bootloaders/stk500v2
Só nao sabia que o stk500v2 era compativel com o avrdude (experiencia com atmegas = 0, estou agora a dar os primeiros baby steps)
Em relaçao a memoria utilizada, 6Kb, mas reparei que sem o #define ENABLE_MOTINOR ocupa pouco mais de 2Kb, not bad!
Título: Re: Bootloaders para ATmega
Enviado por: senso em 15 de Novembro de 2013, 20:14
Compila isso em -Os e activa o garbage collection e isso tem de encolher mais um bocadinho.
STK500v2 é o protocolo original da Atmel que decidiram abrir, avrdude suporta isso sem qualquer problema.
Título: Re: Bootloaders para ATmega
Enviado por: msr em 03 de Junho de 2014, 23:23
Volto à carga com os bootloaders.

Desta vez ando à procura de um MCU com maior poder de processamento. Já alguem experimentou os ARM Cortex da Atmel? Qual a vossa opinião?
Estava aqui a olhar para os SAM4L e fiquei impressionado (positivamente) com o custo vs features. No entanto, vou precisar de bootloader. Só encontro referencias para o SAM-BA (proprietario). Será que funciona com STK500v2?

edit: outro pormenor importante, será que existe suporte para arm-gcc?