我认为的一条学习嵌入式Linux的路:

1)学习 Linux系统安装、 常用命令、应用程序安装。

2) 学习 Linux 下的 C 编程、这本书必学《UNIX 环境高级编程》、《UNIX 网络编程》,Rechard Stevens 写的,C 高手大都学习过 《C 和指针》、《C 缺陷与陷阱》、《高质量C/C++编程指南》、《C 专家编程》、《The C programming Language》

3)程序员大都要学:数据结构,嵌入式程序员数据结构必学!

4)底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!

5)单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从 ARM 入手,不太现实!

6)ARM 体系结构,其中有汇编。

7)数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与或门吧。

8)ARM + Linux 应用程序开发。(前提是要有开发板)

到此,你勉强算是在 嵌入式Linux 这个行业有了初步入门了吧, 但遗憾的是这还远远不够!这是我现在的水平。告诉你我是学软件专业,已经学习一年 嵌入式Linux 了,我现在找个工作都难,还没找到。以下是我认为成为高手的学习方向。

9)要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。

10)Linux 下的汇编要学,这样你才能真正了解你写的程序是如何在一个特定的硬件上跑的。这是区别好手与菜鸟的不同之处之二。

11)TCP/IP 协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。

12)有了这些东西,拿下 Linux 驱动 已经不再话下,需要你去学习 Linux 内核源代码和Linux驱动程序设计,这是一个技术升华。

到此, 你已经算是 嵌入式Linux 的中级人物了,本科生工资在4000-5500 不等。

13)音频、视频的解码译码技术你得学。

14)各种 IC ,各种 bootloader 你能够参与其开发设计。

15)自行设计开发新产品,新技术。

我认为到此你已经是一个世界级的嵌入式Linux 人物了,工资待遇我已经不用说了。

这些东西要靠自学入门,说实话不太现实,嵌入式入门比较高,要有心里准备,进培训机构学习是有必要的,除非你有亲戚朋友手把手教你。但不一定就意味着培训 了你就真能学好,能找到很好的工作,要因人而异,能入门就算不错了。主要还是靠个人,还有就是自己必须要有一块开发板,你必须投入很多钱,因为还有很多的 书籍你也得买。还有一点,自己必须得喜欢专研。要不你不可能学好!

嵌入式linux的学习之路[转]的更多相关文章

  1. 嵌入式Linux驱动学习之路(一)嵌入式系统的软硬件架构

    硬件资料: 操作系统:(非虚拟机) zws@z-pc:~$ lsb_release -aNo LSB modules are available.Distributor ID: Ubuntu Desc ...

  2. 嵌入式Linux驱动学习之路(二十七)字符设备驱动的另一种写法

    之前讲的字符设备驱动程序,只要有一个主设备号,那么次设备号无论是什么都会和同一个 struct file_operations 结构体对应. 而本节课讲的是如何在设备号相同的情况下,让不同的次设备号对 ...

  3. 嵌入式Linux驱动学习之路(二十六)DM9000C网卡驱动程序

    基于DM9000C的原厂代码修改dm9000c的驱动程序. 首先确认内存的基地址 iobase. 确定中断号码. 打开模块的初始化函数定义. 配置内存控制器的相应时序(结合DM9000C.C的手册). ...

  4. 嵌入式Linux驱动学习之路(二十五)虚拟网卡驱动程序

    一.协议栈层次对比 设备无关层到驱动层的体系结构 1).网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过 ...

  5. 嵌入式Linux驱动学习之路(二十四)Nor Flash驱动程序

    Nor Flash和Nand Flash的不同: 类型 NOR Flash  Nand Flash  接口 RAM-like,引脚多 引脚少 容量 小(1M.2M...) 大(512M.1G) 读 简 ...

  6. 嵌入式Linux驱动学习之路(二十三)NAND FLASH驱动程序

    NAND FLASH是一个存储芯片. 在芯片上的DATA0-DATA7上既能传输数据也能传输地址. 当ALE为高电平时传输的是地址. 当CLE为高电平时传输的是命令. 当ALE和CLE都为低电平时传输 ...

  7. 嵌入式Linux驱动学习之路(二十二)用内存模拟磁盘

    安装驱动后,可在/dev/目录下发现已经生成了相应的设备文件. 格式化设备:mkdosfs /dev/ramblock. 挂载设备. 读写设备 . 驱动程序代码: /***************** ...

  8. 嵌入式Linux驱动学习之路(二十)USB设备驱动

    USB在接入系统的时候,以0的设备ID和主机通信,然后由主机为其分配新的ID. 在主机端,D+和D-都是下拉接地的.而设备端的D-接上拉时,表明此设备为高速设备:12M/s. D+接上拉时则是全速设备 ...

  9. 嵌入式Linux驱动学习之路(十九)触摸屏驱动、tslib测试

    触摸屏使用流程: 1. 按下产生中断. 2.在中断处理程序中启动AD转换XY坐标. 3.AD转换结束并产生AD中断. 4. 在AD的中断处理函数中上报信息,启动定时器. 5. 定时器时间到后进入中断, ...

随机推荐

  1. UIDatePicker swift

    // // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...

  2. P1699: [Usaco2007 Jan]Balanced Lineup排队

    很明显是一道RMQ问题,倍增法,维护一下区域的最大/小值就行了. var n,i,j,q,f,t,times:longint; hmin,hmax:array[..,..] of longint; f ...

  3. [shell基础]——算术运算

    shell只支持整数运算.一般可用let.expr.declare.$[]实现. 更精准的运算建议使用Linux下的bc工具——一款高精度计算语言. 1. let是shell内建的整数运算命令 ## ...

  4. Week8 软件规格说明书

    1.概述 本项目组所开发的软件为一个基于Android的手机端的时间管理软件,主要功能为时间管理软件,可以用于管理待办事项,记录一些需要提醒的信息等.有事件提醒.与Google账户同步.课程表等功能. ...

  5. Github的使用以及Git的简单入门 - 课程作业三

    GitHub创建项目 登录GitHub,在个人主页创建项目(repository) 创建后会生成2个文件,README.md和.gitignore.如图 创建本地仓库 如果是第一次使用git的话,需要 ...

  6. (转)c语言学习volatile

    原文网址:http://www.cnblogs.com/chio/archive/2007/11/24/970632.html 参考网址:http://www.embedu.org/Column/Co ...

  7. [noip2010]关押罪犯 并查集

    第一次看的时候想到了并查集,但是不知道怎么实现: 标解,f[i]表示i所属的集合,用f[i+n]表示i所属集合的补集,实现的很巧妙,可以当成一个使用并查集的巧妙应用: #include<iost ...

  8. while小问题

    while(!m_SMque.pop(data)); 看到这个有点忘了,如果pop返回false会一直执行pop,其实这个执行的是空语句,而while每次执行都需要判断条件,所以如果pop返回fals ...

  9. IP分片浅析

    在TCP/IP分层中,数据链路层用MTU(Maximum Transmission Unit,最大传输单元)来限制所能传输的数据包大小,MTU是指一次传送的数据最大长度,不包括数据链路层数据帧的帧头, ...

  10. google大赛 入围赛250分真题

    Problem StatementYou have a collection of music files with names formatted as "genre-artist-alb ...