Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Visão geral
Quando comecei a desenvolver um aplicativo nRF51822 para meu projeto de hobby, descobri que não havia informações organizadas sobre este tópico. Aqui, portanto, gostaria de observar o que passei.
Isso descreve o que me faz ter dificuldade para implementar um aplicativo de exemplo "Softdevice" na placa. A programação do aplicativo ble_app_hrm que é fornecido pelo SDK do Nordic é apresentada aqui.
E como mostrado na 1ª imagem, ST Nucleo-F401RE, Waveshare BLE400 e placa nRF51822 foram usados, mas BLE400 não é necessário, na medida em que você pode conectar ST-Link e sua placa nRF51822.
E a vantagem de usar ST-Link no Nucleo foi aproveitada para fornecer energia de 3,3 ou 5 V para a placa nRF51822. Portanto, pode ser necessário preparar uma fonte de alimentação ao usar um dispositivo ST-Link porque alguns dispositivos ST-Link parecem não ter a capacidade de ligar um microcontrolador.
Descobri que minha placa nRF51822 é "nRF51822_xxAA", que tem 256kB de ROM (tamanho da memória do programa) e 16kB de RAM (a 2ª imagem).
O procedimento contém as seguintes etapas.
- Instalação de software
- Conexão de Hardware
- Configurações de software
- Compilar e carregar
- Execute o aplicativo em um telefone celular (Android)
Todas as informações são obtidas a partir de 28 de setembro de 2018.
Etapa 1: Instalação do software
Baixe MDK-ARM v5.26 ou posterior de ARM KEIL e instale-o no Windows 10. Uma vez instalado, Keil µVision IDE é instalado com ARM CMSIS e outros semelhantes. Mas, então, o sistema não tem nenhum Nordic SDKs instalado.
Quando o Keil µVision IDE é iniciado pela primeira vez, o Pack Installer é iniciado. No Pack Installer, os pacotes de software necessários para a placa de destino a ser desenvolvida podem ser instalados.
Veja a 1ª imagem.
É uma boa ideia clicar no botão "Verificar atualizações" para atualizar o instalador do pacote com antecedência.
Na guia Dispositivos, pesquise e selecione o dispositivo de destino, "nRF51822_xxAA" para que os pacotes relacionados apareçam na guia Exemplos.
Neste instrutível, selecionei "ble_app_hrs_s130_pca10028 (nRF51 PCA10028)". Não se esqueça de desmarcar "Mostrar exemplos de pacotes instalados apenas" para localizar o projeto na guia Exemplo, pois nenhuma instalação ainda está concluída neste ponto.
Clique no botão "Instalar" para começar a descompactar (e também copiar) o projeto de exemplo. Durante a cópia do projeto para o diretório arbitrário, você será solicitado algumas vezes a instalar os outros pacotes de software exigidos pelo projeto.
Veja a 2ª imagem.
Após a instalação concluída, o µVision abre o projeto.
Observe que o projeto original está localizado em C: / Keil_v5 / ARM / PACK / NordicSemiconductor / nRF_Examples / 11.0.0-2.alpha / ble_peripheral / ble_app_hrs / pca10028 / s130 / arm5.
Etapa 2: Conexão de Hardware
Aqui, a imagem mostra o diagrama de fiação real.
A imagem apresenta uma forma de conexão do ST-Link e BLE400 com uma placa nRF51822. Apenas 4 cabos são necessários conforme a tabela a seguir.
ST-Link (Núcleo) - nRF51822
+ 5V - USB5V
GND - GND
SWCLK - SWDCLK
SWDIO - SWDIO
Para selecionar ST-Link, os jumpers "CN2" devem ser abertos conforme mostrado no diagrama.
Nota: Em vez disso, fornecer energia de 3,3 V também funciona.
Etapa 3: Configurações de software
O procedimento nesta parte deve ser seguido, caso contrário não leva a lugar nenhum.
Veja a 1ª imagem.
(1) Em primeiro lugar, selecione "nrf51422_xxac_s130" no menu suspenso "Selecionar destino" na barra de ferramentas do µVision. O nome é diferente do dispositivo de destino, mas isso funcionará devido à sua compatibilidade.
Veja a 2ª imagem
(2) Na janela Projeto, clique com o botão esquerdo em "main.c" na pasta do aplicativo e selecione "Traduzir main.c" no menu de contexto para incluir os cabeçalhos necessários (a 3ª imagem). Observe que "nrf51422_xxac_s130" deve ser selecionado neste ponto ou esta operação não funcionará.
(3) Clique em "Option For Target" para configurar o IDE (a 1ª imagem). Como a operação anterior, "Traduzir" configurou o microcontrolador de destino corretamente, é confirmado que IROM1: 0x1B000 em Iniciar, 0x25000 em Tamanho e IRAM: 0x20001F00 em Iniciar, 0x6100 em Tamanho como visto na guia Destino (a 4ª imagem).
Veja a 5ª imagem.
(4) Na guia Depurar, selecione "ST-Link Debugger" no menu suspenso "Usar:".
(5) Clique no botão "Configurações" para abrir a janela "Configuração do driver de destino Cortex-M". Confirme se a guia Debug indica que o microcontrolador de destino está conectado (a 6ª imagem). Se não for, volte para a seção Conexão de Hardware e verifique a conexão novamente.
Veja a 7ª imagem.
(6) Na guia Download Flash, clique no botão "Adicionar" no Algoritmo de Programação e adicione "Placa de Conectividade Externa nRF51xxx". Além disso, "Redefinir e executar" pode ser marcado para permitir que o ST-Link seja redefinido e execute o programa.
Clique em OK e feche a janela "Opção para destino".
(7) Em seguida, selecione "flash_s130_nrf51_x.x.x-x-x_softdevice" no menu suspenso "Selecionar destino" na barra de ferramentas.
(8) Clique em "Opção de destino". Na guia Depurar, selecione "ST-Link Debugger" no menu suspenso "Usar:".
(9) Clique no botão "Configurações" para abrir a janela "Configuração do driver de destino Cortex-M". Novamente, certifique-se de que a guia Debug indique que o dispositivo de destino está conectado. Se não for, volte para a seção Conexão de Hardware e verifique a conexão novamente.
(10) Na guia Download Flash, clique no botão "Adicionar" no "Algoritmo de programação" e adicione "Placa de conectividade externa nRF51xxx". E "Erase Full Chip" em "Download Function" pode ser selecionado para permitir que o ST-Link apague a memória da placa no início de piscar em vez de apagar manualmente.
Clique em OK e feche a janela "Opção para destino".
Agora que você está pronto para compilar o código e atualizar o nRF51822.
Observe que, embora a guia Dispositivo em "Opção para destino" mostre que nRF51422_xxAC foi selecionado, isso funciona bem.
Etapa 4: compilar e carregar
Em primeiro lugar, selecione aqui "flash_s130_nrf51_x.x.x-x-x_softdevice" no menu suspenso "Selecionar destino" na barra de ferramentas e clique no botão Download para fazer o flash da memória. Você verá "Verificar OK" se o download for bem-sucedido (a 1ª e a 2ª imagem).
Em seguida, selecione "nrf51422_xxac_s130" no menu suspenso "Selecionar destino" e clique no botão Construir para compilar o código. Você vê a mensagem conforme mostrado na 3ª imagem.
Em seguida, clique no botão Download para piscar a memória. Você vê a mesma mensagem da 4ª imagem.
Após completar com sucesso o piscar, você verá que o LED3 está piscando (vídeo).
Agora, instalando o aplicativo no seu celular, você vê o que o programa faz.
Etapa 5: execute o aplicativo em um telefone celular
Instale o aplicativo "nRF Toolbox for BLE" da Nordic Semiconductor em um telefone celular ou pad (a 1ª imagem).
Inicie o HRM e conecte o nRF51822 (vídeo).
Etapa 6: Resumo
Havia alguns pontos neste instrutível;
- alimentar a placa nRF51822 para conectar o ST-Link
- traduzir o arquivo main.c antes de compilar e baixar o código se um projeto de exemplo for copiado em um diretório diferente do diretório original
- definir "Placa de conectividade externa nRF51xxx" na seção Algoritmo de programação
Espero que esta instrução ajude aqueles amadores como eu.