Embedded
Software-udvikling
Igennem årene har vi opbygget en solid ekspertise i at identificere de rette konsulenter til enhver form for softwareprojekt.
Vi er eksperter i at finde alt fra specialister inden for hardcore embedded softwareudvikling og softwareudvikling på Windows, Linux, servere, smartphones og tablets.
Embedded software
Vores kompetencer
Platform
Fra blankt papir til robust arkitektur: Opdag vores skræddersyede løsninger, der matcher dine projektbehov.
Applikation
Fra simple knapper til avancerede brugergrænseflader: Opdag vores tilgang til at skabe produkter, der interagerer sømløst med brugerne.
DSP
Specialister i avanceret signalbehandling: Vi skaber brugerinteraktion i alt fra medicinsk udstyr til apps på iOS og Android.
Kommunikation
Fra traditionelle protokoller til IoT: Vi er specialister inden for kommunikationsprotokoller strækker sig fra industriens præferencer til IoT’s komplekse behov.
Tools
Fra diverse udviklingsmiljøer til topkvalificerede specialister: Vi mestrer alt fra programmeringssprog til versionskontrolsystemer. Uanset din udfordring, leverer vi ekspertise – fra algoritmeoptimering til AWS Cloud.
Proces & Metode
Fra vandfaldsmodeller til agile projekter: Vi foretrækker testdrevet udvikling, men er vi fleksible og følger dine præferencer. Vi rådgiver, men det er dine behov, der bestemmer.
Platform
Fra blankt papir til robust arkitektur: Opdag vores skræddersyede løsninger, der matcher dine projektbehov.
Applikation
Fra simple knapper til avancerede brugergrænseflader: Opdag vores tilgang til at skabe produkter, der interagerer sømløst med brugerne.
DSP
Specialister i avanceret signalbehandling: Vi skaber brugerinteraktion i alt fra medicinsk udstyr til apps på iOS og Android.
Kommunika-tion
Fra traditionelle protokoller til IoT: Vi er specialister inden for kommunikationsprotokoller strækker sig fra industriens præferencer til IoT’s komplekse behov.
Tools
Fra diverse udviklingsmiljøer til topkvalificerede specialister: Vi mestrer alt fra programmeringssprog til versionskontrolsystemer. Uanset din udfordring, leverer vi ekspertise – fra algoritmeoptimering til AWS Cloud.
Proces & Metode
Fra vandfaldsmodeller til agile projekter: Vi foretrækker testdrevet udvikling, men er vi fleksible og følger dine præferencer. Vi rådgiver, men det er dine behov, der bestemmer.
Ole Larsen, softwareudvikler
Mød en af vores konsulenter
Med over 20 års erfaring er Ole Larsen er alsidig softwareudvikler med særligt fokus på embeddede løsninger. Han har arbejdet som konsulent i TechPeople siden 2015 og før dette hos Kontron Technology, global markedsleder inden for komponenter til embeddede teknologier.
LÆS MERE OM OLE
I Kontrons danske afdeling designede han bl.a. et embedded motherboard (x86) til industrielt brug. Opgaven omfattede hele processen, fra bring-up og manufacturing test til kundeproblemer og tilpasninger. Hos Kontron var BIOS udvikling det primære arbejde, men der var også opgaver med CPLD/FPGA som LPC/FWH/SPI flash emulator, LVDS patten tester. Desuden designede Ole et Application Programming Interface til support for special features på Embedded motherboard, på både DOS, Windows og Linux.
Oles kernekompetencerne spænder vidt, bl.a. programmering af BIOS (AMI/Phoenix), Windows, DOS, Linux, device driver og Bare-Metal. Han er stærk i programmeringssprogene C, C++ og ASM (x86/8051/ARM/6510) og har kendskab til VHDL.
Som konsulent hos TechPeople har han bl.a. arbejdet med at videreudvikle protokolkode til trådløse sensornetværk på assembler-niveau, software til styring af håndsæt og debugging. Han har også designet en gateway til et instrument til temperaturkalibrering for Ametek i Allerød.
Oles interesse for computere startede, da han fik sin første Commodore 64 og Bare-Metal programmering kan føres tilbage dertil. Debugging og Reverse Engineering er også en passion og IDA fra hex-rays er et favoritprogram.
Platform
Vi er ofte involveret i projekter, hvor vi starter med et tomt stykke papir og udarbejder en robust arkitektur, der matcher de krav, der er fastlagt for projektet.
Der skal træffes en række valg om platformen med hensyn til CPU/MCU, operativsystem og f.eks. muligheden for at kunne opdatere produktet fra afstand.
Vi adskiller altid produktets logiske kode fra den hardwarenære del via et abstraktionslag, hvilket sikrer, at udskiftning af hardwarekomponenter vil have minimal indvirkning på fremtidige softwareændringer.
Board bring-up
Bootloader (U-Boot)
Toolchain
HW Debugger (Lauterbach / J-Tag)
BSP
OS
FreeRTOS / Mbed OS
eCos
Linux (Yocto / Buildroot / Android / …)
Windows, Windows CE/Embedded
Driver
SPI
I2C
UART
ADC
Display / E-ink
LWIP
CPU/MCU
Arm M/7/9/11
80×86/8051
Atmel AVR
PIC
TI MSP430
Board bring-up
- Bootloader (U-Boot)
- Toolchain
- HW Debugger (Lauterbach / J-Tag)
- BSP
OS
- FreeRTOS / Mbed OS
- eCos
- Linux (Yocto / Buildroot / Android / …)
- Windows, Windows CE/Embedded
Driver
- SPI
- I2C
- UART
- ADC
- Display / E-ink
- LWIP
CPU/ MCU
- Arm M/7/9/11
- 80×86/8051
- Atmel AVR
- PIC
- TI MSP430
Applikation
I de fleste produkter vi udvikler indgår en eller anden form for interaktion med brugeren. Det kan være alt fra en enkelt knap og en lysdiode til et avanceret grafisk brugerinterface med touch betjening og endda haptisk feedback.
Nogle produkter, bl.a. inden for for medicinsk behandling, anvender ofte en Windows eller en Linux maskine som frontend til den embeddede platform. Her lægges meget af applikationens logik og interaktion med brugerne gennem et GUI værktøj som QT eller MFC/WPF.
Vi har desuden mange kunder, som tilbyder Apps der kommunikerer med produktet. Det har givet os stor erfaring med både native IOS og Android udvikling eller gennem frameworks som Xamarin samt en kombination heraf.
MMI/GUI
MFC / WPF
wxWidgets
Android
QT
Databehandling
Algoritmeudvikling
Dataopsamling
Styring og regulering
Dataanalyse
Data logning
Mobil & Front-end
IOS / Android
Xamarin / Cordova / PhoneGap
HTML / CSS
AngularJS
Bootstrap
UX Design
MMI / GUI
- MFC / WPF
- wxWidgets
- Android
- QT
Databehandling
- Algoritmeudvikling
- Dataopsamling
- Styring og regulering
- Dataanalyse
- Data logning
Mobil & Frontend
- IOS / Android
- Xamarin / Cordova / PhoneGap
- HTML / CSS
- AngularJS
- Bootstrap
- UX Design
DSP
Vi har mange kunder, der arbejder med avanceret signalbehandling, bl.a. inden for audio og video.
På dette kompetenceområde findes der ikke ret mange konsulenter i Danmark. Derfor har vi gennem tiden haft stor succes med at hente udenlandske konsulenter hertil i kortere eller længere perioder.
Ud over at hjælpe med bolig har vi en fast procedure for at give vores udenlandske konsulenter ekstra opmærksomhed, så de trives mens de er på besøg.
Anvendelsesområder
Talegenkendelse
Audio processering
Video processering
Image processering
Fingerprint
Kryptering
Signalanalyse
Filter design
Kvantisering
Equalisering
Latency reduktion
Parallelisering, load balance
Vektorizing
Kompression
Encryption
Frekvensanalyse
Algoritme-optimering
Fixed-point, floating-point, SIMD
Mobil & Front-end
Conexant, TI, Analog Devices
Intel, AMD, ARM CPU
AMD, Nvidia, Intel GPU
Freescale, Microchip, Atmel
Anvendelses-områder
- Talegenkendelse
- Audio processering
- Video processering
- Image processering
- Fingerprint
- Kryptering
Signalanalyse
- Filter design
- Kvantisering
- Equalisering
- Latency reduktion
- Parallelisering, load balance
- Vektorizing
- Kompression
- Encryption
- Frekvensanalyse
- Algoritme-optimering
- Fixed-point, floating-point, SIMD
Mobil & Frontend
- Conexant, TI, Analog Devices
- Intel, AMD, ARM CPU
- AMD, Nvidia, Intel GPU
- Freescale, Microchip, Atmel
Kommunikation
Vi kommer sjældent udenom kommunikation i en eller anden grad. Igennem mange år har vi opsamlet kompetencer i protokoller, lige fra nogle, der næsten ikke anvendes mere til nutidens mest anvendte.
Udvikler vi for industrien har den sine foretrukne protokoller. Tilsvarende har consumer-produkterne deres egne favoritter.
Inden for IoT-området anvendes der ofte mange forskellige kommunikationsprotokoller, hele vejen fra en simpel batteri-baseret sensor og helt op til en avanceret cloud-løsning. Her er vi efterhånden blevet specialister.
Wired
USB
TCP/IP
CAN / CANOpen
Modbus
Profibus
POWERLINK
Wireless
Bluetooth / BLE
GSM / GPRS
NFC / RFID
WIFI
DECT
GPS
Mesh netværk
Neocortec
Zigbee
Z-Wave
IoT
Azure
Google Cloud
AWS
IBM Node-RED
MQTT
JSON / XML
Security
Wired
- USB
- TCP/IP
- CAN / CANOpen
- Modbus
- Profibus
- POWERLINK
Wireless
- Bluetooth / BLE
- GSM / GPRS
- NFC / RFID
- WIFI
- DECT
- GPS
Mesh netværk
- Neocortec
- Zigbee
- Z-Wave
IoT
- Azure
- Google Cloud
- AWS
- IBM Node-RED
- MQTT
- JSON / XML
- Security
Tools
Vi bliver mødt af mange forskellige udviklingsmiljøer ude hos vores kunder. Vi mestrer de fleste programmeringssprog og det i kombination med forskellige versionskontrolsystemer og værktøjer i øvrigt.
Er der et sprog vi ikke kender endnu, så lærer vi hurtigt.
Vi finder de nødvendige specialister, for eksempel én, der kan afvikle algoritmer på grafikkort, eller en specialist fra Malaysia med erfaring i applikationsudvikling på AWS Cloud.
Kort fortalt – vi sætter en ære i at finde nålen i høstakken.
IDE – udviklingsmiljø
Eclipse
Visual Studio
Visual Code
Borland
LabView
IAR
Versionskontrol
Git
GitLab
Github
SW review (Gerrit/Review Board)
SVN
TFS
Sprog
C
C++ (89/11/14)
C#
Java
Python / Perl
Assembler
Javascript
NodeJS
Matlab / Octave
Make / CMake
OpenGL
IDE – udviklingsmiljø
- Eclipse
- Visual Studio
- Visual Code
- Borland
- LabView
- IAR
Versionkontrol
- Git
- GitLab
- Github
- SW review (Gerrit/Review Board)
- SVN
- TFS
Sprog
- C
- C++ (89/11/14)
- C#
- Java
- Python / Perl
- Assembler
- Javascript
- NodeJS
- Matlab / Octave
- Make / CMake
- OpenGL
Proces & Metode
Vi arbejder både i projekter, der følger en vandfaldsmodel såvel som i agile projekter i mange afskygninger.
Vi vil meget gerne arbejde med testdrevet udvikling. Men ligesom alt andet vi gør, så arbejder vi sådan som vores kunder ønsker vi skal gøre. Vi kan anbefale løsninger, metoder og processer, men vi er ikke religiøse omkring det. Det er vores kunder, der bestemmer.
Agile
SCRUM / Scrummaster
Kanban
SAFe
TDD / Unittest
Jira
Version One
eXtreme programming
User stories
DevOps
Continuous Integration
Continuous delivery
Docker
Jenkins
Metoder
UML / SysML
Multithreaded programmering
Realtids programmering
Designpatterns
Algoritmer
Use cases
Software arkitektur
Machine learning / AI
Reguleringsteknik
Agile
- SCRUM / Scrummaster
- Kanban
- SAFe
- TDD / Unittest
- Jira
- Version One
- eXtreme programming
- User stories
DevOps
- Continuous Integration
- Continuous delivery
- Docker
- Jenkins
Metoder
- UML / SysML
- Multithreaded programmering
- Realtids programmering
- Designpatterns
- Algoritmer
- Use cases
- Software arkitektur
- Machine learning / AI
- Reguleringsteknik