大家好,今天小编关注到一个比较有意思的话题,就是关于嵌入式linux学习路线的问题,于是小编就整理了2个相关介绍嵌入式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 中去执行。
嵌入式系统开发要学什么,要没有具体的嵌入式系统开发路线图?
嵌入式系统分开嵌入式开发以及系统级开发。
1嵌入式开发
嵌入式在学习的过程中会遇到很多很多的问题,包括单片机,模拟电路,数字电路,DSP,FPGA等等等,这些知识的学习都是循序渐进的,比如一开始就得学会c语言,行为c语言是嵌入式开发的最基本的知识,就好比一个演讲家一开始得学会说话一样,可以看出c语言的重要性。当学会了c语言,那就开始转单片机,比如我在一开始学习的就是51单片机,当然这是在本科学校里面学习的,后来毕业后找了份单片机相关的工作,才接触到了stm32单片机,stm32单片机的学习从51单片机直接操作底层寄存器的操作,到了库函数的开发,库其实就是对底层寄存器的包装,做出接口来,之所以芯片厂家做出库函数,其实就是在单片机日益强大的功能面前,直接操作寄存器那是相当耗费时间的一向工作,当然,如果你想用寄存器开发完全可以。只是后面遇到的问题会把你烦死,学会了单片机,在后面的项目中可能会遇到DSP,因为在数据大量运算的时候,单片机就望尘莫及了,单片机对于自动化控制可以完美的驾驭,但是对于数据的处理运算不是它的强项,这时候DSP就果断的站出来完成信号处理,如果接触DSP 肯定会接触到FPGA,所以也就慢慢的全部都接触了。
2 系统开发
系统的开发需要大量的专业知识,例如所用器件的选型,开发周期的控制,以及人员的调配,这对于工程师的要求就从开发转到了管理,还是相当有挑战的,在开发过程中会遇到系统的不同,例如linux的开发,这时候就又得学习了。
3 嵌入式系统路线
这就是一般的晋升路线了。当然要想从事嵌入式行业,你必须的学会每一样知识点。
到此,以上就是小编对于嵌入式linux学习路线的问题就介绍到这了,希望介绍关于嵌入式linux学习路线的2点解答对大家有用。