听哥一句劝,按这套嵌入式的课程内容和课程体系去学习

听哥一句劝,按这套嵌入式的课程内容和课程体系去学习

一、嵌入式的难点
嵌入式开发比互联网软开(比如Java后端)还是要难一些的,比如Java开发,基本也都是用户态的东西,但嵌入式很多东西都深入到了内核态。

二、总体学习思路
总体来说,还是可以把嵌入式学习分为三个大的阶段:
首先基础学习阶段,这就包括通用编程基础(C语言、数据结构/算法、操作系统、计网、计组、Linux系统基础)和基本的硬件基础,扎实地掌握这两大基础,是后续持续发展和不断进步的动力源泉。
其次就是嵌入式应用编程阶段,或者说系统平台编程阶段。因为一般会以特定的嵌入式平台和特定的嵌入式操作系统为依托,熟悉这个系统平台上的编程方法和流程。以常见的ARM+Linux平台为例,需要掌握从内存管理到多任务编程、文件I/O、网络编程,甚至图形化界面编程等几个大的方面。
最后就是深入嵌入式底层开发阶段,最常见的就是内核开发和驱动开发,这些统属于内核态开发范畴,所以需要对操作系统内部机制有所涉猎和理解,在此基础上需要掌握从系统移植到内核开发、驱动开发的各个细节,这是成神之路。

文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///

三、嵌入式应用领域
工控、仪器仪表、消费电子、LoT等等。

四、嵌入式方向
纯硬件:硬件电路、PCB、芯片等等。
软硬结合:不带操作系统:单片机开发和嵌入式裸机开发
带操作系统:用户态:应用程序开发和内核态:内核开发+驱动开发

五、嵌入式相关岗位
嵌入式Linux工程师、嵌入式应用工程师、嵌入式系统工程师
嵌入式内核工程师、嵌入式驱动工程师

六、嵌入式知识学习
C语言、C++、数据结构与算法、操作系统原理、操作系统原理、计算机原理、单片机原理、微机原理、Linux操作系统、嵌入式硬件基础

七、常用开发工具
Linux操作系统、常见Linux命令和实用工具、Git/SVN、shell、Vim、GCC、Makefile、GDB、交叉编译工具、SSh、FTP等等。

八、嵌入式典型平台
体系结构:概念和体系结构、工作模式、指令集、寻址方式、寄存器、内存管理单元、常见接口和控制器、通用编程模型、GPIO、中断、定时器、A/D转换

九、常用协议
UART、IIC、SPI、CAN、USB、局域互联网络LIN、TCP/IP

十、无线模块
蓝牙、WIFI、ZigBee、RF

十一、传感器
温度、湿度、光敏、压力、触摸感应、红外、多轴传感器、GPS、显示模块

十二、嵌入式应用层开发
内存管理/使用:内存分配、内存管理
多任务/编程:进程、线程
文件I/O编程:文件、I/O
网络编程:TCP、IP、UDP、Socket
图形化界面编程:Qt

十三、嵌入式底层开发
可运行系统:BootLoader、Linux内核、根文件系统
Linux内核编程
Linux驱动开发:字符设备开发、块设备开发、网络设备开发、总线设备开发
ea9a78f73a896d3073a481b91cc64b5d.png91640c8fcee02480503109e3b9baef2a.png

猜你喜欢

转载自blog.csdn.net/l16756062003/article/details/125283982
今日推荐