GRAVANDO APLICAÇÃO NO U-BLOX NINA B112 COM SEGGER JTAG OU DAPLink JTAG OU ST-LINK V2
O objetivo deste BLOG é demonstrar como se pode gravar a aplicação do usuário no módulo U-BLOX NINA B112. Foi utilizado o EVK-NINA-B1 e um gravador DAPLink para testes. Basicamente existem dois meios, via SEGGER JTAG e DAPLink JTAG.
1) SEGGER JTAG - EVK-NINA-B1
Quando você adquire o EVK-NINA-B1, é necessário que você baixe os softwares para o SEGGER JTAG no site da www.segger.com, ou seja, no link
https://www.segger.com/jlink-software.html
O EVK-NINA-B1 tem um microcontrolador MICROCHIP SAM que está embarcado com o um software para transformá-lo em um SEGGER JTAG, ou seja, você tem um gravador/debugger via SEGGER
O microcontrolador MICROCHIP SAM usa SWD mode para gravação e debug, Deixe conectados os jumpers SWDCLK e SWDIO da EVK-NINA-B1.
Ferramentas como SEGGER STUDIO e PLATFORMIO procuram o SEGGER JTAG em sua máquina para efetuar a gravação da aplicação.
Por fora, você pode usar J-LITE ou NRFGO STUDIO, os quais podem ser utilizados para gravar a sua aplicação.
Quando você adquire o EVK-NINA-B1, é necessário que você baixe os softwares para o SEGGER JTAG no site da www.segger.com, ou seja, no link
https://www.segger.com/jlink-software.html
O EVK-NINA-B1 tem um microcontrolador MICROCHIP SAM que está embarcado com o um software para transformá-lo em um SEGGER JTAG, ou seja, você tem um gravador/debugger via SEGGER
O microcontrolador MICROCHIP SAM usa SWD mode para gravação e debug, Deixe conectados os jumpers SWDCLK e SWDIO da EVK-NINA-B1.
Ferramentas como SEGGER STUDIO e PLATFORMIO procuram o SEGGER JTAG em sua máquina para efetuar a gravação da aplicação.
Por fora, você pode usar J-LITE ou NRFGO STUDIO, os quais podem ser utilizados para gravar a sua aplicação.
Você pode usar o EVK-NINA-B1 para gravar outros módulos NINA B112, desconecte os jumpers SWDCLK e SWDDIO e os conecte nos pinos do SWDCLK e SWDDIO do módulo a ser gravado. Não esqueça de ligar os GND do módulo NINA B112 no GND do EVK-NINA-B1, bem como alimentar o módulo NINA B112 com 3.3V.
Pinos do NINA B112
Você pode usar o gravador SEGGER JLINK para gravar outros módulos NINA B112, conecte nos pinos do SWDCLK (pino 7) e SWDDIO (pino 9) do SEGGER JLINK nos pinos SWDCLK e SWDDIO do módulo a ser gravado. Não esquecer de ligar os GND do módulo NINA B112 no GND do SEGGER JTAG, bem como alimentar o NINA B112 com 3.3V.
3) DAPLink JTAG - Mbed DAPLink
O Arm Mbed DAPLink é um projeto de software de código aberto que permite programar e depurar aplicativos em execução nos processadores Arm Cortex. Comumente chamado de firmware de interface, o DAPLink é executado em um MCU secundário conectado à porta SWD ou JTAG do MCU do aplicativo. Esta configuração é encontrada em quase todas as placas de desenvolvimento. Ele cria uma ponte entre o seu computador de desenvolvimento e a porta de acesso de depuração da CPU.
Uma vez que você tem um DAPLink, conecte nos pinos do SWDCLK e SWDDIO do DAPLink nos pinos SWDCLK e SWDDIO do módulo NINA B112, bem como os GND e alimente o NINA B112 com 3.3V.
Ao conectar o DAPLink na USB de seu computador, ele vai criar uma pasta virtual, por exemplo, E:, então arraste a tua aplicação (.HEX) para a pasta e ele vai copiar via JTAG SWD para o módulo NINA B112.
Para montar um DAPLink de baixo custo, sugiro usar o LPC11u35, veja o link abaixo
https://os.mbed.com/platforms/SWDAP-LPC11U35/
Neste link você pode baixar o BIN do DAP-LINK para U-BLOX
https://armmbed.github.io/DAPLink/
Testes foram efetuados com o DAPLink para gravação do NINA B112 com sucesso. Atenção, o arquivo HEX deve conter a aplicação e o SoftDevice antes de gravar.
Use o aplicativo MERGEHEX,EXE
C:\MERGE>mergehex.exe -m ble_app_bms_pca10040_s132.hex s132_nrf52_6.1.0_softdevice.hex -o merge.hex
Parsing input hex files.
Merging files.
Storing merged file.
C:\MERGE>dir *.hex
O volume na unidade C não tem nome.
O Número de Série do Volume é 5EAA-F512
Pasta de C:\MERGE
18/02/2019 12:30 146.085 ble_app_bms_pca10040_s132.hex
18/02/2019 14:43 569.999 merge.hex
27/07/2018 09:03 424.030 s132_nrf52_6.1.0_softdevice.hex
3 arquivo(s) 1.140.114 bytes
0 pasta(s) 154.161.254.400 bytes disponíveis
Atenção, não coloque o firmware DAPLink no MICROCHIP SAM, pois destruirá o firmware SEGGER J-LINK.
Abaixo um LPC11u35 com software DAPLink e conector para gravação via SWD.
No mercado há gravadores DAPLink de baixo custo, mas observe o processador usado pelo BIN gerado.
4) Você também pode programar o NINA B112 usando ST-LINK V2
5) Questões: suporte@smartcore.com.br
2) SEGGER JTAG - SEGGER JLINK (20 pinos)
O Arm Mbed DAPLink é um projeto de software de código aberto que permite programar e depurar aplicativos em execução nos processadores Arm Cortex. Comumente chamado de firmware de interface, o DAPLink é executado em um MCU secundário conectado à porta SWD ou JTAG do MCU do aplicativo. Esta configuração é encontrada em quase todas as placas de desenvolvimento. Ele cria uma ponte entre o seu computador de desenvolvimento e a porta de acesso de depuração da CPU.
Uma vez que você tem um DAPLink, conecte nos pinos do SWDCLK e SWDDIO do DAPLink nos pinos SWDCLK e SWDDIO do módulo NINA B112, bem como os GND e alimente o NINA B112 com 3.3V.
Ao conectar o DAPLink na USB de seu computador, ele vai criar uma pasta virtual, por exemplo, E:, então arraste a tua aplicação (.HEX) para a pasta e ele vai copiar via JTAG SWD para o módulo NINA B112.
Para montar um DAPLink de baixo custo, sugiro usar o LPC11u35, veja o link abaixo
https://os.mbed.com/platforms/SWDAP-LPC11U35/
Neste link você pode baixar o BIN do DAP-LINK para U-BLOX
https://armmbed.github.io/DAPLink/
Testes foram efetuados com o DAPLink para gravação do NINA B112 com sucesso. Atenção, o arquivo HEX deve conter a aplicação e o SoftDevice antes de gravar.
Use o aplicativo MERGEHEX,EXE
C:\MERGE>mergehex.exe -m ble_app_bms_pca10040_s132.hex s132_nrf52_6.1.0_softdevice.hex -o merge.hex
Parsing input hex files.
Merging files.
Storing merged file.
C:\MERGE>dir *.hex
O volume na unidade C não tem nome.
O Número de Série do Volume é 5EAA-F512
Pasta de C:\MERGE
18/02/2019 12:30 146.085 ble_app_bms_pca10040_s132.hex
18/02/2019 14:43 569.999 merge.hex
27/07/2018 09:03 424.030 s132_nrf52_6.1.0_softdevice.hex
3 arquivo(s) 1.140.114 bytes
0 pasta(s) 154.161.254.400 bytes disponíveis
Atenção, não coloque o firmware DAPLink no MICROCHIP SAM, pois destruirá o firmware SEGGER J-LINK.
Abaixo um LPC11u35 com software DAPLink e conector para gravação via SWD.
4) Você também pode programar o NINA B112 usando ST-LINK V2
5) Questões: suporte@smartcore.com.br
FONTES:
https://os.mbed.com/handbook/CMSIS-DAP
https://os.mbed.com/handbook/DAPLink
https://www.u-blox.com/sites/default/files/EVK-NINA-B1_UserGuide_%28UBX-15028120%29.pdf
https://os.mbed.com/platforms/SWDAP-LPC11U35/
https://www.segger.com/
https://armmbed.github.io/DAPLink/