Über den Service
ÜbersetztIch entwickle Embedded-Linux-Systeme für verbundene Hardware und bringe ein Gerät von nacktem Silizium zu zuverlässiger Firmware, die bereit für die Produktion ist. Meine Arbeit umfasst die gesamte Schicht zwischen Silizium und Ihrer Anwendung: Ich erstelle Images mit Yocto und Buildroot, richte neue Boards ein, schreibe und portiere Gerätetreiber, arbeite mit dem Kernel und den Gerätetrees, damit benutzerdefinierte Peripheriegeräte wirklich wie beabsichtigt funktionieren. Wenn ein Gateway einen sauberen Aktualisierungsmechanismus, sicheren Boot oder ein schreibgeschütztes Root-Dateisystem benötigt, das plötzlichen Stromausfällen standhält, lege ich dieses Fundament, bevor die erste Zeile Produktcode geschrieben wird.
In der Praxis kommen Projekte in einem von zwei Zuständen zu mir. Entweder haben Sie ein neues Board und nichts bootet noch, oder es gibt ein Anbieter-BSP, das im Demokit funktioniert, aber auseinanderfällt, sobald Ihre Hardware von der Referenz abweicht. Ich kümmere mich um beides. Um ein Board einzurichten, arbeite ich durch den Bootloader, Taktung, Pin-Multiplexing und Gerätetrees, erhalte einen sauberen Kernel-Boot und die korrekte Funktion von Bussen mit Ihren Sensoren, Funkmodulen und Speicher. Für ein bestehendes BSP entwirre ich Anbieter-Schichten, erreiche reproduzierbare Builds und verwandle fragile Einmal-Images in etwas, das Ihr Team nach Bedarf neu erstellen und veröffentlichen kann.
Auf der Plattform baue ich die Anwendungsschicht: Init-Systeme und Dienstverwaltung, Netzwerk und Konnektivität, Over-the-Air-Updates, Protokollierung und Watchdog-Betrieb, damit Feldgeräte sich selbst wiederherstellen, anstatt einen Ingenieureinsatz zu erfordern. Ich achte auf langweilige Zuverlässigkeitsdetails, denn sie entscheiden, ob Ihre Geräteflotte jahrelang ruhig läuft oder wöchentlich Support-Tickets generiert. Sie erhalten Dokumentation, reproduzierbare Builds und Firmware, für die ich mich nicht schäme.
— Yocto- und Buildroot-Images, benutzerdefinierte Schichten, reproduzierbare Builds
— Board-Setup: Bootloader, Gerätetrees, Taktung und Pins
— Kernel-Arbeit und Treiber für I2C, SPI, USB, MTD und andere Busse
— OTA-Updates, sicherer Boot, Watchdog und zuverlässiges Rootfs
In der Praxis kommen Projekte in einem von zwei Zuständen zu mir. Entweder haben Sie ein neues Board und nichts bootet noch, oder es gibt ein Anbieter-BSP, das im Demokit funktioniert, aber auseinanderfällt, sobald Ihre Hardware von der Referenz abweicht. Ich kümmere mich um beides. Um ein Board einzurichten, arbeite ich durch den Bootloader, Taktung, Pin-Multiplexing und Gerätetrees, erhalte einen sauberen Kernel-Boot und die korrekte Funktion von Bussen mit Ihren Sensoren, Funkmodulen und Speicher. Für ein bestehendes BSP entwirre ich Anbieter-Schichten, erreiche reproduzierbare Builds und verwandle fragile Einmal-Images in etwas, das Ihr Team nach Bedarf neu erstellen und veröffentlichen kann.
Auf der Plattform baue ich die Anwendungsschicht: Init-Systeme und Dienstverwaltung, Netzwerk und Konnektivität, Over-the-Air-Updates, Protokollierung und Watchdog-Betrieb, damit Feldgeräte sich selbst wiederherstellen, anstatt einen Ingenieureinsatz zu erfordern. Ich achte auf langweilige Zuverlässigkeitsdetails, denn sie entscheiden, ob Ihre Geräteflotte jahrelang ruhig läuft oder wöchentlich Support-Tickets generiert. Sie erhalten Dokumentation, reproduzierbare Builds und Firmware, für die ich mich nicht schäme.
— Yocto- und Buildroot-Images, benutzerdefinierte Schichten, reproduzierbare Builds
— Board-Setup: Bootloader, Gerätetrees, Taktung und Pins
— Kernel-Arbeit und Treiber für I2C, SPI, USB, MTD und andere Busse
— OTA-Updates, sicherer Boot, Watchdog und zuverlässiges Rootfs