职位描述
主要职责:
1. 完成基于Linux的嵌入式系统相关工作,包含uboot修改、驱动开发、根文件系统定制,应用程序开发等。
2. 同利益相关者合作以得到详细且合理s的软件需求。
3. 同相关人员紧密合作,规划软件开发周期中各个步骤。
4. 选择灵活和可扩展性强的方案进行软件架构设计。
5. 根据软件配置管理(SCM)和内部编码规则快速开发软件。
6. 准备和维护技术文档。
7. 计划和引导软件实施。
8. 在有限的时间内找出异常的根本原因并修复。
9. 提供现场支持。
能力要求:
1. 本科以上学历。至少两年嵌入式软件开发工作经验。
2. 熟悉C/C++语言。
3. 熟悉GCC,GDB,理解编译链接过程和原理,理解调试的原理。
4. 熟悉Linux平台,熟悉Liunx系统启动流程、系统框架、应用。
5. 熟悉Linux常用命令,熟悉Makefile、Shell。
6. 熟悉计算机网络,深入理解Socket、IP、Port、TCP、UDP。
7. 熟悉数据结构,熟悉链表、二叉树,FIFI等。
8. 熟悉操作系统,理解中断、内存管理、进程、线程、内核态、用户态等。
9. 熟悉物模型、物影子、数据孪生等相关概念。
10. 熟悉至少一种支持pub/sub模型通信协议,如MQTT、REST/HTTP、CoAP、DDS等。
11. 具备Linux驱动开发能力,可以完成如UART、IIC、SPI、KEY、LED、USB等驱动。
12. 具备Linux平台应用开发能力及调试能力,熟练使用进程间通信方式及文件读写操作。
13. 具备JSON、YAML、XML等文件的创建及解析能力。
14. 具备MQTT、HTTP等相关开发能力。
15. 具备软件白盒测试能力,如静态分析,单元测试,代码走查。
16. 具备面向对象的相关概念。
17. 具备软件配置管理(SCM)相关知识。
18. 具备软件开发模式相关知识。 (例如瀑布式或敏捷开发)。
19. 如有GUI开发经验更佳。如(LVGL、QT、GTK、MFC、emWin等)。
20. 如有Zigbee、BLE、Z-Wave、Wi-Fi、4G、Lora、NB-IoT等项目经验更佳。
21. 如有Telnet、FTP、SNMP、SFTP等相关知识更佳。
22. 如有Golang代码编写能力更佳。
23. 如熟悉网络安全相关知识更佳。
24. 如有现场调试应用方面经验更佳。
25. 如有工业现场总线方面知识更佳。
26. 良好的人际交往和团队合作能力。
27. 良好的英语阅读能力。
更多嵌入式Linux开发工程师 (上海/西安)内容