岗位描述:
作为嵌入式软件工程师,你将负责开发和维护机器人产品中的嵌入式软件。你将参与从需求分析到软件设计、编码、调试和测试的全流程开发过程。你的主要职责是为单核ARM MCU平台与多核ARM处理器平台开发高效、可靠且可扩展的嵌入式软件解决方案。
职责和任务:
- 进行需求分析,与团队成员和客户合作确定软件功能和性能要求。
- 设计和实现MCU, 应用处理器平台上的嵌入式软件,包括驱动程序、操作系统接口和应用程序。
- 编写高质量的C/C++代码,并进行单元测试和集成测试,确保软件质量和性能。
- 调试和优化嵌入式系统,解决软件缺陷和性能问题。
- 参与软件架构和设计的评审,提出改进和优化建议。
- 与硬件工程师和团队成员合作,进行硬件和软件的集成测试。
- 编写详细的技术文档,包括软件设计规范、用户手册和API文档。
- 持续关注嵌入式技术的最新发展,并积极学习和应用新的技术和工具。
技能要求:
- 扎实的嵌入式系统开发经验,熟悉STM32 MCU体系结构和编程模型。
- 熟悉C/C++编程语言和嵌入式软件开发工具链,如Keil、IAR等。
- 具备良好的软件设计和架构能力,能够编写结构清晰、可维护和可扩展的代码。
- 熟悉实时操作系统(RTOS)和设备驱动程序开发,如FreeRTOS。
- 熟悉Linux系统的设备驱动程序(BSP))开发。
- 具备硬件调试和故障排除的能力,熟悉使用示波器、调试器等工具。
- 熟悉通信协议,如PCIE, USB, UART、SPI、I2C、CAN等。
- 具备良好的问题解决能力和团队合作精神,能够与多个团队成员协同工作。
- 具备良好的沟通能力,能够清晰表达和传达技术概念和设计思想。
教育和经验要求:
- 计算机科学、电子工程或相关领域的学士或硕士学位。
- 至少3年以上嵌入式软件开发经验。
- 有项目管理经验和团队合作经验者优先考虑。
如果你对嵌入式系统开发充满热情,具备出色的技术能力和团队合作精神,那么这个岗位将为你提供一个发挥才能的机会。