quinta-feira, dezembro 13, 2012

JY-MCU Minimum AVR System Board - Conectando o UsbTinyIsp

Vamos começar a examinar esta placa usando um recurso que eu já conheço - a programação padrão SPI. Embora o conector seja diferente do habitual, basta fazer um cabo adequado para usar os nossos velhos conhecidos USBtinyISP e avrdude.


Não existe muito segredo para montar o cabo, já que a pinagem está indicada na própria placa. Por sorte, encontrei um conector apropriado no meio de peças de uma impressora sucateada.


Feito o cabo, vamos ligar ao USBtinyISP e executar o nosso teste básico de funcionamento com o avrdude:


Reparar que o avrdude apresenta uma mensagem a mais, informando o conteúdo dos últimos quatro bytes da EEProm, que podem ser usados como um contador de apagamentos da Flash. Já veremos de onde veio este valor absurdo.

Ok, a comunicação funciona. O que podemos fazer de útil? Vamos dar uma olhada nos fuses:


As opções -q colocam o avrdude no modo "quiet", suprimindo mensagens de acompanhamento. Os valores obtidos podem ser decodificados aqui ou aqui. As programações de HFUSE e LFUSE não trazem grande surpresa. Já o LOCK... O ATmega da placa vem protegido contra a leitura da Flash e EEProm. Isto explica o valor absurdo apresentado no contador de apagamentos e o resultado estranho que se obtém ao ler a Flash através do avrdude.

A única forma de se liberar a leitura é fazendo o apagamento total da Flash. Consequentemente, se perde o bootloader. Já fiz isto com uma das minhas placas e gerei um novo bootloader a partir do projeto original.Futuramente eu descreverei isto e colocarei o bootloader nos arquivos do blog.

Nenhum comentário: