Dela

Erik Strömdahl

  • Mjukvaruutvecklare Embedded Systems
  • Embedded Linux specialist

Översikt

Erik har 11 års erfarenhet av mjukvaruutveckling av inbyggda system, huvudsakligen Linux-baserade.
Eriks specialiteter är framförallt inbyggda Linux-system samt trådlös nätverks-kommunikation (WLAN).
Erik har haft ledande roller under framtagning av Linux-baserade system och är väl förtrogen med de flesta komponenter som ingår i ett sådant system. Han har stor erfarenhet av öppen källkod och hur man integrerar den i kommersiella produkter.

Under sin tid på Kapsch har han varit med om hela livscykeln av flera produkter och har därmed fått en god insikt i hur tidiga tekniska beslut kan få stora konsekvenser för en produkts framtid.

Erik är också aktiv inom Linux-communityn för Qualcomm 802.11ac WLAN-chipsets på sin fritid. Han har en stor passion för öppen källkod och Linux.

Egenskaper

Erik är en kreativ, pragmatisk och prestigelös person som gärna delar med sig av sina erfarenheter. Han har agerat mentor åt yngre kollegor och är van vid att introducera nya personer på sin tidigare arbetsplats.

Han är van vid att sätta sig in i existerande kodbaser och har lång erfarenhet av att debugga/felsöka andra individers källkod.

Erik har även haft omfattande kundkontakter och är van vid försöka förstå vad en kund verkligen vill ha och behöver, samt att ge relevant support och feedback till kunder.

Konsultens CV

  • Kapsch Trafficcom AB

    2015 -

    Utvecklare

    Automotive V2X ECU

    Utveckling av V2X-ECU:er för fordonsindustrin. Kapsch har tagit fram en serie ECU:er avsedda för fordon-till-fordon kommunikation (V2X). Dessa har för avsikt att levereras till olika tillverkare och underleverantörer för att implementera V2X-applikationer.
    Erik har haft en ledande roll i utvecklingsarbetet och han har agerat mentor åt yngre kollegor. Nedan är en sammanfattning över de moment som ingått i utvecklingsarbetet:

    Board bring-up: Bring-up av Linux-system med buildroot och u-boot. Arbetet har inneburit uppdatering/anpassning av u-boot samt Linux kernel för NXP/Freescale iMX6 SoC.

    Buildroot: Uppsättning och konfigurering av ett komplett buildroot-baserat Linux-system med stöd för flera olika varianter av målplattform. Arbetet har inneburit mycket strukturering av mjukvarupaket (för att säkerställa att mjukvarupaket kan återanvändas mellan olika produkter/varianter av målplattform), säker bootning (säkerställa att inte enheten kan ”brickas” under firmware update) samt implementering av bygg-skript.

    Jenkins: Automatisering av byggen samt paketering av artefakter. Erik har ansvarat för uppsättning av Jenkins-servrar samt sett till att integrationen med buildroot och versionshanteringssystem (git och subversion) fungerat.

    Wireless radio drivers: Anpassningar av leverantörers radiodrivers för målplattform. From-scratch utveckling av drivers för Qualcomm chipset.

    RF: SDR (Software Defined Radio): RF-tester, främst prestandatester och stabilitetstester har utförts med hjälp av SDR.

    V2X protokoll-stack: Erik har varit med och utvecklat en nätverks-protokollstack för V2X. Protokollen är definierade av standardiserings-organisationer som ETSI, IEEE och SAE. Arbetet har inneburit att implementera stacken efter spec.

    Linux applikationsutveckling: Erik har framförallt varit involverad i processen med att bryta ned applikationen till olika programbibliotek samt att definiera beroenden mellan paket.

    Security: Implementation av säkerhetsstandarder för V2X. Integrering av hårdvaruaccelererad crypto i Linuxplattform. En del av arbetet har varit att översätta säkerhetsstandarder till ”howtos” för andra utvecklare. Säkerhets-standarderna som använts har framförallt varit baserade på Elliptic Curve signering och verifiering av data (ECDSA).

    Utvecklingsverktyg/språk:
    C, Cmake, GNU make, pkgconfig, buildroot, Jenkins, Docker, GNU radio, zeromq, asn.1, shell (bash/ash) Perl, Python, git, subversion.

  • Kapsch Trafficcom AB

    2011 - 17

    Utvecklare

    Automotive V2X evaluationkit

    Kapsch Automotive V2X EVK är en produkt som riktar sig till forsknings-avdelningar hos fordonstillverkare och deras underleverantörer. Produkten är en utvecklingsplattform för att ta fram V2X-applikationer (Vehicle to Vehicle/Infrastructure). V2X-applikationer används bland annat för ”active safety” samt som delkomponent inom system för självkörande fordon.

    Erik har varit med i så gott som alla steg under utvecklingen av Kapsch V2X EVK . Detta har inneburit allt från tidig ”feasability study” till ”product end of life”. Under resans gång har Erik skaffat sig många erfarenheter, speciellt hur vissa tekniska beslut tagna i ett tidigt stadium kan få stora konsekvenser längre fram i ett projekt.

    Arbetet har involverat följande tekniska moment:

    Board bring-up: Bring-up av Linux-system med openWrt och imx_bootlets (special-bootloader för iMX-processorer). Arbetet har inneburit uppdatering/anpassning av Linux kernel för NXP/Freescale iMX28 SoC.

    OpenWRT: Anpassning av OpenWRT för en egenutvecklad hårdvara

    Linux driver development: Utveckling och uppdatering/anpassning av drivers för SPI NOR flash (MTD drivers), I2C, UART, MII (Media Independent Interface, används av de flesta ethernet PHY:n) och CAN.

    Wireless radio drivers: Anpassningar av leverantörers radiodrivers för målplattform.

    LTE-modem: Integrering av Qualcomm QMI-modem i Linux-plattform.

    Kommunikations-interface: Erik har implementerat kommunikations-protokoll ovanpå de flesta fysiska kommunikations-interface. Dessa inkluderar: UART, SPI, I2C, CAN, USB, SDIO och Ethernet. Han har stor erfarenhet av att debugga/felsöka framförallt SPI, I2C samt UART interface (primärt med hjälp av oscilloskop).

    GNSS positioning: Utvärdering och integrering av olika positionerings-lösningar från olika leverantörer: CSR/SiRF, Telit och uBlox. Vissa GNSS-lösningar (tex uBlox) har haft stöd för ADR (Automotive Dead Reckoning) med wheelticks. De olika GNSS-lösningarna har jämförts med avseende på noggrannhet i olika miljöer (open sky, Urban canyon etc.)

    Framtagning av SDK med tillhörande API:er och dokumentation för kund. SDK:t har använts av kunder för att utveckla V2X-applikationer

    NXP LPC Cortex-M microcontrollers: LPC:n användes för interface-konvertering mellan USB och SPI för en crypto-hårdvara.

    Förutom den rent tekniska biten har Erik även haft omfattande kundkontakter som inneburit support, felsökning på plats hos kund samt utbildning.

    Utvecklingsverktyg/språk:
    C, Cmake, GNU make, pkgconfig, openwrt, Jenkins, Docker, asn.1, shell (bash/ash) Perl, Python, subversion, git, LPCOpen.

  • Kapsch Trafficcom AB

    2010 - 12

    Utvecklare

    Aftermarket V2X units

    Utveckling av batteridrivna V2X enheter avsedda för eftermontering i bilar. Två versioner av enheten togs fram, en med skärm och knappsats och en utan skärm. Enheten med skärm hade en display med parallellt RGB interface och kapacitiv pekskärms-knappsats med I2C-interface. GUI:t var baserat på directfb.

    Eriks arbetsuppgifter var huvudsakligen:

    Board bring-up: Bring-up av Linux-system med en egenutvecklad byggmiljö (baserad på LTIB). Arbetet har inneburit uppdatering/anpassning av Linux kernel för NXP/Freescale iMX28 SoC.

    Linux drivers: VGA display-driver samt integrering av radio-drivers från 3:e part.

    Byggmiljö: Utveckling av byggskript, främst shell och Perl för att bygga Linux-systemet med tillhörande applikationer.

    Applikationsutveckling: Utveckling av diverse userspace-applikationer för elektronisk tullning.

    Utvecklingsverktyg/språk:
    C, Cmake, GNU make, Jenkins, shell (bash/ash) Perl, subversion.

  • Kapsch Trafficcom AB

    2009 - 10

    Utvecklare

    Low power tolling device

    Arbetsuppgifter:
    Utveckling av mjukvara för en 8-bit microcontroller från ST (STM8). STM8:an har mycket begränsade resurser i termer av minne och processorkraft och körde utan operativsystem. Det var stort fokus på att hålla nere strömförbrukning samt att göra systemet robust med korta svarstider på event (för att klara realtidskrav). Arbetet innebar mycket hårdvarufelsökning med oscilloskop och logikanalysatorer, framförallt av UART-interface.

    Utvecklingsverktyg/språk:
    C, subversion, STM8 tool-suite från COSMIC

  • Ericsson AB

    2008 - 09

    Utvecklare

    Utveckling av wxWidgets-baserad GUI-applikation

    Arbetsuppgifter:
    Utveckling av testprogram för DSP-algoritmer i C++. Programmet använde sig av klassbiblioteket wxWidgets.

    Utvecklingsverktyg/språk:
    C++, wxWidgets, Eclipse, Visual Studio 6, Clearcase

  • Ericsson AB

    2007 - 09

    Utvecklare

    Optimering av DSP-algoritmer

    Arbetsuppgifter:
    Optimera DSP algoritmer för ARM samt DSP-processorer. Arbetet innebar att optimera referenskod med avseende på minnesstorlek och exekveringshastighet. Referenskoden var till största del skriven av Ericsson’s DSP RnD-team i Kista eller av standardiserings-organisationer som ETSI eller 3GPP. I vissa fall skrevs delar av koden om i assembly-språk för den givna arkitekturen. Koden som optimerades var i huvudsak olika typer av ljudbehandlingsalgoritmer så som ekosläckare, brusreducerare och ljud-avkodare/kodare.

    Utvecklingsverktyg/språk:
    C, ARM9 assembly, CEVA DSP assembly Eclipse, Visual Studio 6, Clearcase, CVS

  • Ericsson AB

    2006 - 09

    Utvecklare

    Integrering av DSP-algoritmer i mobiltelefon-plattform

    Arbetsuppgifter:
    Integrering av DSP-algoritmer i en mjukvaruplattform för mobiltelefoner. Arbetet innebar förutom programmering av wrapper-kod även debuggning av telefonplattformen. Debuggningen skedde huvudsakligen med JTAG-debuggers från Lauterbach.

    Utvecklingsverktyg/språk:
    C, Eclipse, Visual Studio 6, Clearcase, Enea OSE

Kompetensområden

  • - Operativsystem/plattformar

    Android, OSE, Realtids-OS, Linux

  • - Verktyg & Middleware

    Clearcase, Docker, Eclipse, Jenkins, Subversion, Git

  • - Utvecklingsspråk

    Android, Java, C#, C++, Perl, XML, Assembler, Python, C

  • - Hårdvara

    DSP, PC

  • - Elektronikkonstruktion

    CAD-layout, Elektronikkonstruktion allmänt, Radiokonstruktion (RF)

  • - Trådlös datakommunikation

    WLAN

  • - Fast datakommunikation

    Datakommunikation allmänt, TCP/IP, Unix

  • - Systemtyper

    Audio & Video, DSP-program, Mjukvaruarkitektur - programnivå, Realtidssystem, Inbyggda system, Nätverk och kommunikation, Operativsystem och drivrutiner, Trådlösa system

  • - Branscherfarenhet

    Verkstad och Automotive, Forskning och utveckling (FoU), Konsumentelektronik

  • - Utbildning

    Annan högskoleutbildning 4 år eller mer, civ.ing, Matematik

  • - Roller

    Systemförvaltare, Teknisk projektledare, Systemanalytiker, Systemingenjör, Utvecklare/Programmerare

Anställningar

  • 2009 -

    Software developer, Kapsch Trafficcom AB

  • 2006 - 2009

    Software developer, Ericsson

Utbildningar

  • 2001 - 06

    Civilingenjör Elektroteknik, Lunds Universitet

Visa mer

Intresserad? Kontakta

Mathias Bransmo
Kundansvarig på Kvadrat Jönköping AB
0707-885180
Alexander Odegran
Kundansvarig på Kvadrat Jönköping AB
0733842564