uboot源码编译步骤-嵌入式驱动工程师学习路线【推荐收藏】

我在网上看到了很多嵌入式学习路线,有些是片面的,有些是博主眼中东拼西凑的。 他们几乎把整个行业需要和不需要的技术都写下来了。 没有优点和缺点。 这只是一本说服手册。 ,有的纯粹是为了招收学生而做的广告和卖板。

一口君曾经是某公司的教学经理,教过上千名中学生,其中大部分从事Linux相关开发工作。

如今,他们基本上都是各行各业的巨头,有的已经成为公司的技术总监,带领着几十人、上千人的团队。

亿扣君凭借多年的研发经验,梳理出了嵌入式学习最经典的路线

这是适合您的学习路径:

一、基础 1、linux基本操作

需要掌握的知识如下:

环境搭建:ubuntu、vmware安装

Linux目录结构;

文件类型;

基本的目录操作、文件操作、vim、ifconfig、ping、cd、cp、mv、mkdir等,最重要的是能够使用gcc命令;

一些简单的 shell 脚本;

Makefile 的编译。

个人建议只要会一些基本的操作就可以了,不需要把每一个命令都学得太深,需要的时候搜一下就可以了。

参考文章如下:

””

””

””

””

2.c语言:

所谓编程不学C语言,称编码员也没用。

如果你学了Linux但不学编程,建议不要学,否则你的职业生涯后期将充满困难。

那些告诉你学习Linux不需要懂编程的人又在玩LM了。

要学习C语言uboot源码编译步骤,就必须学习Linux下的C编程。 C语言网上的视频也很多,知识点就不一一介绍了。

不过,必须记住一件事,普通程序员从入门到绝对熟练大约需要2年的时间。 如果你想随心所欲地写出超高质量的代码uboot源码编译步骤,时间因人而异,就看个人喜好了。

其实,并不是每个人都必须成为大师。 做一个快乐的小码农,不是一件幸福的事吗?

3、数据结构:

数据结构非常重要,没必要花太多时间在上面。 除了想进大厂的,尽量自己解决问题。 对于嵌入式方向,我个人建议只需要掌握一些基本的排序和搜索算法即可,没必要研究所有的算法。

””

””

””

””

能掌握常见算法如:冒泡排序、直接插入排序、快速排序、二叉树等。

数组:单向数组,可增、删、改、查。

4.基础阶段项目

uboot源码编译步骤-嵌入式驱动工程师学习路线【推荐收藏】

在基础阶段,我个人强烈建议一定要做一个综合性的项目,而且一定要从0开始写。

拟议项目“电话簿管理软件”

本项目包含的知识点和功能点:

包含简单的菜单功能

数组:一种单向数组,包括增、删、改、查询、排序等操作。

结构体、数组、指针、二级指针、字符串操作

排序

用户登录

添加、删除、修改用户电话号码信息

二、进阶

高级阶段的知识点非常重要。 学习了这一阶段的内容后,我们就可以利用各种库函数+系统调用来自己实现Linux命令:ls、cd、stat、pwd、ifconfig,甚至可以自己实现一些网络合约:tftp、ftp、http。

虽然以后你不会做linuxc开发,但是有了这个基础,你学习java和c++时视野肯定会不一样。 Linux下的系统编程真是让人胃疼。

我们为什么要学习Linux,就是因为它的开放性,有无数的大牛为Linux做贡献,所有的代码都可以看到,而且我们根本不用害怕版权问题!

1. 文件输入/输出

在Linux下,一切都是文件,我们像操作文件一样操作很多外设(字符设备、套接字、文件等)。 如果我们想知道如何操作文件和外设,就必须熟练掌握文件IO。 这是我们学习Linux下编程最基本的知识点。

2. 处理线程

进程和线程是我们学习Linux下系统编程非常重要的知识点,一定要掌握。

参考文章如下:

””

《Linux中常见同步互斥机制设计原理》

Linux信号量(一)——SYSTEMV》

Linux信号量(二)——POSIX信号量》

Linux互斥体(一)——线程互斥体》

进程组、会话、控制终端关系、守护进程解读

Linux库的概念、动态库和静态库的制作、如何移植第三方库》

两个线程,两个互斥体,如何创建无限循环?

使用Linux这么多年,你了解控制台、终端和shell以及它们之间的关系吗? ”

解读多线程,一篇彻底读懂多线程的难点》

子进程进程的父进程关系"

3.网络编程

网络的重要性不言而喻,应用太广了,网络的知识也很复杂:网络编程、TCP/IP合约栈、网络拓扑、网卡驱动、各种无线通信合约。

每一个大块知识的学习都需要很长的时间才能上手,并且需要一定的高难度项目来支撑,这样才能真正理解和掌握互联网。 对于嵌入式方向的初学者来说,我们最好先了解一些基础的网络合约知识,然后再学习socket的使用。

参考文章如下:

“【视频】

4. 先进项目

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

一口君已经将这个项目拆解成了4篇文章,并提供了源码,方便大家入门。

””

3. 高级

这个阶段的学习需要开发板的配合。 建议新手在进入这个阶段的学习之前,先巩固之前的内容。

开发板的选择,最重要的就是资料! 材料! 材料! 材料! 材料! 材料! 材料! 材料!

不要购买信息不完整的主板!

1.ARM

这一阶段的内容对于理解整个计算机软件的工作原理非常重要。 Linux内核的很多机制都依赖于汇编指令,特别是ARM工作模式、寻址、异常、中断、异常向量表等概念。 可以说,掌握了这一阶段的内容后,这样的单片机和STM32真的是触手可及!

也可以参考我的“”

B站正在更新本系列视频教程,

纯保姆式教学,只要有C基础就一定会学会!

2、系统移植

这一阶段的内容是嵌入式工程师在做实际项目时经常用到的。 每个厂家的移植步骤会有所不同,但原理基本相同。 熟练掌握这个操作是非常有必要的。

虽然这部分内容很复杂,但是对于一个菜鸟来说,剑辉操作已经足够了。 如果下班后想深入研究的话,可以回去研究这类细节。

uboot源码编译步骤-嵌入式驱动工程师学习路线【推荐收藏】

参考文章

19、Cortex-A9uboot启动代码解读

20.从0开始学习ARM-从0移植uboot支持exynos4412-亲测》

Linux模块文件如何编译进内​​核并独立编译成模块? ”

3.Linux驱动

你只能学习到这个阶段,那么恭喜你,你可以称得上是一个真正合格的嵌入式工程师了。

Linux驱动是我们学习Linux内核的最好入口,在这庞大、浩瀚、错综复杂的内核代码中找到突破口,然后真正走向高手之路!

驱动的学习主要在于大牛代码的结构和阅读!

代码读一百遍,其意义不言而喻!

码里免费颜如玉,码里免费黄金屋!

每天晚上拿着核心看,像个男人一样泡她,迟早你会成为高手。

驱动文章可以参考我的《》

也可以进我的B站,易口君已经更新了《从0开始学习Linux驱动第1期》

4.终极

我想如果我能学会这一点,我就不需要在我旁边谈论如何发展了。 你可以继续学习Android、QT,也可以深入挖掘物联网、算法、AI、VR、大数据或其他。 研究Linux内核,优化内核等等,每个领域都有其独特之处,收入也不会低。

也衷心祝愿你能坚持到这个阶段,头发依然浓密!

最后,我想给大家一个建议。 学习编程没有捷径。 需要几年的时间才能取得成功。 因此,我们必须未雨绸缪,找准大方向,制定好短期和长期计划。 ,一点点落实。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 uboot源码编译步骤-嵌入式驱动工程师学习路线【推荐收藏】 https://www.wkzy.net/game/183350.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务