首先就是认知和基础阶段的学习。这部分一般都是要求学习一些行业认知类的课程,指导嵌入式未来的发展前景和就业趋势,C语言的入门,开发工具的使用,常见的命令,数据结构算法等内容。这一部分主要的就是要靠记忆力,并没有太多逻辑上的困难。
其次,有了前面的基础之后就是学习嵌入式应用编程阶段。这一阶段主要就是强化LinuxC阶段知识的强化和C++开发,同时也会接触一些操作系统的知识点,需要熟悉企业的开发流程和规范。掌握文件I/O编程、网络编程、多任务编程、多进程编程,QT编程等重要知识点。补充智能硬件开发,单片机开发等内容。
最后,就是涉及到底层驱动开发的内容。内容为嵌入式系统开发核心内 容,也是嵌入式学习难点之一。在这个阶段需要掌握系统移植和裁剪的方法,要求熟悉嵌入式开发搭建过程等知识点。楼主可以参考以下内容:
1、C语言和Linux操作系统
C语言基础和Linux命令;数据类型,常量,变量和运算符;输入输出,控制语句,数组和字符串;指针及函数。
2、LinuxC高级语言/Python语法中要掌握的知识点?
软件包管理,shell命令;linuxshell命令,脚本编程,高级编程;Makefile;Python基础语法,条件句,循环语句,数据类型,函数,储存文件。
3、数据结构中应该把握的重点。
线性表及顺序表,链表,链表应用;单链表的操作,栈实现和应用;队列实现应用,树及实现;查找,排序。
4、并发程序设计学习的内容
进程编程,守护进程,命令,fork,exit.excel,system;wait函数,waitpid函数,linux守护3,线程,unixt进程间通信。
5、网络编程
基础要打好,TCP编程,并发服务器;UDP编程,TCP/IP协议原理,I0多路复用。
6、ARM
基础,指令,异常处理,裸机开发2,通信接口,中断机制,波形控制;UART串口,读芯片,烧写;STM32,GPIO口操作平台,USART串口怎么应用,中断系统,时钟与定时器,模数转换器ADC,数据搬运DMA,12C总线通信原理,熟悉掌握这些。
7、嵌入式内核及驱动
驱动环境,开发模块,字符设备;中断编程,用户获取按键数据库方法,驱动框架;poll驱动实现,编程方式,tasklet实现,异步信号通知应用;平台总线,sysfs文件,创建bus代码;driver构建,分离,合并,逻辑过程,设计思想;分层框架思想,面向对象思想,输入子系统,设备树,节点和属性;结合一些项目,实战
8、QT嵌入式图形开发
QT控件,对话框,主窗口及事件处理;流式读写,目录遍历,获取文件属性,线程互拆和同步;tcp,udp,服务器,客户端。
9、结合项目做实战训练,复盘
自己哪个环节薄弱,那就反过来针对这一环节进行突破,一个是基础重打,一个是瓶颈突破,然后再回到实战中应用!
我整理了一套嵌入式学习方向,其中的技巧和干货满满,里面包含了编程教学、问题视频讲解、毕设800套和语言类教学,非常的全面,需要的放下一个6,全部免费给你