您的位置 首页 主动

嵌入式Linux学习方法 合适初学者规划学习方案

俗话说万事开头难,刚开始的时候,你是否根本就不知如何开始,上网查资料被一堆堆新名词搞的找不到北,去图书馆看书也是找不到方向?又是arm,又是linux,又是uboot头都大了。不知道自己究竟从哪里

  俗话说万事开头难,刚开端的时分,你是否底子就不知怎么开端,上网查材料被一堆堆新名词搞的找不到北,去图书馆看书也是找不到方向?又是arm,又是linux,又是uboot头都大了。不知道自己终究从哪里开端?

  下面就跟着我学习规划嵌入式工程师的修炼日记吧!

  简略说,从arm根底常识到裸机编程,从uCOSII到linux,从linux根底的指令到shell编程,从u-boot到文件体系,最终到现在的linux驱动程序。从简略到杂乱,从根底到高档根本是依照这个来的。

  第一阶段:嵌入式硬件根底以及裸机程序开发

  1.常识点:

  (1) arm处理器根底常识,作业形式,寄存器,中止与反常,寻址办法,汇编指令集

  (2) 了解ADS集成开发环境为裸机程序开发做准备

  (3) 裸机程序开发:LED,串口,LCD,触摸屏,NANDFLASH,IIC,IIS,DMA等

  2.进程以及意图:

  这一阶段的学习首要是了解嵌入式的硬件,为今后的linux驱动打根底。由于嵌入式主打处理器架构便是arm,所以针对arm来学习。首要学习根底常识,然后经过在开发板上的操练来把握。这一阶段所用的材料首要有:

  (1) 《ARM嵌入式根底教程》 这本书首要看arm根底的常识。这本书是讲arm7的,可是arm的根底的指令集以及模型是相同的。

  (2) 《嵌入式linux运用开发彻底手册》 这本书首要看介绍s3c2410接口模块的部分,试验裸机的时分需求硬件的常识。

  3.所用时刻:大约两个月。

  第二阶段:linux根底以及shell编程

  1.常识点

  (1) linux根底常识

  (2) linux装置与运用

  (3) linux常用指令

  (4) vi运用

  (5) 简略shell编程

  2.进程以及意图:

  这一阶段的学习首要是了解linux,会装置linux,了解Linux的根底常识,会简略的操作。刚开端装置linux仍是在虚拟机上装置比较好,装置开发板引荐的Fedora9,依照开发板配套的阐明一步一步的装置,然后在上面操练各种指令。这一阶段首要要看《鸟哥的linux私房菜根底学习篇》,这个书有电子版,也不必全看,首要是看前面临Linux根底常识的描绘,以及根本的指令。指令仅仅了解,那么多记也记不下来,今后用时的再查阅。这一阶段首要意图是对linux有一个全体的了解,最起码要知道根底的一些概念,还有会一些根本的操作。

  3.时刻:大约一个月

  第三阶段:linux运用程序根底开发

  1.常识点:

  (1) GCC,GDB,Make 根底

  (2) 文件,时刻编程

  (3) 多进程,多线程程序规划

  (4) 进程间通讯

  2. 进程以及意图:

  这一阶段的学习首要是了解linux运用程序的编写调试,也都是根底常识,首要意图仍是了解Linux。了解其间运用程序有关的一些概念,为今后打根底。这一阶段首要看了《嵌入式Linux运用程序开发标准教程》,这本书对linux上运用程序编写讲的很具体,而且不是很难,那本最经典的《UNIX高档环境编程》讲的比较深化,刚开端看有点难,万事开头难仍是从简略的开端。学习运用编程今后也不必定搞运用,从事嵌入式linux职业的人,这是有必要的根本技能。

  3. 时刻:大约一个月

  第四阶段:uCOSII操作体系学习

  1.常识点:

  (1)嵌入式实时操作体系的概念以及根底常识

  (2)uCOSII操作体系源代码阅览

  (3)移植uCOSII

  (4)uCOSII操作体系运用编程

  2.进程以及意图:

  这一阶段的学习首要是了解嵌入式实时操作体系的根底,由于uCOSII是开源的,可以研讨他的代码。对操作体系的使命调度以及资源管理有直观的知道。而且阅览他的源码可以进步自己的编程才能与虽然友标准自己的编程习气。善之臂供给了uCOSII的移植版别。可是自己实践移植一次可以有更深化的知道。这个操作体系比较简略,所以运用程序的编写就很重要,在上面完结几个功用仍是有助于对体系的了解。这一阶段首要看的便是绍贝贝翻译的uCOSII作者所著的《嵌入式实时操作体系uCOS-II》,里面临操作体系的源码有这具体的剖析。看透这本书后就会对uCOSII有一个深化的了解。这一阶段的首要意图是了解操作体系的常识,比方使命调度,并发与竞态。还有一个意图便是训练自己的编程才能。由于假如看介绍操作体系原理的书会比较单调,我感觉阅览一个操作体系的源码比看一千本介绍原理的书来的实惠的多。

  3.时刻:大约一个月

  第五阶段:bootloader学习

  1.常识点:

  (1)bootloader根底常识

  (2)u-boot根底与指令

  (3)u-boot移植

  2.进程以及意图:

  bootloader是一个linux嵌入式体系的不行短少的部分。这一阶段的学习首要是了解bootloader的效果,以及通用bootloader—u-boot的常识,刚开端学会用u-boot的各种指令。然后剖析u-boot的发动流程和Makefile以及u-boot加载内核进程。然后依照他人的进程一步一步的移植内核,多做几编以了解这个进程。然后在了解整个u-boot的根底上,单独完结u-boot的移植,并增加自己修正。这一阶段首要参阅材料便是光盘自带的u-boot移植参阅手册和一些网络上的文章。个人感觉u-boot移植这方面的网络资源适当的丰厚。

  3.时刻:大约一个月

  第六阶段:文件体系学习

  1.常识点:

  (1)linux文件体系的品种与效果

  (2)了解busybox的运用,以及linux体系发动进程

  (3)构建自己的根文件体系

  2.进程以及意图:

  文件体系也是一个linux嵌入式体系不行短少的部分,这一阶段的学习首要是了解根文件体系的效果以及根底常识。而且自己构建自己的根文件体系。这一阶段所看的书有《构建嵌入式linux体系》,这本书具体讲解了嵌入式linux的一切元素,包含文件体系.这儿首要看文件体系这块。我还参阅了网上的一些文章。这儿首要要了解根本的一些Linux文件体系,然后学习busybox的运用以及linux的发动进程,最终参阅他人的一步一步来构建自己的文件体系。

  3.时刻:大约半个月

  第七阶段:嵌入式图形界面GUI

  1.常识点:

  (1)嵌入式图形界面GUI的品种与特色

  (2)minigui 根底常识

  (3)minigui 移植与程序编写

  2.进程以及意图:

  嵌入式图形界面GUI作为嵌入式上层体系的东西也是需求了解的,这儿我只学习了minigui,由于QT是需求C++的常识,而我没有学过C++.所以只看了minigui的相关常识。这个阶段的意图首要是了解一下嵌入式图形接界面的开发流程,由于今后也不方案搞运用。仅仅了解一下嵌入式组成的一些方面。这儿只要将minigui移植到板子上能跑hello程序就可以了。其他的也不必深化了解。经过移植minigui对linux上运转的软件以及函数库,程序运转原理,编译器都会有一个新的知道。

  3 时刻:大约半个月

  第八阶段:linux驱动程序根底常识

  1.常识点:

  (1)看完《LINUX设备驱动程序》除了网络驱动程序,tty驱动程序,块驱动程序这几章不看,其他的都要看完。

  (2)试验书中一切例程,要仔细剖析成果,了解相关常识点。

  (3)就算是比如,程序编程习气必定要一致,文档必定要标准。

  2.进程以及意图

  这一阶段的意图便是为了linux驱动打根底,《LINUX设备驱动程序》(第三版)也便是我们所说的ldd3,是最经典的一本讲linux驱动的书,必定要看而且多看几遍。第一次看很丑陋进去,感觉讲的不流畅难明。可是多看几遍就会由恍然大悟的感觉。看完了书,然后便是试验书中的比如。

  3.时刻:大约两个月

  第九阶段:linux驱动实战

  1. 常识点:

  (1)经过led驱动了解杂项字符设备的注册与完结,并把握MINI2440的IO操作进程。

  (2)经过button驱动程序把握根本的中止完结办法。

  (3)把握PWM驱动程序。

  (4)经过触摸屏驱动程序把握input设备模型的完结。

  (5)把握ADC驱动程序的规划

  (6)把握看门狗,rtc驱动程序的规划

  (7)经过LCD驱动程序剖析platform设备模型的完结。

  2.进程以及意图:

  这一阶段的学习首要是把握实践的简略的驱动程序的完结与ldd3中的不同,而且剖析一些linux子体系。经过这一阶段的学习,可以对linux驱动程序有更深化的知道。而且训练自己阅览海量代码的才能。这一阶段首要作业便是看代码,试验,看代码,试验,经过现象学习常识。

  3. 时刻:大约一个月

  第十阶段:深化了解linux内核与USB子体系的研讨

  ‌ 前九个阶段完结了,自己感觉嵌入式Linux应该应该算是入门了。所以要开端方案第十个阶段了。这一阶段根本上要确认自己未来的发展方向了。由于现在嵌入式体系的标准接口都有USB,所以学会USB的相关常识是很有竞争力的。搞驱动的人对内核应该有必定的了解,所以《深化了解Linux内核》仍是有必要的。这一阶段首要是学习USB协议,阅览linux USB子体系悉数的代码,经过阅览代码加深对USB的了解,随后便是了解各种USB类协议,编写和移植USB驱动了。USB是我确认的方向,由于我想搞什么东西都要专注,什么都搞,什么也搞不好。所以我决议学习USB。决议今后从事嵌入式有关USB方面的作业。这一阶段的学习正在进行中,现在正在linux USB子体系众多的代码中周游。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/185283.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部