S
Firmware para a SACADA Mini utilizando ChibiOS – README.md

README.md

SACADA Mini Firmware

Esse repositório contém o firmware que roda nas placas SACADA Mini. Atualmente, esta é uma versão de desenvolvimento e não é adequada para uso geral.

{:toc}


Compilando

Para compilar firmware para a arquitetura ARM, seu computador deve possuir uma toolchain adequada. Este repositório é desenvolvido utilizando o compilador gcc-arm-none-eabi, porém outras toolchains podem funcionar também, caso seja necessário. A instalação do compilador pode ser realizada via gerenciador de pacotes na maioria das distros procurado pelo pacote homônimo.

Para clonar o repositório, é importante utilizar a flag --recursive para que os submódulos sejam clonados automaticamente.

git clone --recursive https://git.cta.if.ufrgs.br/SACADA/sacada-mini-firmware.git

Assumindo que o compilador esteja instalado, o firmware poderá ser compilado usando o make.

make

Se tudo correr bem, a imagem pronta para ser gravada poderá ser encontrada em build/sacadamini.bin.


Gravando a imagem

Um gravador STLink v2 pode ser utilizado para gravar e depurar o firmware na placa. Para isso, é necessário conectar ele ao header J2 da placa, seguindo a disposição impressa dos pinos.

Para a gravação é utilizado o software stlink, que deve ser instalado manualmente conforme orientações no seu repositório.

st-flash write build/ch.bin 0x8000000

Via USB (DFU)

Primeiramente, é necessário colocar a placa em modo de atualização DFU. Isso pode ser feito curto-circuitando o jumper JP2 (BOOT), localizado logo abaixo do cristal, com uma chave de fenda, enquanto insere o cabo USB. É importante que o pino esteja curto-circuitado enquanto a placa está sendo ligada, caso contrário ela seguirá com a execução normal do firmware.

Para gravar, é utilizada a ferramenta dfu-util, disponível em pacote homônimo.

sudo dfu-util -a 0 -D build/sacadamini.bin -s 0x08000000:leave

Após isso, será necessário reconectar a placa de modo a iniciar o novo firmware corretamente.


Licença

Este programa é um software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU como publicada pela Free Software Foundation; na versão 3 da Licença, ou (a seu critério) qualquer versão posterior.

Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU para mais detalhes.

Uma cópia da licença (em inglês) está disponível no arquivo LICENSE.


This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A copy of this license is provided in the LICENSE file.


Este projeto utiliza código da biblioteca scpi-parser, cuja licensa e copyright está disponível em /lib/libscpi/LICENSE. Copyright 2019 Pedro Henrique Capp Kopper.