关于服务
翻译我为连接硬件开发嵌入式Linux系统,并将设备从裸硅带到可靠的生产固件。我的工作涵盖了硅与您的应用之间的整个层面:我使用Yocto和Buildroot构建镜像,启动新板,编写和移植设备驱动程序,处理内核和设备树,以确保自定义外设按预期工作。当网关需要干净的更新机制、安全启动或在突然断电后仍能存活的只读根文件系统时,我在第一行产品代码编写之前奠定基础。
在实际项目中,项目以两种状态之一来到我这里。要么您有一个新板子,但尚未启动,要么有一个在演示套件上有效但在您的硬件与参考不同后就崩溃的供应商BSP。我处理这两种情况。为了启动一个板子,我会处理引导加载程序、时钟、引脚复用和设备树,获得干净的内核启动和与您的传感器、无线模块和存储的总线的正确操作。对于现有的BSP,我会解开供应商层,达到可重复构建,并将脆弱的一次性镜像转变为您的团队可以按需重建和发布的东西。
在平台之上,我构建应用层:初始化系统和服务管理、网络和连接、空中更新、日志记录和看门狗操作,以便现场设备能够自我恢复,而不需要工程师访问。我关注那些乏味的可靠性细节,因为它们决定了您的设备群是否能安静运行多年,或每周产生支持票。您将获得文档、可重复构建和我不感到羞愧的固件。
— Yocto和Buildroot镜像,自定义层,可重复构建
— 板子启动:引导加载程序,设备树,时钟和引脚
— I2C、SPI、USB、MTD和其他总线的内核工作和驱动程序
— OTA更新、安全启动、看门狗和可靠的rootfs
在实际项目中,项目以两种状态之一来到我这里。要么您有一个新板子,但尚未启动,要么有一个在演示套件上有效但在您的硬件与参考不同后就崩溃的供应商BSP。我处理这两种情况。为了启动一个板子,我会处理引导加载程序、时钟、引脚复用和设备树,获得干净的内核启动和与您的传感器、无线模块和存储的总线的正确操作。对于现有的BSP,我会解开供应商层,达到可重复构建,并将脆弱的一次性镜像转变为您的团队可以按需重建和发布的东西。
在平台之上,我构建应用层:初始化系统和服务管理、网络和连接、空中更新、日志记录和看门狗操作,以便现场设备能够自我恢复,而不需要工程师访问。我关注那些乏味的可靠性细节,因为它们决定了您的设备群是否能安静运行多年,或每周产生支持票。您将获得文档、可重复构建和我不感到羞愧的固件。
— Yocto和Buildroot镜像,自定义层,可重复构建
— 板子启动:引导加载程序,设备树,时钟和引脚
— I2C、SPI、USB、MTD和其他总线的内核工作和驱动程序
— OTA更新、安全启动、看门狗和可靠的rootfs