作为一个新人,怎样学习嵌入式Linux

如题所述

第1个回答  2017-03-01
嵌入式linux学习路线:
一:C语言

嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。

二:Linux基础

Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具,
Shell Makefile脚本编写等知识,嵌入式开发环境的搭建。

三:Linux系统编程

重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。

四:Linux网络编程

计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。

五:数据结构与算法

数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。

六:C++ 、QT

C++是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。

七:Cortex A8 、Linux 平台开发

通过基于ARM
Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand
flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。

八:驱动开发

驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARM
Cortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。
第2个回答  2017-06-27
嵌入式系统学习路线:C语言;C++;操作系统;计算机组成原理:linux编程;arm;硬件编程语言(FPGA);模拟电路&数字电路。

1.C/C++语言,可以说这是计算机行业的一门必修课,所以要扎扎实实掌握好。

2.操作系统,要学习一下操作系统的基本原理,熟悉Linux环境下的开发环境,然后你就照着相关的资料写一个操作系统试试看。

3.计算机组成原理,要能够熟悉计算机的基本原理,看看你一个计算机的基本组成以及软件实质是如何来跑的。

4.可以选择一些书籍来作为参考.

5.arm,可以说是当下很流行的微机,自己可以想办法移植一个操作系统上去。

6.硬件编程语言,芯片到底是怎么做成的呢,学习完这门课程,你就很清楚了。

7.模拟电路&数字电路,硬件的基础,如果可以的话,学习下protel ,自己做个硬件pcb板试试。

嵌入式开发要学的内容就简单介绍以上这些内容了,华清远见星创客是嵌入式高端学习班,可以来学习哦。嵌入式系统学习路线,罗列的这几点可能不太全面,但对于基础入门学习者会有帮助。
第3个回答  2017-03-01
在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目。它们是纯C、纯数学、纯逻辑的题目,不涉及界面这些东西,朱有鹏的嵌入式视频很适合提高你的编程能力。
第4个回答  2017-06-29
个人总结的嵌入式学习步骤:

嵌入式学习步骤分为三个阶段

1.:基础与理论阶段

主要包括一些理论知识,你至少了解这行业吧,基本的Linux系统使用;其次就是嵌入式核心开发语言C语言(必须精通);了解c语言数据结构及经典算法编程;最后就是要了解嵌入式产品的一个基本的开发流程,这对后续的开发有很大的帮助,不至于是那么的迷茫。

2.:嵌入式系统核心开发

整理了下,至少这些是你要学会的,当前企业招人,应用层的开发挺多,特别刚入行前期,神马驱动的、移植的相关的可能你还不熟练,找工作就靠下面这些知识点了。

嵌入式 linux应用编程;

嵌入式 Linux并发程序设计;

嵌入式 Linux网络编程;

嵌入式数据库开发;

嵌入式 Linux应用综合项目;

ARM处理器编程;

ARM硬件接口开发;

3.:底层

嵌入式底层一般会涉及到,如何把你写的程序移植到开发板上运行,那么就会接触到系统移植、内核驱动开发等等,这是嵌入式工程师最高境界。主要要学以下这些:

嵌入式Linux系统开发;

嵌入式Linux内核开发;

嵌入式Linux驱动开发基础;

嵌入式Linux驱动高级开发;

嵌入式学习步骤就是这么多,除以上相关学习内容外,对于嵌入式学习者来讲还应该具备一些学习态度和学习方法。

1.在学习和工作中要脚踏实地

在对所学内容有一定了解之后,在任何项目进行中就保留自己的想法,如果自己能够解决更好,如果不能可以找其他朋友帮忙,共同探讨遇到的问题,如果只懂执行过程,没有自己的想法,即使人家把代码给咱,咱又能了解多少?

2.多看代码、多写代码

3.及时对自己的知识进行充电。来华清远见星创客精英训练营,是一个不错的进阶提升的培训班。

建议现在打算学习嵌入式的朋友们一定要多看、多练,见多识广,熟能生巧。

以上嵌入式学习步骤主要涉及的内容有嵌入式专业知识的学习和学习态度的一些小建议,希望以上内容对你会有所帮助。

如何快速学习嵌入式Linux课程?
对于一个嵌入式工程师来说,能够看懂电路图即可。即只需要掌握基本的电路知识,看懂电路图。至于开发板的画图、布线、腐蚀、焊接等步骤,可以不必深入研究。这些技能是属于硬件工程师们的要求。另外,一个程序员双语很重要,你学习了面向过程的C语言,推荐大家掌握一门面向对象的语言,可以是c++、java或者py...

小白看过来,新人如何入门嵌入式
嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。 先说到这里吧,嵌入式LINUX里含有bootloader, 内核, 驱动程序、根文件系统这4大块。 一、bootloader: 它就是一个稍微复杂的裸板程序。但是要把这裸板程序看懂写好一点都不容易。Windows下好用的工具弱化了我们的编程能...

我想学习嵌入式系统,但是不知道怎么开始学习,我是个小白,有一点c语言...
11)TCP\/IP 协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。12)有了这些东西,拿下 Linux 驱动已经不再话下,需要你去学习 Linux 内核源代码和Linux驱动程序设计,这是一个技术升华。13)音频、视频的解码译码技术你得学。14)各种 IC ,各种 bootloader 你能够...

嵌入式linux怎么学?学习嵌入式linux有什么方法?
主要包括一些理论知识,你至少了解这行业吧,基本的Linux系统使用;其次就是嵌入式核心开发语言C语言(必须精通);了解c语言数据结构及经典算法编程;最后就是要了解嵌入式产品的一个基本的开发流程,这对后续的开发有很大的帮助,不至于是那么的迷茫。2.:嵌入式系统核心开发 整理了下,至少这些是你要学会的...

如何学好嵌入式linux
要学好嵌入式linux需要做些什么:第一,要多google,因为我不可能,也不可以给你解答所有内容,我只能告诉你一些关键点,甚至我会故意隐瞒答案,因为在寻找答案的过程中,你会学到更多的知识,学习linux,更要学习一种geek的精神,python之禅中也说过:以总结分享为荣,以跪*求其解为耻;第二,要多...

嵌入式linux怎么学
作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下。在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。学C语言唯一的方法是...

成为一名优秀的嵌入式程序员需要哪些知识
要成为一名优秀的嵌入式程序员,首先需要深入理解Linux操作系统。掌握Linux软件管理机制,了解Linux文件系统,能够熟练操作和管理文件。其次,熟悉嵌入式编程环境至关重要,包括使用vim\/vi等编辑器编写代码,编写Makefile以管理构建过程,以及使用gcc编译器和gdb调试器进行程序调试。标准I\/O和文件I\/O编程是嵌入...

做linux嵌入式入门需要学什么
嵌入式Linux开发往往是ARM+Linux路线,所以深入学习你可以尝试以下路线:(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。推荐书籍:谭浩强的C语言程序设计很不错,《The C Programming Language》 这本经典的教材是老外写的,也有...

linux嵌入式开发需要学哪些东西_嵌入式linux开发是做什么的
Linux嵌入式开发是一种通过在嵌入式系统中使用Linux操作系统进行软件开发的领域。要进行Linux嵌入式开发,你需要学习以下一些基本的知识和技能:1.Linux基础知识:了解Linux操作系统的基本原理、命令行操作、文件系统结构等。2.C\/C++编程:掌握C\/C++编程语言,因为在嵌入式开发中,通常使用这两种语言编写应用...

学习嵌入式,需要具备什么基本的知识
1.掌握C语言高级编程。无论是对嵌入式软件还是硬件开发编程,都是不可缺少的一部分。因此不管您是自寻、还是拜师我坚信这都是他们教您的第一步。2. 要了解嵌入式Linux操作系统。你得首先对这个系统有一定的认识,就好比你想盖房子、你得需要水泥、砖头、钢筋。那么嵌入式Linux系统同样如此。这个比喻...

相似回答