• LinkedIn
  • KONTAKT
  • ANNONCERING
  • PARTNERLOGIN

ElektronikFOKUS

Fokus på elektronik

  • Branchenyt
  • Design & udvikling
  • Events
  • IoT & embedded
  • Komponenter & konnektorer
  • Power
  • Produktion
  • Test & mål
  • Wireless & data
  • Artikler fra Aktuel Elektronik

Artikler fra Aktuel Elektronik17. 06. 2025 | Pia Nielsen

Konfiguration af Eclipse i MCU-modul med ultralavt forbrug

Artikler fra Aktuel Elektronik17. 06. 2025 By Pia Nielsen

DEL 2:
Mens vi i del 1 af denne artikel, som kan læses i Aktuel Elektronik 6/2025, beskrev, hvordan man skulle danne et projekt i Eclipse, så skal vi i del 2 se på, hvordan man konfigurerer Eclipse til at arbejde sammen med PICO. Vi starter med en introduktion af ultra low-power, men funktionsrige, mikrocontrollermoduler og fortæller, hvordan man kan programmere og debugge dem med et gratis, populært værktøj. Modsat mange andre high-end mikrocontroller-moduler leveres det aktuelle i et DIP-footprint for let prototyping hos såvel professionelle som hobbyfolket

Artiklen har været bragt i Aktuel Elektronik nr. 7 – 2025 og kan læses herunder uden illustrationer
(læs originaludgaven her)

Af Simon Bramble, staff engineer, Analog Devices

Projektet i del 1 var designet rundt om en MAX32625EVKIT-hardware, der er forskellig fra PICO-hardwaren, så den fil, som beskriver hardwaren i EV-kittet, skal ændres, så den passer til hardwaren afviklet på PICO. De originale boards.c-filer er lagret under:
C:\Maxim\Firmware\MAX32625\Libraries\Boards\EvKit_V1\ Source.
– og de nye boards.c-filer til PICO er lagret i zip-filen, der kan downloades via linket eller fra QR-koden sidst i artiklen. Kopiér hele Boards-directoryet fra zip-filen til det directory, hvor hovedprogrammet er gemt, som vist i figur 1. Dette directory beskriver de komponenter, der er inkluderet på PICO-printet.
PICO indeholder en bootloader, der gør programmet i stand til at køre. Bootloaderen tillader også, at den binære fil kan loades med drag-and-drop. Eclipse vil overskrive denne bootloader, hvis programmet er uploadet i MAX32625 med default-indstillinger. Linker-filen, kaldet max32625.ld, samler alle programmerne i en binær fil, som skal uploades i værtsmikrocontrolleren. Den bestemmer også, hvilken del af memoryen programmet bliver placeret i, og det skal ændres, så man ikke kommer til at overskrive bootloaderen. Den modificerede linker-fil er indeholdt i den downloadede zip-fil.
Kopiér linker-filen til projekt-directoryen, som vist i figur 1. Den Makefile, der er lagret i projekt-directoryen, fortæller compileren, hvor man kan finde linker-fil og Boards-directory, så den skal editeres til at pege på den nye location for den modificerede linker-fil og Boards-directoryet. Kopiér den nye Makefile fra zip-filen til project-directoryen, som vist i figur 1 med overskrivelse af det oprindelige materiale.
I den nye Boards-directory kan man finde en modificeret board.c-file (i EvKit_V1\Source directory), og den beskriver forbindelserne til LED’erne og de ringetryk, der er på PICO’en. Det er let at se, hvordan den er konstrueret ved at sammenligne koden i figur 2 med PICO schematics, vist i figur 3.
 Boards.c-filen er blevet drastisk modificeret, så den gør det muligt for PICO at printe data til et terminalprogram, som eksempelvis Tera Term, der kan være af uvurderlig betydning under debug-processen. Hvis man vælger at bruge en printfunktion, skal man konfigurere terminalprogrammet til at kommunikere med en baud-rate på 115.200, som vist i figur 4.
Bootloaderen kan efterlade visse periferienheder i en partielt konfigureret tilstand, og der findes mere kode i board.c til reset under initialiseringen, som vist i figur 5.
Endelig bruger PICO en anderledes powermanagement-IC i forhold til Evaluerings-kittet. PICO’s powermanagement-IC behøver dog ikke nogen form for programmering, da den kører med sine default-indstillinger, så de linjer af kode, der har skullet konfigurere den, er blevet slettet fra den nye board.c-fil.

Konstruktion af det endelige projekt
Zip-filen indeholder et sample-program, main.c i Template-folderen, og det detekterer, når der bliver trykket på én af PICO’s ringetryk, hvorefter RGB-lysdioden flasher on og off, og der udsendes to bytes data via SPI-porten og siden én byte data via UART’en, hvorefter der printes ”Hello” fra PICO på terminalprogrammet. Kopiér dette program ind i projekt-directoryen, så det overskriver originalen. Main.c-koden er blevet kopieret fra de mange sample-programmer i MAX32625 projekt-directories, som det kan ses i kodens kommentarer. Det bør give brugeren en forlomme, når han eller hun begynder at skrive den endelige applikationskode.
Byg nu projektet ved at klikke på hammersymbolet vist i figur 6. Hvis mere end ét projekt er åbent i Eclipse, så vil brugeren ved at svæve over hammersymbolet få at vide, hvilket projekt der er ved at blive bygget.
Den binære fil skal nu befinde sig i byg/build-directoryet i projekt-directoryet som vist i figur 7.
Det vil nu være en god idé at tilføje build-directoryet til Windows Explorer Quick Access-menuen. Det vil give mening, når man skal programmere PICO’en. Højreklik over build-directory og vælg Pin-to-Quick Access, hvorefter directoryet vil optræde på venstre side af Windows Explorer-menuen under Quick Access.

Uploading af en binær fil
Det er vigtigt at lægge mærke til, at programmeringskablet kun bruges til debug af target-PICO og til reprogrammering af de dele, hvis og hvor bootloaderen er blevet overskrevet. Upload af den binære fil kræver ikke brug af programmeringskablet, da det er en ganske enkel drag-and-drop proces.
Mens man holder tasten nede på PICO, plug den ind i USB-porten. PICO skal så dukke op som et nyt drev med label ”MAINTENANCE”, som vist i figur 8. Træk (drag) nu den binære fil til MAINTENANCE-drevet. Så snart filen er uploaded til PICO, skal MAINTENANCE-drevet forsvinde, PICO vil reboote, og programmet vil begynde at køre på PICO.
I de tidlige stadier af kodeudviklingen er det usandsynligt, at koden vil køre helt som forventet – hvis overhovedet. Hvis softwaren på target-PICO skal debugges (inklusive stepping gennem koden eller med halts ved breakpoints), skal den anden programmerings-PICO programmeres via interface-softwaren, så den kan konnekteres mellem pc’en og target-PICO. Denne programmerings-PICO udsender instruktioner til target-PICO’en for at starte og stoppe eksekvering på target, hvorved det bliver muligt for Eclipse at undersøge registrene.
For at konfigurere den anden programmerings-PICO, gå til binærfilen i DAPLink Interface Binary-directoryen i zip-filen. Kobl nu den anden programmerings-PICO fra USB-porten og hold så tasten nede på programmerings-PICO’en, mens den plugges tilbage i USB-porten. Som tidligere nævnt skal MAINTENANCE-drevet nu dukke op. Træk den binære fil (max32625_max32625pico_if_crc.bin) fra DAPLink Interface Binary-directoryen til MAINTENANCE-drevet. Det vil konfigurere programmerings-PICO’en med interface-softwaren og tillade single-stepping af target-koden med brug af Eclipse. MAINTENANCE-drevet skal nu igen forsvinde, programmerings-PICO’en reboote, og et drev kaldet DAPLINK vil dukke op. På nuværende tidspunkt er det værd at forbinde programmeringskablet til programmerings-PICO’en for at holde den adskilt fra target-PICO’en.

Sådan debugger man target-koden
Med programmeringskablet forbundet til 10-vejs konnektoren på programmerings-PICO’en, tryk nu pogo-konnektoren til den anden ende af de pads, der sidder på bagsiden af PICO, hvilket sikrer alignment af pins i de huller på PICO, som er vist i figur 9. Lad nu musen svæve over det debug-ikon i Eclipse, som er vist i figur 10, for at sikre, at det er det korrekte projekt, der bliver debugget. Navnet på det aktuelle projekt skulle nu dukke op.
Klik på debug-ikonet og behold pogo-konnektoren forbundet til PICO. Programmet vil nu kompilere, for så at pause i starten af koden. Ved at trykke på F8 på keyboardet starter man debug-processen.
Ved at dobbeltklikke over kodens linjenumre i Eclipse kan brugeren indsætte breakpoints. Brugeren kan nu debugge koden. Registre kan undersøges ved at vælge:
Window > Show View > Other.
Fra Eclipse-menuen kan man vælge de ønskede views ved at udbygge Debug-folderen. Så snart man har konstateret, at koden virker, kan man save sit projekt, så det vil kunne fungere som skabelon for fremtidige lignende projekter.

Sådan redder man en crashet PICO
PICO bliver leveret med en forinstalleret bootloader, der gør drag-and-drop programmering mulig. Når PICO’en er plugged i, og hvis hverken MAINTENANCE- eller DAPLINK-drevene dukker op, så er det muligt, at bootloaderen er blevet overskrevet. Man kan udføre en recovery af bootloaderen med brug af de følgende trin:
● Plug programmerings-PICO’en i og se, at DAPLINK-drevet bliver dannet.
● Plug den defekte PICO i.
● Tryk de fjederbelastede konnektorer i programmeringskablet mod de pads, der er på bagsiden af den defekte PICO for at sikre, at de respektive pins passer ind i hullerne på PICO’en.
● Navigér til Bootloader Binary-directoryet og træk bootloader-filen (max32625pico_bl.bin) hen til DAPLINK-drevet. Det er vigtigt at notere sig, at den binære kode bliver kopieret til det drev, som er dannet af programmerings-PICO’en og ikke af target-PICO. Progammerings-PICO’en bruges til at danne en sti for den binære fil til target-PICO via programmeringskablet.
● Man skal nu kunne se MAINTENANCE-drevet, når de reparerede PICO er plugget i, når man holder tasten på PICO’en nede.
● Kobl nu programmerings-PICO’en ud.

Sådan sletter man filer i PICO’en
Skulle det blive nødvendigt at slette (erase) det samlede indhold af PICO’en, skal man følge disse trin:
● Plug programmerings-PICO’en i en USB-port. Det vil danne et drev kaldet DAPLINK.
● Plug den PICO, som skal slettes, i en anden USB-port.
● Tryk de fjederbelastede konnektorer i programmeringskablet mod de pads, der er på bagsiden af den PICO, som skal slettes.
● Navigér til erase.act-filen i Erase File-directoryet i zip-filen.
● Progammerings-PICO’en bruges til at danne en sti for den binære fil til target-PICO via programmeringskablet.
● Det vil slette target-PICO’en.

Konklusion
Indholdet af denne og den foregående artikel skulle gerne være starten på et godt venskab med PICO. Det er en glimrende, prisbillig platform til at gøre brugeren i stand til at udvikle en ekstremt kraftig, men alligevel low-power Arm-mikrocontroller. Ovenstående er en komplet guide til gratis udviklingsværktøjer til programmering og debugging af PICO. Når først man har oplevet succes med ét projekt, så kan dét fungere som skabelon for fremtidig udvikling med et minimum af besvær. Og endelig kan man sige farvel til en 8-bit DIP-verden og træde ind i en verden af 32-bit mikrocontrollere med samtidig mulighed for prototyping med en overskuelig pakkeløsning.
Download software-filerne fra nedenstående link eller fra QR-koden: https://www.analog.com/media/en/software/software-configuration/eclipse-configuration.zip

Billedtekster:
Figur 1: Location af Boards-directoryet.
Figur 2: LED- og ringetrykkonfiguration.
Figur 3: Schematics over LED’er og trykknapper.
Figur 4: Tera Term-indstillinger.
Figur 5: Bootloader-initialisering.
Figur 6: Bygning af et projekt.
Figur 7: Location af den binære fil.
Figur 8: MAINTENANCE-drevet.
Figur 9: Forbindelse af programmeringsenhed til target.
Figur 10: Bygning af det endelige projekt.

Skrevet i: Artikler fra Aktuel Elektronik Tags: MCU, mikrocontrollere, software

Seneste nyt fra redaktionen

”Magiske” DC/DC-forsyninger med ekstremt bred input-tolerance

IoT & embeddedPower18. 08. 2025

Würth Elektronik lancerer tre nye forsyningsmoduler med MagI³C-VDLM i den populære familie af DC/DC-strømforsyningsmoduler, nu kapslet i LGA-12EP og forberedt til industrielle 24V-forsyningsnetværk. Modulerne er kendetegnet ved en høj robusthed over for spændingstransienter på 24V-bussen samt en

Zeiss-målecenter har fået vokseværk og er flyttet

BranchenytTest & mål18. 08. 2025

Zeiss flyttede i løbet af sommeren ind i markant større lokaler, da selskabets målecenter Zeiss Quality Excellence Center flyttede fra Nørresundby til Svenstrup lige syd for Aalborg. Flytningen indebærer, at Zeiss får betydeligt bedre muligheder for at have kunder på besøg, hvor man bl.a. kan få

Programmérbare højvolt modstandsmoduler er nem løsning til testapplikationer op til 1,2kV

Test & mål18. 08. 2025

Pickering Interfaces lancerer en ny familie af programmérbare højvolt modstandsmoduler i den kompakte single-slot PXI- og PXIe formfaktor, hvor modellerne 40-230 (PXI) og 42-230 (PXIe) er enkle løsninger til applikationer, som kræver spændingshåndtering op til 1,2kV. De nye moduler er en del af

Nye stikforbindelser muliggør pålidelige HV-målinger

Komponenter & konnektorer18. 08. 2025

Test of måling af batterier, solceller og andre højspændings-anvendelser stiller høje krav til sikkerhed for at beskytte brugen. Mens der findes mange stikforbindelser specificeret til < 1kV AC/DC på markedet, indskrænkes udvalget betydeligt, når det gælder målinger mellem 1 kV og 1,6kV

Konference om cirkulær produktion

AktueltBranchenytEventsProduktion18. 08. 2025

FORCE Technology inviterer til en konference om cirkulært produktdesign. Ekspertledede sessioner vil give værktøjer, metoder og vejledning til at hjælpe virksomheder med at bruge færre og bedre ressourcer, forlænge produkters levetid og muliggøre genbrug. Design af cirkulære produkter er

Europa oplever en markant stigning i cyberangreb

AktueltWireless & data18. 08. 2025

Check Point Research, en del af Check Point Software Technologies, har netop udgivet kvartalsrapporten Cyber Attack Stats Q2 2025, der analyserer cybertrusler og viser antallet af cyberangreb i 41 lande, herunder Danmark. Kigger man nærmere på udviklingen i Skandinavien, tegner der sig et

Udvikling af ny og enklere kryptostandard til IoT-formål

Design & udviklingIoT & embeddedTop18. 08. 2025

Ifølge en artikel på vores svenske kollega, Elektroniktidningen har den amerikanske standardiseringsorganisation NIST udviklet fire algoritmer til "let kryptografi". Standarden hedder 800-232 og er skræddersyet til IoT. Ud over kryptering kan den bruges til autentificering, hashing, nøglegenerering

48 procents stigning: Virksomheder søger hjælp i dansk cybermærke

BranchenytDesign & udviklingWireless & data15. 08. 2025

It-sikkerhed er kommet højt på dagsordenen i adskillige af landets virksomheder. Tiltagende cybertrusler og den nye cyberlov NIS 2, der trådte i kraft 1. juli, får flere af landets virksomheder til at arbejde aktivt med at styrke den digitale sikkerhed. Det mærker D-mærket, Danmarks

Nye forseglede skydekontakter fra Panasonic Industry øger pålidelighed og effektivitet

Komponenter & konnektorer15. 08. 2025

Panasonic Industry har for netop introduceret ASQD1-serien af forseglede skydekontakter, en ny state-of-the-art serie af mikroswitche, designet til øget pålidelighed og effektivitet på tværs af en række applikationer. De robuste komponenter i ASQD1-serien har fordel af dobbelte interne kredsløb, der

Hvorfor skal man vaske print?

Produktion15. 08. 2025

Elektronikproducenter kender udfordringen: Harpiksrester (resiner) fra flus kan skabe problemer efter lakering – og forkorte printets levetid. Derfor skal print vaskes. Kyzen og HIN A/S har indgået en distributionsaftale, og Kyzen leverer nu sæbe til vask af print, stencils, filtre og

Tilmeld Nyhedsbrev

/Nyheder

  • Mouser Electronics

    The Latest News from Mouser Electronics 

  • InnoFour

    Meet us at TEC Gothenburg the 4th of September

  • InnoFour

    Protect quality and traceability, keep agile processes as lean as possible but still stay compliant.

  • Mouser Electronics

    Mouser Electronics Shares Expert Design Solutions for Advanced Robotics Development in New Interactive eBook from Molex

  • InnoFour

    How to save time in Wire Harness Development

  • Phoenix Contact A/S

    Vinklet M12 apparatstik til THR

  • ANSMANN NORDIC AB

    Hvad bliver der tilbage af BattVO og batteripasset efter EU’s Omnibus IV-procedure?

  • Beckhoff Automation ApS

    TwinCAT for Linux® og virtuel PLC

  • InnoFour

    FLOEFD CFD Electronics Cooling Module

  • Phoenix Contact A/S

    Nye batteri-poltilslutningsstik til lagringssystemer i hjemmet

Vis alle nyheder fra vores FOKUSpartnere ›
 
 
 
 

Læs Aktuel Elektronik

Aktuel Elektronik avisforside

Annoncér i Aktuel Elektronik

Medieinformation

KONTAKT

TechMedia A/S
Naverland 35
DK - 2600 Glostrup
www.techmedia.dk
Telefon: +45 43 24 26 28
E-mail: info@techmedia.dk
Privatlivspolitik
Cookiepolitik