Innholdsfortegnelse:

Slik kommer du i gang med IDE for NRF51822, ARM® KEIL MDK V5 + ST-Link: 6 trinn
Slik kommer du i gang med IDE for NRF51822, ARM® KEIL MDK V5 + ST-Link: 6 trinn

Video: Slik kommer du i gang med IDE for NRF51822, ARM® KEIL MDK V5 + ST-Link: 6 trinn

Video: Slik kommer du i gang med IDE for NRF51822, ARM® KEIL MDK V5 + ST-Link: 6 trinn
Video: Marcus og Kim er fanget i en forkert krop | Ultra Nyt 2024, Juli
Anonim
Slik kommer du i gang med IDE for NRF51822, ARM® KEIL MDK V5 + ST-Link
Slik kommer du i gang med IDE for NRF51822, ARM® KEIL MDK V5 + ST-Link
Slik kommer du i gang med IDE for NRF51822, ARM® KEIL MDK V5 + ST-Link
Slik kommer du i gang med IDE for NRF51822, ARM® KEIL MDK V5 + ST-Link

Oversikt

Da jeg begynte å utvikle en nRF51822 -applikasjon for hobbyprosjektet mitt, fant jeg ut at det ikke var organisert informasjon om dette emnet. Her vil jeg derfor notere hva jeg har fått gjennom.

Dette beskriver hva som får meg til å slite med å implementere en "Softdevice" -app på tavlen. Her presenteres programmeringen av ble_app_hrm -applikasjonen fra Nordic's SDK.

Og som vist på det første bildet, har ST Nucleo-F401RE, Waveshare BLE400 og nRF51822 Board blitt brukt, men BLE400 er ikke nødvendig så langt du kan koble ST-Link og nRF51822-kortet.

Og fordelen med å bruke ST-Link på Nucleo har blitt benyttet for å levere 3,3 eller 5V strøm til nRF51822-kortet. Så det kan hende at en strømforsyning må være forberedt når du bruker en ST-Link-enhet fordi noen av ST-Link-enheter ser ut til ikke å ha mulighet til å slå på en mikrokontroller.

Jeg fant ut at nRF51822 -kortet mitt er "nRF51822_xxAA" som har 256 kB ROM (programminnestørrelse) og 16 kB RAM (det andre bildet).

Prosedyren inneholder følgende trinn.

  1. Programvareinstallasjon
  2. Maskinvaretilkobling
  3. Programvareinnstillinger
  4. Kompiler og last inn
  5. Kjør appen på en mobiltelefon (Android)

All informasjon er innhentet fra og med 28. september 2018.

Trinn 1: Programvareinstallasjon

Programvareinstallasjon
Programvareinstallasjon
Programvareinstallasjon
Programvareinstallasjon

Last ned MDK-ARM v5.26 eller nyere fra ARM KEIL og installer det i Windows 10. Når det er installert, installeres Keil µVision IDE med ARM CMSIS og slikt. Men da har systemet ikke noen nordiske SDK -er installert.

Når Keil µVision IDE først starter, starter Pack Installer. I Pack Installer kan du installere programvarepakker som er nødvendige for at målkortet skal utvikles.

Se det første bildet.

Det er en god idé å klikke på "Søk etter oppdateringer" -knappen for å oppdatere Pack Installer på forhånd.

I kategorien Enheter søker du etter og velger målenheten "nRF51822_xxAA" slik at de relaterte pakkene vises i fanen Eksempler.

I denne instruksen valgte jeg "ble_app_hrs_s130_pca10028 (nRF51 PCA10028)". Ikke glem å fjerne merket for "Vis eksempler fra bare installerte pakker" for å finne prosjektet i fanen Eksempel siden en installasjon ikke er utført ennå.

Klikk på "Installer" -knappen for å begynne å pakke ut (og også kopiere) eksempelprosjektet. Når du kopierer prosjektet til din vilkårlige katalog, blir du bedt om å installere de andre programvarepakkene som kreves av prosjektet et par ganger.

Se det andre bildet.

Etter at installasjonen er fullført, åpner µVision prosjektet.

Vær oppmerksom på at det opprinnelige prosjektet ligger i C: / Keil_v5 / ARM / PACK / NordicSemiconductor / nRF_Examples / 11.0.0-2.alpha / ble_peripheral / ble_app_hrs / pca10028 / s130 / arm5.

Trinn 2: Maskinvaretilkobling

Maskinvaretilkobling
Maskinvaretilkobling

Her viser bildet det faktiske koblingsskjemaet.

Bildet viser en måte for tilkobling av ST-Link og BLE400 med et nRF51822-kort. Bare 4 kabler trengs som tabellen nedenfor.

ST -Link (Nucleo) - nRF51822

+5V - USB5V

GND - GND

SWCLK - SWDCLK

SWDIO - SWDIO

For å velge ST-Link må "CN2" -hopperne være åpne som vist i diagrammet.

Merk: I stedet leverer strømmen på 3,3V også.

Trinn 3: Programvareinnstillinger

Programvareinnstillinger
Programvareinnstillinger
Programvareinnstillinger
Programvareinnstillinger
Programvareinnstillinger
Programvareinnstillinger
Programvareinnstillinger
Programvareinnstillinger

Fremgangsmåten i denne delen må følges, ellers kommer den ingen vei.

Se det første bildet.

(1) Først av alt, velg "nrf51422_xxac_s130" fra rullegardinmenyen "Velg mål" på verktøylinjen i µVision. Navnet er forskjellig fra målenheten, men dette vil gjøre på grunn av deres kompatibilitet.

Se det andre bildet

(2) I prosjektvinduet, venstre-klikk "main.c" i applikasjonsmappen og velg "Oversett main.c" i hurtigmenyen for å inkludere de nødvendige overskriftene (det tredje bildet). Vær oppmerksom på at "nrf51422_xxac_s130" må velges på dette tidspunktet, ellers fungerer ikke denne operasjonen.

(3) Klikk på "Alternativ for mål" for å konfigurere IDE (det første bildet). Som den forrige operasjonen, har "Oversett" angitt målmikrokontrolleren riktig, det er bekreftet at IROM1: 0x1B000 i Start, 0x25000 i størrelse og IRAM: 0x20001F00 i Start, 0x6100 i størrelse som sett i kategorien Mål (det fjerde bildet).

Se det femte bildet.

(4) I kategorien Debug velger du "ST-Link Debugger" fra rullegardinmenyen "Use:".

(5) Klikk på "Innstillinger" -knappen for å åpne vinduet "Cortex-M Target Driver Setup". Bekreft at fanen Debug indikerer at målmikrokontrolleren er tilkoblet (det sjette bildet). Hvis den ikke gjør det, gå tilbake til delen Maskinvaretilkobling og sjekk tilkoblingen igjen.

Se det syvende bildet.

(6) I kategorien Flash -nedlasting klikker du på "Legg til" -knappen i programmeringsalgoritmen og legger til "nRF51xxx External Connectivity Board". I tillegg kan "Reset and Run" merkes for å la ST-Link tilbakestille og kjøre programmet.

Klikk OK og lukk vinduet "Alternativ for mål".

(7) Velg deretter "flash_s130_nrf51_x.x.x-x-x_softdevice" fra rullegardinmenyen "Velg mål" på verktøylinjen.

(8) Klikk på "Alternativ for mål". I kategorien Debug velger du "ST-Link Debugger" fra rullegardinmenyen "Use:".

(9) Klikk på "Innstillinger" -knappen for å åpne vinduet "Cortex-M Target Driver Setup". Sørg igjen for at feilsøkingsfanen indikerer at målenheten er tilkoblet. Hvis den ikke gjør det, gå tilbake til delen Maskinvaretilkobling og sjekk tilkoblingen igjen.

(10) I kategorien Flash -nedlasting klikker du på "Legg til" -knappen i "Programmeringsalgoritme" og legger til "nRF51xxx External Connectivity Board". Og "Erase Full Chip" i "Download Function" kan velges for å la ST-Link slette brettminnet i begynnelsen av å blinke i stedet for å slette manuelt.

Klikk OK og lukk vinduet "Alternativ for mål".

Nå som du er klar til å kompilere koden og blinke nRF51822.

Vær oppmerksom på at selv om kategorien Enhet i "Alternativ for mål" viser at nRF51422_xxAC er valgt, fungerer det helt greit.

Trinn 4: Kompiler og last inn

Image
Image
Kompiler og last inn
Kompiler og last inn
Kompiler og last inn
Kompiler og last inn
Kompiler og last inn
Kompiler og last inn

Først og fremst, her, velg "flash_s130_nrf51_x.x.x-x-x_softdevice" fra rullegardinmenyen "Velg mål" på verktøylinjen og klikk på Last ned-knappen for å blinke i minnet. Du ser "Bekreft OK" hvis nedlastingen er vellykket (det første og andre bildet).

Velg deretter "nrf51422_xxac_s130" fra rullegardinmenyen "Velg mål" og klikk på Bygg-knappen for å kompilere koden. Du ser meldingen som vist på det tredje bildet.

Klikk deretter på Last ned -knappen for å blinke i minnet. Du ser den samme meldingen som det fjerde bildet.

Etter at blinkingen er fullført, ser du at LED3 blinker (video).

Når du installerer appen i mobiltelefonen din, ser du hva programmet gjør.

Trinn 5: Kjør appen på en mobiltelefon

Image
Image

Installer "nRF Toolbox for BLE" -appen fra Nordic Semiconductor i en mobiltelefon eller pad (det første bildet).

Start HRM og koble til nRF51822 (video).

Trinn 6: Oppsummering

Det var noen punkter i dette instruerbare;

  1. slå på nRF51822-kortet for å koble til ST-Link
  2. oversett main.c -filen før du kompilerer og laster ned koden hvis et eksempelprosjekt kopieres i en annen katalog enn den originale katalogen
  3. angi "nRF51xxx External Connectivity Board" i delen Programmeringsalgoritme

Jeg håper denne instruksjonen vil hjelpe de hobbyistene som meg.