1、熟练掌握C、C++语言。
2、精通数据结构、计算机算法、实时操作系统。
3、熟悉模拟电路/数字电路,对MCU/DSP/ARM等有一定的了解。
4、能看懂硬件原理图。
5、具备STM32平台软件开发经验。
6、熟悉TCP/IP协议栈及常用网络通讯协议,熟悉网络编程。
7、熟练掌握嵌入式软件设计和调试方法。
8、熟悉并有过ucos、Free-RTOS、Linux驱动及应用开发经验。
9、熟悉并有过Socket、SQLite、XML、JSON应用开发经验。
10、熟悉I2C、SPI、UART、485、MOD-BUS等通讯原理及开发。
11、有过ZIGBEE、BLE、LoRa设备开发经验者优先考虑。
12、熟练掌握Svn(集中式)等源代码版本管理工具,有良好的代码习惯。我们以芯动科技嵌入式软件开发工程师岗位为例,对于岗位任职要求除了学历、专业外,对于技术和项目经验都有一定要求。技术要求是熟悉C/C++编程语言,CPU体系结构,Linux设备驱动开发,中断机制,I/O控制和常见外设,以及良好的硬件读图和调试能力,会使用万用表、示波器、逻辑分析仪等调试设备。