linux 学习路线(初级到高级)

linux 个人感觉还是很复杂(那么就以我的学习路线和经历来分享吧)


1 首先 你要学习嵌入式的的有一个基础:大概如下

1. 计算机、电子、通信、自动化、微电等理工科类大3以上的大学生及已毕业的工程技术人员;(大一大二建议学习基础

 2. 有一定C、C++、JAVA、C#等编程程序语言基础,喜欢并有志投身于嵌入式研发事业; 

3. 希望通过实际工程项目训练,成为一名有深度的嵌入式工程师,来改变现有生活状况,提高生
活品质;


有了这些,才是你继续学习的保障!(当然UESTC的牛人较多,总是有奇葩的嘛! 呵呵)



2 linux 的发展路线如下:(由易到难 



3 具体学习课程

1 Linux软件工程师

嵌入式Linux软件工程师 学习路线
序号 学习参考课程 课程内容 学习情况
1 Linux操作系统使用 linux操作系统的概念和安装方法,详细介绍Linux下的基本命令、管理配置和编辑器,包括VI编辑器,GCC编译器,GDB调试器和 Make 项目管理工具等知识。 精通
2 嵌入式Linux C语言高级编程 C语言是嵌入式领域最重要也是最主要的编程语言,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识,另外,本节还重点讲解数据结构的基础内容,包括链表、队列、栈、树、哈希表、图等内容。 精通
 
3 C++面向对象编程 C++是Linux应用开发主要语言之一,学习面向对象编程的基本思想,以及C++语言的基础内容,为后面的课程做好铺垫。 掌握
4 嵌入式Linux项目开发流程 嵌入式产品需求分析和选型、硬件平台、移植、启动代码、驱动开发、系统部署等整个过程。 了解(较难)


 2 Linux系统工程师


序号 学习参考课程 课程内容 学习情况
1 ARM处理器编程
内容包括ARM处理器体系结构、编程环境、指令集、寻址方式、调试、汇编和混合编程等方面的内容,为后面移植课程的学习打好基础 精通



2 ARM硬件接口开发 ARM硬件接口开发 本课程重点介绍ARM的常用接口开发及硬件电路设计基础(包括IO、串口、看门狗、实时时钟、SPI、IIC、扫描键盘、FLASH操作等),为以后的设备驱动的学习打好基础。 了解(较难)
3 Linux系统开发 统开发是嵌入式Linux底层开发必备的基本技能,如何从零开始搭建嵌入式Linux运行环境,内容包括内核裁减、内核移植、交叉编译、内核调试、启动程序Bootloader编写、根文件系统制作和集成部署Linux系统等整个流程。 精通(有些难)
4 Linux在3G领域 说白了,就是去学习点android方面的知识(前面的linux系统开发还需要你自己去研究,我觉得没得linux的工作经验,还是了解就可以了)  


Linux驱动工程师 

主要目标是掌握嵌入式产品开发从需求分析到详细设计整个过程的开发内容,深入掌握Linux驱动程序开发技巧,能够熟练的移植或编写设备驱动。


· 序号

学习参考课程

学习内容

学习情况

1

嵌入式Linux驱动高级开发

驱动开发是嵌入式Linux开发难度最高的内容,也是目前嵌入式行业最紧缺的人才之一。有了前面课程知识的铺垫,了解嵌入式Linux下常用接口驱动的编写方法,内容包括:
1
flash驱动:掌握在linux环境下驱动常见flash存储器(nor flashnand flash);
2
、块设备驱动:掌握块设备驱动的原理、学会ramdisk的编写;
3
、网卡驱动:掌握网卡设备的编写原理、能够熟练移植各种网卡驱动。在对网卡硬件寄存器熟悉的基础上,有能力为其编写出完善的网卡驱动;
4
、液晶驱动:掌握frambuffer驱动的原理。有能力在有控制器的嵌入式平台上参考液晶手册实现各种常见液晶驱动;
5
sd卡驱动:掌握sdio接口操作,熟悉sd卡驱动驱动的原理;
6
usb设备驱动:了解usb主机设备驱动的结构及编程方式。

精通

2

WinCE操作系统开发基础

Windows CE是目前另外一个最主流的嵌入式操作系统,嵌入式学院利用自身在Windows CE系统方面的教学优势,了解Windows CE应用开发和系统开发的特点,并对比Linux操作系统,了解目前主流嵌入式OS的异同点,增进对嵌入式OS开发的理解

了解

       



上面就是一个大概学习路线吧!

总的来说:公司面试的时候也不会要求你精通多少,有些也需要一个了解,总体来说,学习好前面2 点 你就已经很nB 了。
                  上面虽然说要精通很多,不过我觉得熟悉掌握 就很不错了,像我们这样得学生来说的哈.

展开阅读全文

没有更多推荐了,返回首页