Atualizar firmware via SD Card é possível?

1,354 views
Skip to first unread message

Daniel Franco

unread,
Feb 7, 2015, 2:43:09 PM2/7/15
to repr...@googlegroups.com
Olá pessoal, eu nunca vi, mas antes de descartar a possibilidade vim perguntar a vocês se alguém sabe se é possível atualizar o firmware do Arduíno através do SD Card? (Preguiça minha de trazer a impressora perto do computador agora que eu puis o LCD e tirei ela do quarto rsrsrsrsrs...)

E mesmo que não tenha como, acho que seria uma função interessante até, se algum dia no futuro algum dos programadores que colaboram com o Marlin pudessem colocar essa função creio que seria bem aceita.

Igor Jocionis www.movtech.com.br

unread,
Feb 7, 2015, 7:26:48 PM2/7/15
to repr...@googlegroups.com
Alguns ajustes são possíveis via lcd no marlin

Daniel Franco

unread,
Feb 8, 2015, 8:08:52 AM2/8/15
to repr...@googlegroups.com

A ideia não era ajustar, mas atualizar o firmware mesmo, por exemplo, sai uma versão niva do Marlin que corrige um bug que estava acontecendo aqui ou saiu uma função nova, dai eu pego e ajeito o configuration.h do FW novo ponho no SD e levo láááá na impressora para atualizar.

Abraços.

Daniel Luis Franco.

Enviado via LG G2.

Em 07/02/2015 22:26, "Igor Jocionis www.movtech.com.br" <movte...@gmail.com> escreveu:
Alguns ajustes são possíveis via lcd no marlin

--
Página da Lista: http://groups.google.com/group/reprapbr/about?hl=pt-BR
Versão Forum: https://groups.google.com/d/forum/reprapbr
---
Você recebeu esta mensagem porque está inscrito em um tópico do grupo "RepRapBR" dos Grupos do Google.
Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/reprapbr/eFa7-oelQxI/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para reprapbr+u...@googlegroups.com.
Para ver esta discussão na web, acesse https://groups.google.com/d/msgid/reprapbr/7f6dca23-9eb7-42ea-bfcd-c9c61e8c86d0%40googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/d/optout.

chico simoes

unread,
Feb 8, 2015, 9:19:02 AM2/8/15
to repr...@googlegroups.com
Pra reformar a casa, você precisa sair dela, senão o teto cai na sua cabeça...


[s]

chico
Você recebeu essa mensagem porque está inscrito no grupo "RepRapBR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para reprapbr+u...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/reprapbr/CALn2Vbmq0OgXoM1BCOUmZzp1PxiyGBS0u6NdOS3tWdm-yFPGRw%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.

-- 
.:chicosimoes:.

rochedodeouro.maracatu.org.br
toratambores.wordpress.com
nosdigitais.teia.org.br

Daniel Franco

unread,
Feb 9, 2015, 5:50:21 AM2/9/15
to repr...@googlegroups.com
É o que eu imaginei. Mas como tem umas coisas por ai que como vc disse, não precisa sair da casa para reformar. Apesar que geralmente são coisas caras, como exemplo eu posso sitar aqui algumas dessas TVs novas que é possível atualizar por pendrive, (conheço) uma fotocopiadora profissional que aceita atualização por pendrive ou SDCard, o próprio android apesar que em forma de smartphone eu nunca vi um se "auto-atualizar" mas um tablet recente da lenovo que eu comprei fez isso, ele perguntou se queria atualizar (4.4 para 4.4) e sem necessitar de um computador ou qualquer outra coisa ele só pediu permissão e baixou e fez a atualização tranquilamente, o dono saiu e entrou as maquinas para fazer a reforma...
Mas para fazer isso creio que precisasse de uma especie de BIOS programada para fazer esse tipo de atualização ao reconhecer determinado arquivo no SDCard.

Abraços.

Daniel Luis Franco.

Você recebeu essa mensagem porque está inscrito em um tópico no grupo "RepRapBR" dos Grupos do Google.

Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/reprapbr/eFa7-oelQxI/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para reprapbr+u...@googlegroups.com.

chico simoes

unread,
Feb 9, 2015, 7:52:20 AM2/9/15
to repr...@googlegroups.com
Isso mesmo, vc mesmo respondeu, ele saiu, reformou e voltou e vc nem viu
rs...

O ponto aqui é que o suporte ao sd esta "dentro" do firmware e não en
estancias distintas como no caso dos outros dispositivos que citou.

Na realidade não sou nenhum expert em arduino, mas ja formatei e
instalei centenas de sistemas operacionais, e este raciocínio se aplica
a qualquer SO...

Mas vc sabe que muita coisa pode ser alterada vi EEPROM (é assim que
escreve?) né?

[s]

chico
Em 09-02-2015 08:49, Daniel Franco escreveu:
> recente da lenovo que eu comprei fez isso, ele perguntou se queria
> atualizar (4.4 para 4.4) e sem necessitar de um computador ou qualquer
> outra coisa ele só pediu permissão e baixou e fez a atualização
> tranquilamente, o dono saiu e entrou as maquinas para fazer a reforma...
> Mas para fazer isso creio que precisasse de uma especie de BIOS progr

Daniel Franco

unread,
Feb 9, 2015, 8:44:18 AM2/9/15
to repr...@googlegroups.com
Eu vi que da pra mexer em muita coisa por ali mesmo, mas não dá por exemplo para comentar e descomentar algo para testes... Tem coisa que só recompilando mesmo para testar... Mas é isso então, é uma limitação do arduino mesmo isso de não poder atualizar pelo SD, a não ser que talvez faça uma alteração no bootloader, mas ai nem tenho tanta certeza de que daria certo, meus conhecimentos não são tão avançados para isso.

(Sobre a EEPROM, é assim mesmo que escreve... Um comentário educacional: existe a PROM, a EPROM e a EEPROM, o arduino usa a EEPROM... a PROM vc grava uma vez e ela fica daquele jeito, não é apagavel, a EPROM dá para apagar mais elas tem um furinho em cima do integrado que por ele você emite se não me engano uma luz ultravioleta para apagar e a EEPROM é através de um comando elétrico que ela apaga)

Alex Borro

unread,
Feb 9, 2015, 10:08:06 AM2/9/15
to repr...@googlegroups.com
Humm, assunto interessante.. vou tentar explicar o pouco que sei, espero q seja util.

Os sistemas embarcados, de forma geral, são divididos em 2 partes: "Bootloader" e "Software de Aplicação", tb chamado de "firmeware"

Toda vez que vc liga o sistema, o Bootloader assume o controle, faz algumas análises no hardware e então repassa o controle para o firmware. Esses dois pedaços de software não precisam necessariamente estarem gravados no mesmo uC.

No caso do Arduino, quando vc vai gravar o firmware, o aplicativo envia um comando pela serial que sinaliza ao Bootloader a intenção de gravação e este inicia o processo, escrevendo na área de memória do firmware.

Vc poderia fazer um flash usando o cartão de memória, desde que o bootloader tivessse suporte a ele e procurasse um determinado arquivo durante a inicialização. Esse processo é bastante comum por ai.

Outra maneira bastante usada e levando-se em conta o baixíssimo preço de memória Flash é a alocação do dobro de memória e usando uma região de espelho.
Por exemplo, o firmware tem tamanho máximo previsto de 256Kb, então o uC tem 512Kb (ou mais) de memória. Essa memória é dividia em dois blocos de 256Kb.

O firmware vai ler o arquivo do cartão SD e gravar no bloco vazio, não usado pelo firmware atualmente. Durante o próximo boot, o bootloader verifica qual dos dois blocos tem um fimrware mais recente e passa o controle para ele. Essa técnica tem a vantagem de manter o firmware antigo, assim se der algum pau na atualização do novo, vc pode fazer um roll back para o anterior. A maioria dos dispositivos embarcados hj usam essa técnica. Isso elimina o risco de falta de energia durante o flash e facilita o rollback em caso de problemas de firmware.

Os celulares fazem isso. É feito o download do firmware (celular tem espaço de sobra) e na próxima inicialização o bootloader grava o firmware baixado.

Agora basta alguém se aventurar a escrever um bootloader para arduino com suporte a isso.

Abraços.

Alex.

Você recebeu essa mensagem porque está inscrito no grupo "RepRapBR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para reprapbr+u...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.



--
"Não é o mais forte da espécie que sobrevive, nem o mais inteligente. É aquele que se adapta melhor as mudanças"  ( Charles Darwin )

Alex Borro

chico simoes

unread,
Feb 9, 2015, 6:03:02 PM2/9/15
to repr...@googlegroups.com
Grande master Alex!

com FLOS é assim, basta ter a ideia e alguém já fez (hehehe) bora achar...
[s]

chico

Para mais opções, acesse https://groups.google.com/d/optout.

Valter F.C.

unread,
Feb 10, 2015, 5:39:05 AM2/10/15
to repr...@googlegroups.com

Reinaldo A. Fagundes

unread,
Feb 10, 2015, 3:22:17 PM2/10/15
to repr...@googlegroups.com
Eu já alterei um bootloader para fazer flash usando uma memória 24LC
 
deixando o bootloader com 1k (lembra que ele pode ter 512, 1k ou 2k) ou é (1k, 2k e 4k) não me recordo.
hoje o arduino usa o da leideada* (nao sei como escreve) que tem 512 ou 1k
 
bem pelo visto lembrar não é meu forte hoje
--
Página da Lista: http://groups.google.com/group/reprapbr/about?hl=pt-BR
Versão Forum: https://groups.google.com/d/forum/reprapbr
---
Você recebeu essa mensagem porque está inscrito no grupo "RepRapBR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para reprapbr+u...@googlegroups.com.

Alex Borro

unread,
Feb 10, 2015, 3:30:25 PM2/10/15
to repr...@googlegroups.com
Reinaldo, então se vc tem familiaridade com o Bootloader poderia implementar essa feature pra gente.. eu tb me interesso muito por ela, pq ficar usando PC pra atualizar as impressoras é um saco!!




Para mais opções, acesse https://groups.google.com/d/optout.

Magno Barein

unread,
Feb 10, 2015, 9:30:55 PM2/10/15
to repr...@googlegroups.com
Apenas para enriquecer o post, Lady Ada é o apelido da engenheira elétrica americana dona do site Adafruit. Recomendo a todos conhecer o site. É muito bacana (embora, para nós, seja tudo caro e seja melhor comprar da China...), cheio de novidades pois só vende hardware livre (alguns são parcialmente livres...). Ela é muito ativa na comunidade open source.

Saludos!

Magno


Daniel Franco

unread,
Feb 11, 2015, 5:33:34 AM2/11/15
to repr...@googlegroups.com

Reinaldo, se você já fez, me conte uma coisa, qual o limite do tamanho do SD Card para atualizar?
Eu tava lendo e a maioria dos sites que falam disso mensionam que o limite maximo do SD card não pode ultrapassar de 2GB... Como todos aqui sabem, um cartão de 2gb hoje é bem complicadinho de se encontrar, geralmente acha só de 4gb para +...

Ouuuu eu entendi errado e você ta colocando o firmware em uma memoria flash e ele atualiza por ela ao invés do SD?

Abraços.

Daniel Luis Franco.

Enviado via LG G2.

Você recebeu essa mensagem porque está inscrito em um tópico no grupo "RepRapBR" dos Grupos do Google.
Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/reprapbr/eFa7-oelQxI/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para reprapbr+u...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/reprapbr/D42B6914835D4F37BB366F61739A5106%40reinaldoHP.

Adriano Zenzen

unread,
Feb 11, 2015, 5:55:31 AM2/11/15
to repr...@googlegroups.com
O negócio de cartão de 2GB é porque muitos cartões acima dessa capacidade não aceitavam acesso por SPI, que é a comunicação que o Arduino uso com o cartão.

Mas hoje em dia acho que isso não é muito problema. Praticamente todos os cartões que usei com a impressora funcionaram, de 128MB (sim, eu ainda tenho um) até 8GB, de diferentes marcas, incluindo Kingston.

Daniel Franco

unread,
Feb 11, 2015, 6:24:39 AM2/11/15
to repr...@googlegroups.com

Eu tenho pendrive pequeno só, um de 256mb, porque eu também faço manutenção em TVs e esses tempo andou aparecendo umas LCD da AOC que se o pendrive não fosse de no maximo 256mb ela não reconhecia a atualização e a solução do defeito era só atualizar... Tive que comprar esse pendrive pelo mercado livre pq esse tamanho não acha fácil.

Abraços.

Daniel Luis Franco.

Enviado via LG G2.

Luciano Garcia

unread,
Feb 11, 2015, 6:36:20 AM2/11/15
to repr...@googlegroups.com

Desculpe se eu estiver errado, mas...

neste caso não seria só formatar o SD card ou o pendrive? com uma partição lógica do tamanho solicitado pelo firmware para reconhecimento, uso para isso o programa Paragon_Hard_Disk_Manager_2010_x64, e ele pega um sd de 8 gb e se eu quiser faço uma lógica de 1 gb e restante deixo sem formatar ou coloco uma partição linux

 

Luciano Garcia

Descrição: LOGO RECICLAGEM  "Antes de imprimir, pense em sua responsabilidade e compromisso com o Meio Ambiente”.


Para mais opções, acesse https://groups.google.com/d/optout.




Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa.


image001.png

Alex Borro

unread,
Feb 11, 2015, 6:45:29 AM2/11/15
to repr...@googlegroups.com
Bom, isso foge um pouco do escopo do tópico e pode ser pesquisado lá fora.
Existem basicamente 3 padrões de SDCard: SDSC (Standard Capacity até 2Gb), SDHC (High Capacity até 32Gb) e SDXC (eXtended Capacity até 2Tb).
Entre os padrões podem existem diferenças eletronicas e/ou de especificações de software. 
Sendo assim tanto o firmware quanto o hardware precisam ser capazes de ler determinado formato. E claro, a partição precisa estar formatada num sistema de arquivo q consiga endereçar todos os blocos. Nada adianta ter um cartão de 32Gb e tentar formatar com FAT16.


Voltando ao tópico, quem vai se arriscar a adaptar um bootloader para regravar a partir do SD?? Reinaldo, kd vc??

Abraços.

Alex.


Para mais opções, acesse https://groups.google.com/d/optout.



--

Daniel Franco

unread,
Feb 11, 2015, 7:52:57 AM2/11/15
to repr...@googlegroups.com

Se me explicarem como eu modifico o bootloader (ou me passarem certinho qual bootloader q é pro MEGA, porque eu vi muita coisa pra uno e boiei no que falava do mega, meu inglês num ajuda MT também) eu arrisco ;-)

Mas também, se der pau, num da só pra forçar escrever novamente o bootloader antigo? Eu tive que gravar o bootloader na minha gen7 (atmega1284p), não deve ser muito diferente no Mega.

Eu tava pensando, o bootloader da RUMBA não é diferente? Alex, você usa a RUMBA certo? Você teria que fazer algo especial pra ela dai se quisesse fazer isso, certo?

Abraços.

Daniel Luis Franco.

Enviado via LG G2.

Daniel Franco

unread,
Feb 11, 2015, 8:00:41 AM2/11/15
to repr...@googlegroups.com

Tava pensando aqui, mas certamente seria mais complicado de fazer mas pelo menos não precisaria ter um bootloader modificado pra cada placa... Se fizesse direto no firmware, o firmware velho reconheceria o firmware novo, ficaria lá ligado rodando na RAM gerenciando a regravação da memoria flash e dai quando terminasse de atualizar a flash ele daria um reboot e inicializaria o firmware novo recém gravado.

Abraços.

Daniel Luis Franco.

Enviado via LG G2.

Valter F.C.

unread,
Feb 11, 2015, 8:01:12 AM2/11/15
to repr...@googlegroups.com
É bem simples de gravar. O mais fácil é usar outro arduino como programmer. Se der pau, dá para regravar.

http://arduino.cc/en/Hacking/Bootloader?from=Tutorial.Bootloader
http://playground.arduino.cc/Learning/Burn168

Provável diretório (os sub-diretórios são conforme a versão do arduino)
C:\Program Files (x86)\Arduino\hardware\arduino\bootloaders


Att,

Valter F.C.

Valter F.C.

unread,
Feb 11, 2015, 8:01:53 AM2/11/15
to repr...@googlegroups.com
Não dá. Tem de ser pelo bootloader.

Att,

Valter F.C.

Bruno Cabral

unread,
Feb 11, 2015, 8:29:29 AM2/11/15
to repr...@googlegroups.com
Voce sabe quanto de ram tem uma placa dessas?


Date: Wed, 11 Feb 2015 11:00:39 -0200
Subject: Re: [RepRapBR] Re: Atualizar firmware via SD Card é possível?
From: daniel.lu...@gmail.com
To: repr...@googlegroups.com

Daniel Franco

unread,
Feb 11, 2015, 9:00:07 AM2/11/15
to repr...@googlegroups.com
Porque Bruno? você acha que daria certo aquela minha ideia de manter pelo menos uma parte do firmware para usar como gravador ao invés de ter que ficar alterando bootloader de tudo quanto é placa?

Abraços.

Daniel Luis Franco.

Miguel D'Avila

unread,
Feb 11, 2015, 10:14:12 AM2/11/15
to repr...@googlegroups.com
alex, também não é um saco ter de fazer a atualização no firmware no pc,
salvar num cartão e levar para a printer?


Para mais opções, acesse https://groups.google.com/d/optout.



--
miguel d'avila .'.
hell de janeiro

"Todos os que estão seriamente envolvidos em pesquisas científicas
se convenceram de que uma consciência está presente nas leis do universo.
Uma consciência infinitamente superior à do homem" - Albert Einstein, físico alemão

Alex Borro

unread,
Feb 11, 2015, 10:14:29 AM2/11/15
to repr...@googlegroups.com
Daniel, eu não sei se a arquitetura AVR permite a execução de código na RAM.. 
Eu acho mais fácil mudar o bootloader, que é FEITO PRA ISSO.

Abraços.

Alex.

Em 11 de fevereiro de 2015 11:59, Daniel Franco <daniel.lu...@gmail.com> escreveu:

Para mais opções, acesse https://groups.google.com/d/optout.

Alex Borro

unread,
Feb 11, 2015, 10:21:22 AM2/11/15
to repr...@googlegroups.com
Eu não acho..
As vezes a impressora está longe e eu não tenho nenhum PC perto..
Ai tenho que arrumar um laptop, colocar tudo nele e ir fazer a atualização.

Preferiria muito mais complicar no PC, colocar o Hex num arquivo SD e colocar na impressora.. muito mais fácil..

Vamos aguardar o Reinaldo que tem experiencia com Bootloader, quem sabe ele não implementa isso pra nós??

Abraços.

Alex.


Para mais opções, acesse https://groups.google.com/d/optout.

Adriano Zenzen

unread,
Feb 11, 2015, 1:46:25 PM2/11/15
to repr...@googlegroups.com
Dei uma procurada rápida e existe um bootloader chamado 2boots que funciona tanto para serial quanto para cartão SD.

Ele é feito pro atmega168/328, mas deve ser fácil de portar para o Arduino Mega (atmega2560).

Magno Barein

unread,
Feb 11, 2015, 9:34:09 PM2/11/15
to repr...@googlegroups.com
As versões mais simples do Arduino usam esses processadores, então compatibilidade não é, em princípio, um problema.

Neste link tem um comparativo entre as versões do Arduino: http://arduino.cc/en/Products.Compare
Podem ver que o Mega já foi escolhido para carregar o Repetier por ter mais memória. Antes de aparecer o Due, era o que tinha mais, creio eu.

Saludos!

Magno

Reinaldo Fagundes

unread,
Feb 17, 2015, 8:18:25 PM2/17/15
to repr...@googlegroups.com

Desculpa galera, estava viajando... ainda estou na verdade....

O que fiz foi update por i2c no caso é nativo e não precisa de biblioteca, sendo assim a alteração cabe no firmware do bootloader...

Para fazer via SP I até daria se o acesso ao sd card fosse por setores. Tendo em vista que o Fat16 ou 32 é o que torna a library do sd grande ao ponto de quase não caber em um arduino uno.

Se o hardware permitisse utilizando uma memória i2c grande o suficiente seria possível mas não sei se seria viável.

O arduino tem selfwrite interno para gravar a flash. Mas o problema que vejo é utilizar um arquivo para isso já que o Fat16 e bem grande e não caberia no bootloader que tem tamanho máximo de 4k

Reinaldo A. Fagundes

unread,
Feb 18, 2015, 7:12:33 AM2/18/15
to repr...@googlegroups.com
Tá,
 
Vi que nos atmega 256 o bootloader pode chegar até 8k de memoria, isso é interessante, se a biblioteca do FAT16 + o Bootloader couberem em 8k dá pra fazer,... vou dar uma olhada e tentar pegar uma lib fat16 menor possível, somente para pegar o arquivo e gravar... caso o arquivo exista no sd card,

Fabricio Fabricio

unread,
Mar 1, 2015, 4:59:26 PM3/1/15
to repr...@googlegroups.com
Pessoal ja viram esse aqui ?


Tenho um arduino solto aqui, quando tiver um tempo ligo o SD nele e testo

Fabricio Fabricio

unread,
Mar 1, 2015, 6:25:14 PM3/1/15
to repr...@googlegroups.com
Respondendo a mim mesmo,

Esse bootloader so é compativel com stk500v1, como a maioria de nos usa o arduino Mega 2560 esse bootloader não e compativel com nossas placas que são programadas através do stk500v2...

Até agora o mais próximo que encontrei foi isso: http://www.gammon.com.au/forum/?id=11638
mas necessita de outro arduino ... 

Vou continuar procurando e quando achar algo posto aqui...

Valeu !

Ronaldo Rezende Junior

unread,
Apr 6, 2015, 9:58:09 AM4/6/15
to repr...@googlegroups.com
Pessoal, foi postado ontem e pode ajudar vocês:

Abraços
.
--
Página da Lista: http://groups.google.com/group/reprapbr/about?hl=pt-BR
Versão Forum: https://groups.google.com/d/forum/reprapbr
---
Você recebeu essa mensagem porque está inscrito no grupo "RepRapBR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para reprapbr+u...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages