Software
UDVIKLING
SOFTWAREUDVIKLING
TechPeople har siden virksomhedens grundlæggelse i 2010 deltaget i adskillige softwareprojekter, herunder både hardcore embedded softwareudvikling og softwareudvikling på Windows, Linux, servere, smartphones og tablets.
Vores konsulenter har typisk mellem 10 og 25 års erfaring inden for udvikling –
hvilket betyder, at der praktisk talt ikke er noget område eller teknisk område, som vi ikke har kendskab til. Hvis vores kunder skulle have brug for en helt speciel kompetence, som vi mangler erfaring med i vores nuværende pulje af konsulenter, vil vi gøre vores yderste for at finde den rette profil i Danmark eller i udlandet.
-
Platform
-
Ansøgning
-
DSP
-
Kommunikation
-
Værktøj
-
Proces og metode
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.
- Bootloader (U-Boot)
- Toolchain
- HW Debugger (Lauterbach / J-Tag)
- BSP
- 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
MØD EN AF VORES KONSULENTER
Ole Larsen
Alsidig softwareudvikler
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
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.
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 & 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 & 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
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. Vi kan de fleste og resten 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
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