大家好,今天小编关注到一个比较有意思的话题,就是关于嵌入式linux学习的问题,于是小编就整理了3个相关介绍嵌入式linux学习的解答,让我们一起看看吧。

  1. 嵌入式linux系统的启动流程是什么样的?
  2. 如何基于X86开发板构建嵌入式LINUX系统?
  3. 学嵌入式linux要先学什么?

嵌入式linux系统的启动流程是什么样的?

1) 初始化 RAM因为 Linux 内核一般都会在 RAM 中运行,所以在调用 Linux 内核之前 Bootloader 必须设置和初始化 RAM,为调用 Linux内核做好准备。初始化 RAM 的任务包括设置 CPU 的控制寄存器参数,以便能正常使用 RAM 以及检测RAM 大小等。

2) 初始化串口端口在 Linux 的启动过程中有着非常重要的作用,它是 Linux内核和用户交互的方式之一。Linux 在启动过程中可以将信息通过串口输出,这样便可清楚的了解 Linux 的启动过程。虽然它并不是 Bootloader 必须要完成的工作,但是通过串口输出信息是调试 Bootloader 和Linux 内核的强有力的工具,所以一般的 Bootloader 都会在执行过程中初始化一个串口作为调试端口。

3) 检测处理器类型Bootloader在调用 Linux内核前必须检测系统的处理器类型,并将其保存到某个常量中提供给 Linux 内核。Linux 内核在启动过程中会根据该处理器类型调用相应的初始化程序。

4) 设置 Linux启动参数Bootloader在执行过程中必须设置和初始化 Linux 的内核启动参数。

5) 调用 Linux内核映像Bootloader完成的最后一项工作便是调用 Linux内核。如果 Linux 内核存放在 Flash 中,并且可直接在上面运行(这里的 Flash 指 Nor Flash),那么可直接跳转到内核中去执行。但由于在 Flash 中执行代码会有种种限制,而且速度也远不及 RAM 快,所以一般的嵌入式系统都是将 Linux内核拷贝到 RAM 中,然后跳转到 RAM 中去执行。

如何基于X86开发板构建嵌入式LINUX系统?

不怎么样,首先你要有一个模拟器或开发板用于运行构建好的二进位映像,然后你得有相关的知识,例如知道怎么构建工具链,如何在工具链上构建和裁减内核,如何构建基本工具包等等,这是一个复杂的系统工作,需要用一本厚厚的书来介绍。除此以外,你还得有很强的动手能力和百折不挠的学习态度,努力学习吧,骚年。

学嵌入式linux要先学什么?

嵌入式发展如此的快,可以说是现在最热的IT技术之一了,很多人加入嵌入式的行业,但是对于刚进入嵌入式或者刚接触嵌入式的人来说,学习嵌入式还是有一定的难度的,我跟前就有很多这样的人,下定决心想要去学嵌入式,但是不知道从何学起,今天我这只老鸟就分享一些嵌入式学习方法,快快搬小板凳来听。

对于嵌入式新手来说,知道一点嵌入式,知道嵌入式大概是做什么的,不是很懂,所以要熟悉掌握嵌入式的概念。我们可以看到网上或者书上很多解释:嵌入式系统是针对某个应用,软硬件可裁减的,对体积,功耗,成本等等有严格要求的一个计算机系统。看起来是很复杂的,其实我们来总结一下就是两点:

第一,嵌入式系统是一个计算机系统

第二,嵌入式系统是针对某个应用的,也就是通常所说的“专用的”。

其实再说的通俗易懂点就是针对某个应用的计算机系统!这样的话就很好理解了。

那么重点来了,那就是要学什么,对于嵌入式来说,不要觉得他学很多东西,你就会没有目的的学这学那的,这样只会让自己更加迷茫,不知道要学哪个了,你要知道,嵌入式也就是软件,硬件,编程这些方面的,最基础的也就是C语言了,那刚开始接触,你就需要先从C语言入手。

1、C语言,关于C语言要知道基本的语法,什么是结构体,什么是共同体,有的东西也不用一定要记忆,因为在实际中很少用到;

2、嵌入式最核心的操作系统,所以操作系统原理也应该是要有所了解的,比如时间片、任务调动等等;

3、Linux基本命令的使用(vi编辑器必须会用,因为在终端改文件的时候只能用这个),现在很多的人对鼠标早是情有独钟了,很少用到命令,在学习嵌入式Linux可要改改这个习惯了,Linux用命令操作具有效率高、功能强大的特点,这个是图形界面无法取代的,其实平时的图形界面操作都要转化为命令传输给硬件的。

4、Linux设备驱动的架构要了解,结合原理图和Linux设备驱动相关书籍把每一行代码分析清楚。

上面只是一些简单的嵌入式学习要点,你要先掌握这些,才能再继续后面的,在这里要切记你不要心急,心急吃不了热豆腐,不要希望看什么或者学什么一次就能会,而且记住要理解,不要死记硬背,要理论与实践相结合,实践的多了,那自然而然也就会弄了。还有,不要直接阅读Linux内核源码,看一些自己撞破头也想不明白的东西只能是浪费时间,要循序渐进。

对于初学者,还有一点小建议,我们拿到一个开发板,很兴奋也很激动,想法自然也很多,想用开发板实现自己的这个想法,实现那个想法,然后又不知道从何下手,然后就去论坛中发一个贴,“那个什么什么怎么实现啊,哪位大侠能详细说一下啊,跪求!!”然后等着别人去回复。见没人回复就抱怨。有想法是好的,我们要实现自己的想法也是有前提的,首先,我们对这部分知识了解吗?如果不了解就去google一下(最好别用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到问题,再去发贴问,这样也显得咱们有水平。比如自己连串口是什么都不太清楚呢,就问串口通信怎么做啊,就是人家把代码给咱,咱也不明白是怎么回事啊。

记住每个人都有每个人的方法,就是要勤于练习,不要懒惰,你可以根据我上面的学习方式来进行学习,这个方法就是我在我学习工作中总结的,还是很受用的,希望你和我一样从新手到老鸟,这是一个困难的过程,好好努力最重要。

到此,以上就是小编对于嵌入式linux学习的问题就介绍到这了,希望介绍关于嵌入式linux学习的3点解答对大家有用。