首页 » 软件开发 » 不吹不黑!嵌入式开发有前途吗(嵌入式开发学习有前途阶段)

不吹不黑!嵌入式开发有前途吗(嵌入式开发学习有前途阶段)

少女玫瑰心 2024-07-24 18:27:31 0

扫一扫用手机浏览

文章目录 [+]

说实话嵌入式开发之前被互联网压得太惨了,工资不如人家,也不够人家“光鲜”。
但这种苦日子到头了!
嵌入式开发现在可以说是非常香。

微观上看,现在工资在涨,而且相对互联网没那么卷;宏观上看物联网、人工智能、自动驾驶等嵌入式应用行业都在飞速发展。

行业是有前途,但是一个人混的好不好,其实除了行业以外,个人能力占比更重。
扎实的技术基础可以帮助我们有个高的起点,涨薪也更快。

不吹不黑!嵌入式开发有前途吗(嵌入式开发学习有前途阶段) 软件开发
(图片来自网络侵删)

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。
里面学习内容、面经、项目都比较新也比较全!
某鱼上买估计至少要好几十。

点击这里找小助理0元领取:嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。
里面学习内容、面经、项目都比较新也比较全!
某鱼上买估计至少要好几十。

点击这里找小助理0元领取:https://s.pdb2.com/l/cnklSITCGo24eIn

下面这个学习路线是我看了很多课程,问了不少前辈,整理的,你可以参考学习:

基础部分

1. linux基本操作:

只要会一些基本的操作就行了,不需要太深入的学习每一个命令,用到的时候会去搜索就行了。

需要掌握的知识如下:环境的搭建;Linux目录结构;文件类型;基本目录操作,文件操作,vim,ifconfig,ping,cd,cp,mv,mkdir等,最关键是gcc命令要会用;一些简单的shell脚本;Makefile的编写。

2. c语言:

不会写代码,就建议不要学Linux,否则职业后期全是瓶颈。
学习C语言一定要学习Linux下C编程。

3. 数据结构:

数据结构很重要,但是在这个上面花太多时间,也是没必要的。
个人建议只要掌握几个基本的排序和查找算法即可,没必要把所有算法都研究一遍。
能掌握常见的算法比如:冒泡排序、直接插入排序、快速排序、二叉树等。
链表操作,创建、增删改查。

4. 基础阶段项目:

基础阶段,个人强烈建议一定要做一个综合性项目,从0开始写。
用链表实现一个简单的《电话本管理软件》,包括增、删、改、查、排序等操作,把所有的知识点融会贯通起来。

进阶部分-Linux编程

1. 文件IO:

掌握posix的一套api,open、read、write、lseek,close等。
熟练写出文件拷贝的功能模块输出。
理解缓冲的概念。

2. 进程线程:

掌握常用的函数fork、exec族函数、pthread 等api;进程创建、回收,一个.c源文件变成可执行程序的过程;crontab、at命令;进程间通信:信号量、消息队列、共享内存、管道、信号;线程创建,同步互斥,互斥锁;守护进程;库的概念,什么是动态库和静态库,如何自己制作动态库和静态库。

3. 网络编程:

TCP/IP协议分层以及每一层的功能;不要看OSI,只要知道即可;socket api的使用,tcp、udp;套接字属性的设置;C/S架构;多进程、多线程服务器模型;抓包工具使用;常见的网络协议分析:ping、 tftp、 ftp 等;进阶阶段知识点很重要,即使以后你不做linux c开发,有了这些基础,你再去学java、c++你的视野一定会不一样。

4. 进阶项目

该阶段可以选择综合项目《多线程聊天室》,实现公聊、私聊、注册登录,互相发送文件等功能。

高阶部分

该阶段学习需要开发板配合,建议新手先把之前内容打扎实,再进入这个阶段学习。
开发板的选择,最重要的是资料!
没有资料的板子不要买!

1. ARM:

arm架构、arm的模式、arm指令,寻址,异常,中断,异常向量表,伪指令、C语言和汇编代码的互相调用、内联汇编;常见的外设的裸机驱动开发,led、key、adc、pwm、rtc、看门狗、i2c、spi等。
这个阶段的内容,对于了解整个计算机软件的工作原理非常重要,Linux内核的很多机制都要依赖汇编指令,尤其ARM工作模式、寻址、异常,中断,异常向量表这些概念。

2. 系统移植:

uboot移植、rootfs制作、内核剪裁移植,usb、网卡驱动移植,uboot、linux启动流程,自己添加uboot命令。
这一阶段的内容对于嵌入式工程师来说,在做实际项目的时候,会经常用到,各个厂家的移植步骤会有所差异,但原理基本相同,熟练掌握这些操作,非常必要。

3. Linux驱动:

字符设备架构、inode、cdev、file_operations、file之间关系;platform总线、设备树;同步互斥机制,自旋锁、信号量、互斥体,原子操作;中断、中断底半部;等待队列,poll的实现;常见设备的驱动的编写,key,led,gpio,adc、pwm、i2c、mpu6050;网络设备:网卡驱动分析、netfilter使用;usb架构。
驱动的学习,主要在于多捋架构,多了解计算机的实现原理,每天抱着内核看。

终极

能学到这个份上,后面如何发展,已经不需要再多费唇舌了,可以继续学习安卓、QT,也可以深挖物联网、算法,或者钻研linux内核优化内核等,每个领域独当一面,收入都不会低。

#include <stdio.h>int main() {printf("hello world!\n");return 0;}

标签:

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读1 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0