岗位职责:
1. 负责项目软件功能需求分析、开发、以及测试工作;
2. 配合硬件工程师及相关人员完成硬件电路开发、软硬件联调;
3. 参与公司嵌入式产品软件架构设计与方案选型;
4. 参与公司嵌入式产品需求分析与原理方案详细设计;
5. 负责产品开发过程代码编写、软件调试验证工作;
6. 按照公司的相关制度要求撰写软件设计文档。
任职资格:
1. 电子,通信,自动化,计算机,信息工程、物联网工程等相关专业,本科及以上学历,5年以上工作经验(硕士3年)。
2. Linux 嵌入式开发经验:
* 熟悉 Linux 操作系统,尤其是嵌入式 Linux 系统的架构和特点。
* 了解 Linux 内核驱动开发,能够编写和调试内核模块。
* 熟悉 Linux 设备驱动框架,如 USB 驱动框架。
* 掌握 Linux 下的常用开发工具,如 GCC、GDB、Makefile 等。
3. 嵌入式开发语言:
* 精通 C 语言编程,熟悉嵌入式 C 语言的特点和优化技巧。
* 熟悉 Shell 脚本编程,能够编写自动化测试和部署脚本。
4. USB 协议和设备开发经验:
* 熟悉 USB 协议,了解 USB 设备的枚举过程和通信流程。
* 有 USB 设备驱动开发经验,能够编写 USB 设备驱动程序。
* 了解 USB 设备描述符的定义和解析。
* 熟悉 USB 大容量存储设备 (Mass Storage) 和智能卡设备 (CCID) 的协议和开发。
5. 加密算法和安全协议知识:
* 了解常见的加密算法,如对称加密(AES、SM4)和非对称加密(RSA、SM2)。
* 熟悉国密算法 SM2 和 SM4 的原理和实现。
* 了解安全协议,如 SSL/TLS、IPsec 等。
* 具备一定的密码学基础知识。
6. 硬件接口和电路知识:
* 了解常见的硬件接口,如 USB、I2C、SPI 等。
* 能够阅读和理解硬件原理图和数据手册。
7. 版本控制和协作开发:
* 熟悉版本控制工具,如 Git、SVN 等。
* 了解敏捷开发流程,能够与团队成员协作开发。
* 具备良好的文档编写和注释习惯。
8. 调试和问题解决能力:
* 具备独立调试和问题定位的能力。
* 熟悉嵌入式调试工具,如 JTAG、SWD 等。
* 能够使用逻辑分析仪、示波器等工具进行硬件调试。
官方微信公众号