想要从事 linux嵌入式方面的应用软件开发。我该怎么学呢?

想要从事 linux嵌入式方面的应用软件开发。我该怎么学呢,比如先看什么书,后看什么书, 应用软件开发是我的初步打算,想通过这些了解linux及基本编程理念,然后再想linux驱动方面过度,主要做这方面的东西。 最后研究linux内核(这个是个人兴趣)。 目前我只有c语言c++的一些基础,linux系统的应用 及点单的linux下c编程的基础。请高手们指点。怎么学能适合我的方向。最好详细些, 我会在追加分数的。
楼下是个有心的人,从网上copy了别人的答案。 这不是我想要的, 可能真正的高手没有时间来回答我的问题吧。 哎。。。。。。。 那个高手能给我点意见。 再补上100分。

韦东山的那本书挺经典,卓越的链接:
http://www.amazon.cn/mn/detailApp/ref=sr_1_1?_encoding=UTF8&s=books&qid=1274700325&asin=B001DCEA46&sr=8-1

《嵌入式Linux应用开发完全手册》以S3C2410、S3C2440开发板为例,从分析硬件上电执行的第一条指令开始,到构造出一个类似PDA、基于Linux的桌面GUI系统,带领读者学习、掌握从最底层到最高层的软件编写方法。

《嵌入式Linux应用开发完全手册》全面介绍了嵌入式Linux系统开发过程中,从底层系统支持到上层GUI应用的方方面面,内容涵盖Linux操作系统的安装及相关工具的使用、配置,嵌入式编程所需要的基础知识(交叉编译工具的选项设置、Makefile语法、ARM汇编指令等),硬件部件的使用及编程(囊括了常见硬件,比如UART、I*IC、LCD等),UBoot、Linux内核的分析、配置和移植,根文件系统的构造(包括移植busybox、glibc、制作映象文件等),内核调试技术(比如添加kgdb补丁、栈回溯等),驱动程序编写及移植(LED、按键、扩展串口、网卡、硬盘、SD卡、LCD和USB等),GUI系统的移植(包含两个GUI系统:基于Qtopia和基于X),应用程序调试技术。

《嵌入式Linux应用开发完全手册》从最简单的点亮一个LED开始,由浅入深地讲解,使读者最终可以配置、移植、裁剪内核,编写驱动程序,移植GUI系统,掌握整个嵌入式Linux系统的开发方法。

1、Linux 基础
安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解。
2、Shell 编程基础
Shell简介 认识后台程序Bash编程熟悉Linux系统下的编辑环境。
3、Linux 下的 C 编程基础
linux C语言环境概述 Gcc使用方法 Gdb调试技术。
4、嵌入式系统开发基础
嵌入式系统概述 交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核 嵌入式Linux应用软件开发。
4、嵌入式系统移植
Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念 能够移植Linux内核移植Linux2.6内核到 ARM9开发板。
5、嵌入式 Linux 下串口通信串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备。
6、嵌入式系统中多进程程序设计Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解Linux系统中进程的概念。
...
网上很多~可以先从虚拟机玩起。
A.一般安装一个VMWARE虚拟机,再从网上下载个RedHat9.0的光盘镜像。
这个比较适合入门linux,当然也有Cygwin的,不过不推荐。
B.然后就可以按照上面的步骤学起来了,等把linux的shell和gcc,gdb,系统编程,gui(QT,miniGUI,MicroWin等等)玩好之后,可以买个开发板了,这里就不说明具体品牌了,2410/2440开发板很多的。
C.然后开始玩开发板,常用的代码编辑工具有:SourceInsight,UE。
还有代码比较工具,BeyondCompare。
当然还有ADS1.2,这个是必不可少的,可以先把ARM开发板当单片机开发板玩!先熟悉具体硬件设备的使用,如UART,SPI,LCD控制器等,最后再去玩Bootloader,系统移植,内核,文件系统,应用编程,驱动编程。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-14
说下我的经历。
我大学是学的软件工程,在学校要把基础学科学好,操作系统,网络,组原,编译,数据结构和算法。编程的话,我那时候是主攻C++,java也学过。毕业也找了份通信设备制造商的工作,做的嵌入式软件工程师。主要做通信设备上协议的开发,工作中主要学习网络协议,内核编程。
我不知道你到底是想学底层的开发,还是只是想学linux下的应用软件开发。但看你想学linux内核,我就说说我看内核的情况吧。在刚开始工作的时候,我被要求花2个多星期的时间准备一个ppt给整个部门做个报告,内容是linux内存管理。相信你也有点基本概念吧,操作系统中可以这么说,最重要的就是内存管理和文件系统这两大块,可想而知对于我一个新人来讲内存管理压力是多么大。但是我坚持下来了,并通过这两个多星期的学习,真的学到很多东西,所以人有时候就得逼着自己做。内核学习是非常枯燥的,要想学的话就得持之以恒。学内核之前,之前说过的基础学科的知识是必要掌握的,接着就可以开始内核之旅了。首先去买本内核的书吧,understand linux kernel是个不错的选择,英文过的去的话就看英文的,有什么不懂的或难以理解的可以去ChinaUnix论坛上提问,linux书籍有很多,网上搜一下很方便的,给个链接http://www.linuxdiyf.com/viewarticle.php?id=37062。平时也要结合代码看,2.6的内核直接在网上搜下就能下到。
这是我的个人经历,你可参考下。本回答被提问者采纳
第2个回答  2011-01-13
如果你要往底层设备驱动发展的话 直接现在就可以学了 有一定的硬件基础 单片机应用开发 外围电路扩展 linux设备驱动的框架知识以及内核知识 因为你是提供给应用层函数系统调用的 相对的知识点比较多 各类设备你要熟悉 不然你看源代码的时候没法理解为什么这样做
第3个回答  2011-01-05
先安装一次gentoo,如果有毅力就安装lfs,这两个linux发行版如果能在不看笔记情况下装好,你的linux就入门了。
再学习linux嵌入,会轻松许多。
第4个回答  2011-01-08
在网上下些视频教程最好了,比如国嵌的,培训班就没必要去上了,浪费钱。然后搞块板子自己玩玩。C++主要是想QT编程时候可能用到,linux其他对C++无要求,主要是C。

linux嵌入式开发需要学哪些东西_嵌入式linux开发是做什么的
1.Linux基础知识:了解Linux操作系统的基本原理、命令行操作、文件系统结构等。2.C\/C++编程:掌握C\/C++编程语言,因为在嵌入式开发中,通常使用这两种语言编写应用程序。3.嵌入式系统架构:了解嵌入式系统的硬件架构和软件架构,包括处理器架构、内存管理等。4.设备驱动开发:学习如何编写和调试设备驱动程序...

linux嵌入式开发需要学什么
一:C语言 嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。二:Linux基础 Linux操作系统的概念、安装方法,详细了解Linux下...

想做一个嵌入式开发工程师需要学什么
想要成为一名优秀的嵌入式开发工程师,首先,扎实的电子学基础至关重要。深入理解数字电路、模拟电路和信号分析,以及微机原理,是构建知识框架的第一步。其次,计算机专业知识不可或缺。掌握C语言、C++、JavaScript、HTML、Linux等编程语言,以及单片机原理和应用,对于嵌入式系统设计至关重要。这些技能能够帮助...

我还有半年就要从事嵌入式系统应用软件\/中间件开发,请专家指导,该怎样...
GUI基础 嵌入式系统GUI类型 编译QT 进行QT开发熟悉嵌入式系统常用的GUI 能够进行QT编程使用QT编写“Hello,World”程序 调试一个加入信号\/槽的实例 通过重载QWidget 类方法处理事件(更多相关内容请关注:东方赛富——国内一流嵌入式培训学院)10、Linux 字符设备驱动程序 设备驱动程序基础知识 Linux系统的...

想要从事 linux嵌入式方面的应用软件开发。我该怎么学呢?
4、嵌入式系统移植 Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念 能够移植Linux内核移植Linux2.6内核到 ARM9开发板。5、嵌入式 Linux 下串口通信串行I\/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备。6、嵌入式系统中多进程...

...以后想从事嵌入式应用软件开发, 偏软件方面的, 有什么好的学习步骤呢...
1.做嵌入式开发需要很好的C基础和汇编,做应用层(Qt)的话C++不能差,总的来讲需要C、C++和汇编语言的良好基础。2.做嵌入式大部分是在Linux系统上面开发的,当然也有在Windows上开发的。所以要回Linux操作系统,熟练掌握其基本指令,尽量多懂多记住些Linux内核函数。当然你要是能读完Linux内核代码的话...

C做嵌入式开发,怎么学习
你应该从以下方向去学习:一、工具的使用 1、学会使用vim\/emacs,vim\/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake...

想转行做嵌入式,需要自己准备些什么?
对于嵌入式来说,需要学习的内容很多,我们就觉得关于嵌入式无从下手,这样只会让自己更加迷茫,不知道要学哪个了,其实嵌入式也就是软件,硬件,编程这些方面的,最基础的也就是C语言了,那刚开始接触,你就需要先从C语言入手。1、C语言 关于C语言,我们要熟练的掌握它的基本语法,并且会加以运用,...

嵌入式linux怎么学?学习嵌入式linux有什么方法?
嵌入式 Linux网络编程;嵌入式数据库开发;嵌入式 Linux应用综合项目;ARM处理器编程;ARM硬件接口开发;3.:底层 嵌入式底层一般会涉及到,如何把你写的程序移植到开发板上运行,那么就会接触到系统移植、内核驱动开发等等,这是嵌入式工程师最高境界。主要要学以下这些:嵌入式Linux系统开发;嵌入式Linux内核...

我想学习嵌入式软件开发(嵌入式软件应该怎么学)
嵌入式软件开发学习可以遵循以下几点:安装一个Linux的发行版本,能够熟悉使用Linux,掌握Linux下的目录结构、基本命令、编辑器VI、编译器GCC、调试器GDB和Make项目管理工具以及嵌入式开发环境的搭建。了解C语言,C语言是嵌入式开发中最重要的编程语言,对着部分内容不仅要会写程序,还要看得懂他人写的程序。...

相似回答