1、熟悉 C/C++,常用的数据结构、链表、栈、队列、二叉树等,及常用的排序算法;
2、熟悉 Linux 操作系统、文件IO编程,进线程通信及多线程互斥;
3、熟悉 TCP/UDP 网络传输协议进行通信,了解TCP/IP协议模型;
4、熟悉 STM32 的开发流程,FreeRTOS 实时操作系统的移植和使用;
5、熟悉 I2C、SPI、UART 通信协议与lcd显示屏、声卡等各种外设的开发使用;
6、熟悉 Linux 的开发环境,内核裁剪、编译、移植;buildroot 根文件系统的制作;
7、熟悉 Linux 驱动平台总线,设备树开发流程;
8、熟悉 input、I2C、SPI子系统的驱动框架;
9、了解 u-boot的启动流程、Linux内核启动流程;
10、熟悉 Source Insight、Eclipse IDE、Vs Code、MobaXterm等工具的使用。