学习嵌入式开发需要掌握以下几个方面的知识:
- 精通C语言,熟悉常见数据结构和算法;
- 具备一款或几款单片机平台的产品软硬件设计和开发能力;
- 熟悉一款嵌入式实时操作系统(比如FreeRTOS);
- 掌握Linux操作系统,熟悉linux下的多进程、多线程编程;
- 熟悉TCP/IP协议、socket编程;
- 熟悉ARM体系结构和uboot,具备移植uboot和定制linux系统能力;
- 熟悉Linux内核,掌握基于ARM的嵌入式Linux驱动开发,掌握硬件基本原理;
- 掌握zigbee、蓝牙、RFID、WiFi、LoRa、NB-IOT等物联网无线通信技术开发技能;
- 那么嵌入式具体需要学习哪些内容呢?
- C语言:掌握C语言的语法和基本语句,包括变量、数据类型、运算符、分支和循环等,认识C语言的关键字,掌握数组、指针和函数等,为后续深入学习Linux C语言打好基础。C语言是嵌入式学习的根基、基础,是学习的重中之重。学习C语言要通过大量的案例训练,多打代码,保证自已具备一定的编程能力。
- 数据结构:数据结构是程序员必修课之一,掌握数据结构中的线性表、栈和队列的用法及编程实现。掌握二叉树的递归遍历、层次遍历、及递归如何转非递归。掌握各种查找算法及编程实现,掌握各种排序算法及实现。对于嵌入式来说,数据结构的要求比传统互联网要低,但是数据结构中的各种链表、二叉树在操作系统,在Linux内核和驱动中会经常