Table des matières:
- Étape 1: Installation du logiciel
- Étape 2: connexion matérielle
- Étape 3: Paramètres du logiciel
- Étape 4: compiler et charger
- Étape 5: Exécutez l'application sur un téléphone mobile
- Étape 6: Résumé
Vidéo: Comment démarrer avec IDE pour NRF51822, ARM® KEIL MDK V5 + ST-Link : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Aperçu
Lorsque j'ai commencé à développer une application nRF51822 pour mon projet de loisir, j'ai constaté qu'il n'y avait pas d'informations organisées sur ce sujet. Ici, donc, je voudrais noter ce que j'ai traversé.
Cela décrit ce qui me fait du mal à implémenter un exemple d'application "Softdevice" sur le tableau. La programmation de l'application ble_app_hrm fournie par le SDK de Nordic est présentée ici.
Et comme le montre la 1ère image, les cartes ST Nucleo-F401RE, Waveshare BLE400 et nRF51822 ont été utilisées, mais BLE400 n'est pas nécessaire dans la mesure où vous pouvez connecter ST-Link et votre carte nRF51822.
Et l'avantage d'utiliser ST-Link sur Nucleo a été pris pour fournir l'alimentation de 3,3 ou 5V à la carte nRF51822. Ainsi, une alimentation électrique peut devoir être préparée lors de l'utilisation d'un appareil ST-Link car certains appareils ST-Link semblent ne pas avoir la capacité d'alimenter un microcontrôleur.
J'ai découvert que ma carte nRF51822 est "nRF51822_xxAA" qui a 256 Ko de ROM (taille de la mémoire du programme) et 16 Ko de RAM (la 2ème image).
La procédure contient les étapes suivantes.
- Installation du logiciel
- Connexion matérielle
- Paramètres du logiciel
- Compiler et charger
- Exécutez l'application sur un téléphone mobile (Android)
Toutes les informations sont obtenues au 28 septembre 2018.
Étape 1: Installation du logiciel
Téléchargez MDK-ARM v5.26 ou version ultérieure depuis ARM KEIL et installez-le sous Windows 10. Une fois installé, Keil µVision IDE est installé avec ARM CMSIS et autres. Mais, alors, le système n'a pas de SDK nordique installé.
Lorsque Keil µVision IDE démarre pour la première fois, Pack Installer se lance. Dans Pack Installer, les packages logiciels nécessaires au développement de la carte cible peuvent être installés.
Voir la 1ère image.
C'est une bonne idée de cliquer sur le bouton "Rechercher les mises à jour" pour mettre à jour le Pack Installer au préalable.
Dans l'onglet Périphériques, recherchez et sélectionnez le périphérique cible, "nRF51822_xxAA" afin que les packages associés apparaissent dans l'onglet Exemples.
Dans ce instructable, j'ai sélectionné "ble_app_hrs_s130_pca10028 (nRF51 PCA10028)". N'oubliez pas de décocher "Afficher les exemples des packs installés uniquement" pour trouver le projet dans l'onglet Exemple car aucune installation n'est encore terminée à ce stade.
Cliquez sur le bouton "Installer" pour commencer à décompresser (et également copier) l'exemple de projet. Lors de la copie du projet dans votre répertoire arbitraire, il vous est demandé plusieurs fois d'installer les autres packs logiciels requis par le projet.
Voir la 2ème image.
Une fois l'installation terminée, µVision ouvre le projet.
Notez que le projet original se trouve dans C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_Examples\11.0.0-2.alpha\ble_peripheral\ble_app_hrs\pca10028\s130\arm5.
Étape 2: connexion matérielle
Ici, l'image montre le schéma de câblage réel.
L'image présente un mode de connexion de ST-Link et BLE400 avec une carte nRF51822. Seuls 4 câbles sont nécessaires comme le tableau suivant.
ST-Link (Nucléo) - nRF51822
+5V - USB5V
TERRE - TERRE
SWCLK - SWDCLK
SWDIO - SWDIO
Pour sélectionner ST-Link, les cavaliers "CN2" doivent être ouverts comme indiqué sur le schéma.
Remarque: Au lieu de cela, fournir une alimentation de 3,3 V fonctionne également.
Étape 3: Paramètres du logiciel
La procédure de cette partie doit être suivie, sinon elle n'aboutit à rien.
Voir la 1ère image.
(1) Tout d'abord, sélectionnez « nrf51422_xxac_s130 » dans le menu déroulant « Select Target » de la barre d'outils de µVision. Le nom est différent de l'appareil cible, mais cela ira en raison de leur compatibilité.
Voir la 2ème image
(2) Dans la fenêtre Projet, faites un clic gauche sur "main.c" dans le dossier Application et sélectionnez "Traduire main.c" dans le menu contextuel afin d'inclure les en-têtes nécessaires (la 3ème image). Notez que "nrf51422_xxac_s130" doit être sélectionné à ce stade ou cette opération ne fonctionnera pas.
(3) Cliquez sur "Option For Target" pour configurer l'IDE (la 1ère image). Comme l'opération précédente, "Translate" a correctement défini le microcontrôleur cible, il est confirmé que IROM1:0x1B000 dans Start, 0x25000 dans Size et IRAM:0x20001F00 dans Start, 0x6100 dans Size comme on le voit dans l'onglet Target (la 4ème image).
Voir la 5ème image.
(4) Dans l'onglet Déboguer, sélectionnez "ST-Link Debugger" dans la liste déroulante "Utiliser:".
(5) Cliquez sur le bouton "Paramètres" pour ouvrir la fenêtre "Configuration du pilote cible Cortex-M". Confirmez que l'onglet Debug indique que le microcontrôleur cible est connecté (la 6ème image). Si ce n'est pas le cas, retournez à la section Connexion matérielle et vérifiez à nouveau la connexion.
Voir la 7ème image.
(6) Dans l'onglet Téléchargement Flash, cliquez sur le bouton "Ajouter" dans l'algorithme de programmation et ajoutez "Carte de connectivité externe nRF51xxx". De plus, "Réinitialiser et exécuter" peut être coché pour permettre à ST-Link de réinitialiser et d'exécuter le programme.
Cliquez sur OK et fermez la fenêtre "Option pour la cible".
(7) Ensuite, sélectionnez "flash_s130_nrf51_x.x.x-x-x_softdevice" dans le menu déroulant "Sélectionner la cible" dans la barre d'outils.
(8) Cliquez sur "Option pour la cible". Dans l'onglet Déboguer, sélectionnez « Débogueur ST-Link » dans la liste déroulante « Utiliser: ».
(9) Cliquez sur le bouton "Paramètres" pour ouvrir la fenêtre "Configuration du pilote cible Cortex-M". Encore une fois, assurez-vous que l'onglet Debug indique que le périphérique cible est connecté. Si ce n'est pas le cas, retournez à la section Connexion matérielle et vérifiez à nouveau la connexion.
(10) Dans l'onglet Téléchargement Flash, cliquez sur le bouton « Ajouter » dans « Algorithme de programmation » et ajoutez « Carte de connectivité externe nRF51xxx ». Et "Effacer la puce complète" dans "Fonction de téléchargement" peut être sélectionné pour permettre à ST-Link d'effacer la mémoire de la carte au début du clignotement au lieu de l'effacer manuellement.
Cliquez sur OK et fermez la fenêtre "Option pour la cible".
Maintenant que vous êtes prêt à compiler le code et à flasher le nRF51822.
Notez que bien que l'onglet Périphérique dans "Option pour la cible" indique que nRF51422_xxAC a été sélectionné, cela fonctionne bien.
Étape 4: compiler et charger
Tout d'abord, ici, sélectionnez "flash_s130_nrf51_x.x.x-x-x_softdevice" dans le menu déroulant "Sélectionner la cible" dans la barre d'outils et cliquez sur le bouton Télécharger pour flasher la mémoire. Vous voyez "Vérifier OK" si le téléchargement est réussi (la 1ère et la 2ème image).
Ensuite, sélectionnez "nrf51422_xxac_s130" dans le menu déroulant "Select Target" et cliquez sur le bouton Build pour compiler le code. Vous voyez le message comme indiqué dans la 3ème image.
Ensuite, cliquez sur le bouton Télécharger pour flasher la mémoire. Vous voyez le même message que la 4ème image.
Après avoir terminé avec succès le clignotement, vous voyez que la LED3 clignote (vidéo).
Maintenant, en installant l'application sur votre téléphone mobile, vous voyez ce que fait le programme.
Étape 5: Exécutez l'application sur un téléphone mobile
Installez l'application "nRF Toolbox for BLE" de Nordic Semiconductor dans un téléphone portable ou une tablette (la 1ère image).
Démarrez le HRM et connectez le nRF51822 (vidéo).
Étape 6: Résumé
Il y avait quelques points dans cette instructable;
- alimenter la carte nRF51822 afin de connecter ST-Link
- traduire le fichier main.c avant de compiler et de télécharger le code si un exemple de projet est copié dans un répertoire autre que le répertoire d'origine
- définir "nRF51xxx External Connectivity Board" dans la section Programmation Algorithme
J'espère que cette instruction aidera ces amateurs comme moi.