quarta-feira, 17 de julho de 2019

Programando NINA B112 com ST-LINK V2 (SWD) Gravador de Baixo Custo.

Programando NINA B112 com ST-LINK V2 (SWD)
Gravador de Baixo Custo.

O objetivo deste BLOG é demonstrar como é possível utilizar o ST-LINK V2 para programar o módulo U-BLOX NINA B112. Foi utilizado o módulo NINA B112. 

Como posso então gravar um HEX pronto de terceiros para dentro do NINA B112 ? A resposta é OPENOCD + ST-LINK V2


O preço Médio deste gravador é de 25 a 30 reais.




NINA B112


Abaixo o roteiro para você seguir:

Configuração do driver para ST-LINK V2

Faça o download do driver do ST-LINK V2
https://os.mbed.com/teams/ST/wiki/ST-Link-Driver
Plug ST-LINK V2 na USB

Faça o download do Zadig

Iniciar o Zadig
Selecione Opções -> Listar Todos os Dispositivos
Conecte e desconecte seu dispositivo para descobrir o que muda e selecione a Interface 2 no menu suspenso do dispositivo
Clique em Substituir Driver
NOTA: Para reverter para o driver original, acesse: Gerenciador de dispositivos -> clique com o botão direito no dispositivo -> caixa de seleção para "Excluir o software do driver para este dispositivo" e clique em Desinstalar

Instale o OPENOCD
https://gnutoolchains.com/arm-eabi/openocd/
Descompacte em C:\



Dentro do diretório bin,  crie um arquivo chamado openocd_nrf52.cfg e copie para dentro o seguinte texto:

#
# Nordic Semiconductor NRF52 Development Kit (nRF52832)
#
source [find interface/stlink-v2.cfg]

transport select hla_swd

source [find target/nrf52.cfg]

EXECUTE OPENOCD

Agora é hora de você abrir o prompt do D.O.S ok ?

Dentro da pasta bin, execute o seguinte comando:

openocd -d2 -f openocd_nrf52.cfg


Ele vai abrir um servidor que escutará na porta 4444 e aceitar comandos por esta porta TCP. 

Para acessar esta porta, execute TELNET localhost 4444, então abra mais um prompt do D.O.S



Abaixo alguns comandos;

reset init
reset halt
nrf51 mass_erase
set WORKAREASIZE 0x4000
program c:/openOCD/bin/s132_nrf52_2.0.1_softdevice.hex verify
program c:/openOCD/bin/led_switch.ino.hex verify
reset run
exit


Neste exemplo, foi gravado um exemplo de programa juntamente com softdevice, que implementa BLE.

Também foi testado o APP da U-BLOX que transforma o NINA B112 em um módulo BLE programado com comandos AT. Foram gravados os quatro arquivos HEX.

NINA-B11X-BOOT-SW-3.0.2-001.hex
NINA-B11X-SW-5.0.0-011.hex
s132_nrf52_6.1.0_softdevice.hex
valid_s132_nrf52_6.1.0_softdevice.hex

ARDUINO


O ARDUINO para NRF5  (sandeepmistry) também faz uso do Openocd para transferência de programas, neste caso, você não necessita se preocupar com a instalação do Openocd, apenas com o ZADIG.

Mas como regra, não esqueça de gravar o BOOTLOADER e então selecionar o STLINK-V2 no menu do Arduino.





Mais imagens com com uso do OPENOCD


Dúvidas:

 

Sobre a SMARTCORE

A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portifólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br