嵌入式linux应用开发完全手册,嵌入式LINUX应用程序开发要学什么
嵌入式linux应用开发完全手册,嵌入式LINUX应用程序开发要学什么详细介绍
本文目录一览: 嵌入式软件开发要学什么推荐一下书籍
《嵌入式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编程基础
linuxC语言环境概述G使用方法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和g,gdb,系统编程,gui(QT,miniGUI,MicroWin等等)玩好之后,可以买个开发板了,这里就不说明具体品牌了,2410/2440开发板很多的。
C.然后开始玩开发板,常用的代码编辑工具有UE。
还有代码比较工具。
当然还有ADS1.2,这个是必不可少的,可以先把ARM开发板当单片机开发板玩!先熟悉具体硬件设备的使用,如UART,SPI,LCD控制器等,最后再去玩Bootloader,系统移植,内核,文件系统,应用编程,驱动编程。。。
嵌入式LINUX应用程序开发要学什么
1、Linux 基础
安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统
能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务
Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器
2、Shell 编程基础
Shell简介 认识后台程序Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程熟悉vi基本操作
熟悉Emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序
编写一个带有循环语句的shell脚本程序
3、Linux 下的C 编程基础
linux C语言环境概述 G使用方法 Gdb调试技术 Autoconf Automake Makefile 代码优化
熟悉Linux系统下的开发环境 熟悉G编译器 熟悉Makefile规则编写Hello,World程序 使用 make命令编译程序 编写带有一个循环的程序
调试一个有问题的程序
4、嵌入式系统开发基础
嵌入式系统概述交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核
嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_g工具链 编译并下载U-boot
编译并下载Linux内核 编译并下载Linux应用程序
5、嵌入式系统移植
Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念
能够移植Linux内核移植Linux2.6内核到 ARM9开发板
6、嵌入式 Linux 下串口通信
串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备 与文件相关的系统调用 配置超级终端和MiniCOM
能够熟悉进行串口通信 熟悉文件I/O 编写串口通信程序 编写多串口通信程序
7、嵌入式系统中多进程程序设计
Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解Linux系统中进程的概念 能够编写多进程程序编写多进程程序
编写一个守护进程程序 sleep系统调用任务管理、同步与通信 Linux任务概述任务调度 管道 信号 共享内存 任务管理 API 了解Linux系统任务管理机制
熟悉进程间通信的几种方式 熟悉嵌入式Linux中的任务间同步与通信编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序
8、嵌入式系统中多线程程序设计
线程的基础知识 多线程编程方法 线程应用中的同步问题了解线程的概念 能够编写简单的多线程程序编写一个多线程程序
9、嵌入式 Linux 网络编程
网络基础知识 嵌入式Linux中TCP/IP网络结构 socket 编程 常用 API函数 分析Ping命令的实现 基本UDP套接口编程 许可证管理
PPP协议 GPRS 了解嵌入式Linux网络体系结构 能够进行嵌入式Linux环境下的socket 编程 熟悉UDP协议、PPP协议 熟悉GPRS
使用socket 编写代理服务器 使用socket 编写路由器 编写许可证服务器 指出TCP和UDP的优缺点 编写一个web服务器 编写一个运行在
ARM平台的网络播放器
10、GUI 程序开发
GUI基础 嵌入式系统GUI类型 编译QT 进行QT开发熟悉嵌入式系统常用的GUI 能够进行QT编程使用QT编写“Hello,World”程序
调试一个加入信号/槽的实例 通过重载QWidget 类方法处理事件
11、Linux 字符设备驱动程序
设备驱动程序基础知识 Linux系统的模块 字符设备驱动分析 fs_operation结构 加载驱动程序了解设备驱动程序的概念
了解Linux字符设备驱动程序结构 能够编写字符设备驱动程序编写Skull驱动 编写键盘驱动 编写I/O驱动 分析一个看门狗驱动程序
对比Linux2.6内核与2.4内核中字符设备驱动的不同Linux 块设备驱动程序块设备驱动程序工作原理 典型的块设备驱动程序分析
块设备的读写请求队列了解Linux块设备驱动程序结构 能够编写简单的块设备驱动程序比较字符设备与块设备的异同 编写MMC卡驱动程序 分析一个文件系统
对比Linux2.6内核与2.4内核中块设备驱动的不同
12、文件系统
虚拟文件系统 文件系统的建立 ramfs内存文件系统 proc文件系统 devfs 文件系统 MTD技术简介 MTD块设备初始化
MTD块设备的读写操作了解Linux系统的文件系统 了解嵌入式Linux的文件系统 了解MTD技术 能够编写简单的文件系统为 ARM9开发板添加 MTD支持
移植JFFS2文件系统 通过proc文件系统修改操作系统参数 分析romfs 文件系统源代码 创建一个cramfs 文件系统
无论选择哪一方向,基本的linux的知识是需要具备的,其他还需要掌握的知识有ARM(最常用的一款嵌入式处理器)和C语言编程,每一方面知识的掌握熟练程度都最终决定了个人进行嵌入式linux开发的综合能力。
嵌入式Linux应用开发完全手册的作品目录
第1篇 嵌入式Linux开发环境构建篇第1章 嵌入式Linux开发概述第2章 嵌入式Linux开发环境构建第3章 嵌入式编程基础知识第4章 Windows、Linux环境下相关工具、命令的使用第2篇 ARM9嵌入式系统基础实例篇第5章 GPIO接口第6章 存储器控制第7章 内存管理单元MMU第8章 NANDFlash控制器第9章 中断体系结构第10章 系统时钟和定时器第11章 通用异步收发器UART第12章 I*IC接口第13章 LCD控制器第14章 ADC和触摸屏接口第3篇 嵌入式Linux系统移植篇第15章 移植U-Boot第16章 移植Linux内核第17章 构建Linux根文件系统第18章 Linux内核调试技术第4篇 嵌入式Linux设备驱动开发篇第19章 字符设备驱动程序第20章 Linux异常处理体系结构第21章 扩展串口驱动程序移植第22章 网卡驱动程序移植第23章 IDE接口和SD卡驱动程序移植第24章 LCD和USB驱动程序移植第5篇 嵌入式Linux系统应用开发篇第25章 嵌入式GUI开发第26章 基于X的GUI开发第27章 Linux应用程序调试技术参考文献……
嵌入式linux书籍???
其实我挺想推荐unix环境高级编程的...这书很好的Orz...
建议先学学《鸟哥的linux私房菜》
可以先来一本基础的 硬件较多的 ,了解ARM架构《ARM嵌入式系统基础教程2版》
再来一本高一点,怎么用硬件实现功能《嵌入式LINUX应用程序开发》
如果还想深入点,再找一本linux 与 gnu 方面的,了解了解操作系统
最后再找一本 图形界面的,根据需求 有: qt wince 安卓 等
一本书不可能构建起来知识树,嵌入式涉及的知识面太广了。所以呢,你最好先有个明确的目标。把C和linux方面的东西先熟悉一下,主要是进程间通信,文件IO,网络这方面的东西(《unix环境高级编程》,《网络编程 卷2》)。然后了解操作系统内核,知道操作系统是怎么构建的,然后要知道怎么往开发板上移植bootloader,kernel和文件系统之类的。如果想学得更深的话,还要知道硬件方面的知识,cpu的体系结构,指令集等等。建议针对不同的知识点,去看不同的书籍。没有哪一本书可以把这些知识全介绍的。
~~~~
我有秘籍~
《鸟哥的Linux私房菜 基础学习篇(第三版)》,鸟哥著
主要讲解Linux一些命令,Linux的实际操作及Linux基础理论。很适合Linux初学者学习。
《嵌入式 Linux 应用开发完全手册》,韦东山著
这本书综合了常见的嵌入式开发经验技巧,以及常见的嵌入式系统应用,系统移植,调试及异常处理等,内容非常丰富,是中文 Linux 领域难得的一本好书。嵌入式处理器种类繁多,韦老师着重讲了目前国内最常用的ARM系统,实用性很强,是国内嵌入式程序员不容错过的一本工具书。
《UNIX环境高级编程》(第2版),史蒂文斯著
《UNIX环境高级编程》是 Unix/ Linux 程序员案头必备的一本书籍。可以说,Linux 程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。这本书概括了 Linux 编程所需的一切理论框架、主要系统函数、多进程编程、乃至 Linux 网络通信。
《Linux设备驱动开发详解:基于最新的Linux 4.0内核》,宋宝华著
随着通信、电子行业的迅速发展,全世界每天都会生产大量芯片,设计大量新电路板,也因此,会有大量设备驱动需要开发。本书主要对驱动编程所涉及Linux内核最底层机理的讲解。也是即Linux设备驱动开发详解第二版畅销后,作者又进行第三版的编著。
《Linux 设备驱动程序》,科波特著
《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码分析比较多,基于2440的,对linux外围驱动有很全面的讲解。
《深入理解 Linux 内核》(第三版) ,博韦等著
学习 Linux ,就要学习 Linux 的精华。而 Linux 的精华,则在于 Linux 的内核。本书以 Linux 2.6 版架构为基础,分门别类地向初学者介绍了 Linux 内核的架构、编程思想、以及功能模块。在本书的指导下学习,对于你读懂 Linux 操作系统的精华部分,会取得事半功倍的效果。
嵌入式 是什么
嵌入式(Embedded)是指将计算机系统嵌入到其他产品中,以实现特定功能的一种技术。嵌入式系统通常由硬件和软件两部分组成,它们紧密地结合在一起,成为整个系统的核心。
嵌入式系统通常具有以下特点:
实时性:嵌入式系统需要及时响应外部事件和数据,因此需要具有高实时性。
稳定性:嵌入式系统需要长期稳定运行,因此需要具有高可靠性和稳定性。
节能性:嵌入式系统通常需要在电池或小型电源下工作,因此需要具有高节能性。
小型化:嵌入式系统需要尽可能小型化,以适应不同的产品形态。
嵌入式系统广泛应用于各个领域,例如消费电子、汽车、工业控制、医疗设备、智能家居、安防等。嵌入式系统的应用范围越来越广泛,它们已经成为人们日常生活中不可或缺的一部分。
嵌入式 是什么
(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和装置的装置”。原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。
嵌入式系统是一种专用的计算机系统,作为装置或装置的一部分。通常,嵌入式系统是一个控制程式储存在ROM中的嵌入式处理器控制板。事实上,所有带有数字介面的装置,如手表、微波炉、录影机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含作业系统,但大多数嵌入式系统都是由单个程式实现整个控制逻辑。[1]
从应用物件上加以定义,嵌入式系统是软体和硬体的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬体可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
嵌入式 是做什么的?
嵌入式实际上是软体硬体相结合的嵌入式系统。
软体一般是一种计算机作业系统,比如Linux硬体则是执行使用者要求的执行装置,比如小电机,电路板等等。
做嵌入式开发,则分为软体开发和硬体开发两方面。
我现在的工作就属于嵌入式,是电视机的开发。
需要学习的有:
软体上至少要掌握一种作业系统比如Linux,一门程式语言比如C语言,还要掌握一些与硬体会话的汇编和编译原理等。
硬体方面至少要有电路基础。
嵌入式系统是什么意思?
根据IEEE(国际电机工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和装置执行的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从应用上加以定义的,从中可以看出嵌入式系统是软体和硬体的综合体,还可以涵盖机械等附属装置。
这个定义上,可从几方面来理解嵌入式系统:
◆嵌入式系统是面向使用者、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。
◆嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行贰的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识整合系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm之所以在PDA领域占有70%以上的市场,就是因为其立足于个人电子消费品,着重发展图形介面和多工管理;而风河的Vxworks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。
◆嵌入式系统必须根据应用需求对软硬体进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬体基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到几十K微核心,需要根据实际的使用进行功能扩充套件或者裁减,但是由于微核心的存在,使得这种扩充套件能够非常顺利的进行。
实际上,嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难以给它下一个准确的定义。现在人们讲嵌入式系统时,某种程度上指近些年比较热的具有作业系统的嵌入式系统,本文在进行分析和展望时,也沿用这一观点。
一般而言,嵌入式系统的构架可以分成四个部分:处理器、储存器、输入输出(I/O)和软体(由于多数嵌入式装置的应用软体和作业系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和Windows系统的最大区别)。
嵌入式是什么意思呢?
嵌入式linux
嵌入式 Linux是以Linux为基础的嵌入式作业系统,它被广泛应用在行动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。
1. 嵌入式Linux系统就是利用Linux其自身的许多特点,把它应用到嵌入式系统里。
Linux做嵌入式的优势,首先,Linux是开放原始码的,不存在黑箱技术,遍布全球的众多Linux爱好者又是Linux开发者的强大技术支援;其次,Linux的核心小、效率高,核心的更新速度很快,linux是可以定制的,其系统核心最小只有约134KB。第三,Linux是免费的OS,在价格上极具竞争力。 Linux还有着嵌入式作业系统所需要的很多特色,突出的就是Linux适应于多种CPU和多种硬体平台,是一个跨平台的系统。到目前为止,它可以支援二三十种CPU。而且效能稳定,裁剪性很好,开发和使用都很容易。很多CPU包括家电业晶片,都开始做Linux的平台移植工作。移植的速度远远超过Java的开发环境。也就是说,如果今天用Linux环境开发产品,那么将来换CPU就不会遇到困扰。同时,Linux核心的结构在网路方面是非常完整的,Linux对网路中最常用的TCP/IP协议有最完备的支援。提供了包括十兆、百兆、千兆的乙太网络,以及无线网路,Toker ring(令牌环网)、光纤甚至卫星的支援。所以Linux很适于做资讯家电的开发。
还有使用Linux为的是来开发无线连线产品的开发者越来越多。Linux在快速增长的无线连线应用主场中有一个非常重要的优势,就是有足够快的开发速度。这是因为LInux有很多工具,并且Linux为众多程式设计师所熟悉。因此,我们要在嵌入式系统中使用Linux作业系统。
Linux的大小适合嵌入式作业系统——Linux固有的模组性,适应性和可配置性,使得这很容易做到。另外,Linux原始码的实用性和成千上万的程式设计师热切其望它用于无数的嵌入式应用软体中,导致很多嵌入式Linux的出现,包括:Embedix,ETLinux,LEM,Linux Router Project,LOAF,uCLinux,muLinux,ThinLinux,FirePlug,Linux和PizzaBox Linux
相对,Linux的图形介面还相对较弱,但近年Linux的图形介面发展也很快,这也就不是问题。
2. 什么是嵌入式Linux
嵌入式linux 是将日益流行的Linux作业系统进行裁剪修改使之能在嵌入式计算机系
统上执行的一种作业系统嵌入式linux既继承了Interlnet上无限的开放原始码资源又具有嵌
入式作业系统的特性 嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支援全世界的自由软体
开发者提供支援网路特性免费而且效能优异软体移植容易程式码开放有许多应用软
件支援应用产品开发周期短新产品上市迅速因为有许多公开的程式码可以参考和移植
实时效能RT_Linux Hardhat Linux 等嵌入式Linux支援实时效能稳定性好安全性好
3. 嵌入式Linux有巨大的市场前景和商业机会出现了大量的专业公司和产品如Montavista
Lineo Emi等有行业协会如Embedded Linux Consortum等得到世界著名计算机公司和OEM
板级厂商的支援例如IBM Motorola Intel等 传统的嵌入式系统厂商也采用了Linux策略 如
Lynxworks Windriver QNX等还有Internet上的大量嵌入式Linux爱好......
嵌入式系统开发到底是做什么的
嵌入式系统开发就是对于除了电脑之外的所有电子装置上作业系统的开发,开发物件有手机,掌上电脑,机电系统等。
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬体可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬体装置、嵌入式作业系统以及用 户的应用程式等四个部分组成,用于实现对其他装置的控制、监视或管理等功能
嵌入式系统一般指非PC系统,它包括硬体和软体两部分。硬体包括处理器/微处理器、储存器及外设器件和I/O埠、图形控制器等。软体部分包括作业系统软体(OS)(要求实时和多工操作)和应用程式程式设计。有时设计人员把这两种软体组合在一起。应用程式控制着系统的运作和行为;而作业系统控制着应用程式程式设计与硬体的互动作用。
………………………………………………………………………………
嵌入式系统非常难,但是嵌入式开发前景也是非常好的,一般从事嵌入式开发的待遇都在6000-15000之间。怎样
学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关资讯,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在百度知道看到一篇让我很鼓舞的文章,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视讯,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视讯,虽然零星找到一些嵌入式的视讯,但是都不系统,我是想找一个能够告诉我该怎么学的视讯,一套从入门到精通的视讯,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视讯,是在IT学习联盟网站推出的一份视讯《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 贴上浏览器位址列按回车键即开启)。里面的教程还不错,很完整,可以让我从基础的开始学起。视讯比较便宜。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
......
嵌入式是什么意思?
1、简单的说就是用于控制、监视或者辅助操作机器和装置的装置。
2、可以理解为微型电脑。比如平板电脑就是一个嵌入式系统,智慧手机也是嵌入式系统,银行取款机也是.......可以说凡是能智慧互动控制的都是嵌入式系统。
3、打个比方说:拿一个嵌入式开发板,装上萤幕,就能成为平板电脑。装个温度探测器,就可以成为温度检测仪。装个萤幕+GPS模组,就能成为车载导航仪。装个读卡器+3G模组,就可以成为POS机......当然实际开发起来没有说的这么简单,会设计硬体开发+软体开发等各方面。
嵌入式是干什么的
嵌入式系统通常是指内部包含只能控制器的装置,它具有整合度高,体积小、反应速度快、智慧化、稳定及可靠性强等特点。 举一个简单的例子就能明白了 比如说我们的电脑都装有作业系统,因为安装了作业系统以后会使电脑的效用被充分的利用起来,但是现在智慧化的装置、各种仪器、电子装置越来越多,比如说我们的手机、智慧洗衣机、智慧电冰箱等等,这些东西不可能把电脑用的作业系统安装在其中,只能开发一些体积小的、功能完备的小型系统安装在这些东西上,被安装的这些作业系统就叫做“嵌入式的作业系统”
嵌入式软体工程师是做什么的
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬体可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬体装置、嵌入式作业系统以及使用者的应用程式等四个部分组成,用于实现对其他装置的控制、监视或管理等功能。
嵌入式软体工程师就是编写嵌入式系统的工程师。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
想成为嵌入式工程师,就需要学习嵌入式,怎样学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关资讯,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在百度知道看到一篇让我很鼓舞的文章《如何学习嵌入式》,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视讯,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视讯,虽然零星找到一些嵌入式的视讯,但是都不系统,我是想找一个能够告诉我该怎么学的视讯,一套从入门到精通的视讯,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视讯,是在IT学习联盟网站推出的一份视讯《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 贴上浏览器按回车键即开启)。里面的教程还不错,很完整,可以让我从基础的开始学起。视讯比较便宜。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光碟后,我就开始学习了,由于我没有什么基础,我就从最简单的C语言视讯教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机器上都有做练习,敲linux的基本命令,写简单的C语言程式码,差不多也就三个礼拜。我每天都在不停的写一些简单的程式码,这样一月后我基本掌握了C和linux的基本操作。
......
嵌入式系统到底是什么
书的话我推荐《嵌入式linux应用开发完全手册》,很不错,你有什么问题可以问我,我通讯大三目前也在研究嵌入式,步骤大致如下:
第一步: 嵌入式开发 pcb设计,一般为开发板的电路裁减和扩充,由开发板原理图为基础,画出PCB和封装库,设计自己的电路。
第二步: SOPC技术,一般为FPGA,CPLD开发,利用VHDL等硬体描述语言做专用arm晶片开发,写出自己的逻辑电路,基于ALTER或XILINUX的FPGA做开发。Arm9
第三步: SOC设计,分前端,后端实现,这是硬体设计的核心技术:晶片设计.能做到这步,已经不属于平凡的技术人员。arm9开发板
软体道路:
嵌入式Linux应用开发完全手册用的是什么开发软件
ADS编译的是裸奔的程序,不是编译linux下程序用的!linux下开发,一般是VI+GCC
buxiaode
gcc之类的
嵌入式Linux应用开发完全手册这本是针对2440的。
用的开发软件是ADS1.2
学习嵌入式Linux应用开发完全手册
你可以安装 ubuntu 的最新版,然后用 clfs 制作自己的工具链,我自己做、教学生做都是这么做的,不要尿 韦山东的书上怎么说。
在学校学嵌入式,还不如学号网络开发,学一些安卓和ios平开发等将来大趋势的技术比较好,嵌入式行业缩水严重,已经不是10多年前那种供不应求的时期了,择业慎重呀,不要耽误自己。
提供一下几种方案
一、还按照《嵌入死linux应用开发完全手册》(韦东山)的内容来,但是嵌入式linux的开发环境自己搭建。当时我是按照《鸟哥的私房菜-基础篇》和《鸟哥的私房菜-服务器篇》两篇,整出一套开发平台,CentOS5.3 + samba/vsftpd + gcc / linux-gcc 。 window平台上的工具sourceinsight、secureCRT。 注意:我使用了四个月学会linux操作。不知道你是否会先学这两本书,再学习韦东山老师的嵌入式呢。学完之后看似学习了很多,出来外面之后,我又去在windows平台开发,而且现在用C#。囧。现在看什么嵌入式系统都非常快,很容易理解架构,如何实现。可惜自己太年轻,没有资本和人脉,不然可以实现很多有意思的东西。现在正在尝试创业。
二、寻找开发板,而不是书籍作为实验的途径。书籍只是辅助,辅助你实现某种功能。可以集中linux书籍、嵌入式开发书籍、单片机开发、编程语言。宋宝华的嵌入式书籍。开发板当时用的是飞凌的,由国嵌负责技术讲解和培训。讲了不少有用的东西。现在网上的开发板多,可以淘,但是不用太贵,作用不大。找前卫的技术开发,中国看似不行。前卫老师都没搞出什么东西,我们在基本是0基础的前提下,很难实现比较前卫的技术。打好基础,看似是唯一的选择。
三、单独找台PC机,直接安装ubuntu11,买本ubuntu相关的书,他会交你怎样安装使用工具的。其实和第一种解决方式是一样的,书是别人在五(六)年前写的,不符合摩尔定理。所以没办法,我们在嵌入式方面的教育还是欠缺啊,出的书都少,记那么基本,还全是个人。没有什么教育机构。
希望以上对你有用。
求嵌入式经典书籍
linux下的c编程(c很重要,要学到精通)
入门得话,不要看经典书籍了,太专业不好理解。
推荐几本LINUX应用软件入门书籍
《嵌入式Linux应用开发完全手册》
《嵌入式Linux应用程序开发标准教程》
《嵌入式Linux.C语言应用程序设计》
下面 才是重点,绝对经典书籍:
入门篇
《LINUX权威指南》书不错,写的很全面也比较广,涉及的不深,做为入门书籍不错,可以比较全面的了解linux。另外比较热门的也可以看看《鸟哥的私房菜》等书,偏管理类的书。如果想做server方向的可以找来看看。
驱动篇
《LINUX设备驱动程序》就是网上说的“LDD”,经典之作,必备书籍。国产经典《Linux驱动详细解》也是一本非常不错的书,很实用,书中源代码分析比较多,基于2440的,对linux外围驱动有很全面的讲解
内核篇
浙江大学的《LINUX内核源代码情景分析》,外国鬼子的《莱昂氏UNIX源代码分析》还有《深入理解linux内核》都是出名的经典巨作。另外赵炯的《LINUX内核完全剖析--基于0.12内核》也非常不错,对内核代码进行了详细的注释,非常有助于对内核的理解和代码的分析。
shell篇
《LINUX与UNIX Shell编程指南》
应用编程
不用说了肯定是《unix环境高级编程》被称为unix编程的圣经。
TCP/IP篇
《TCP/IP详解》作者W.Richard Stevens也是《unix环境高级编程》的作者,牛人出的书没有一本不是经典的。但是英年早逝,默哀一下。
c语言
《The C Programming Language》正是作者造出来的c语言,书能垃圾就怪了
《c和指针》和《c缺陷和陷阱》两本必备。包含了c语言最容易出错的地方,加深c语言功力的好材料。
关于算法
《算法导论》
嵌入式系统到底是什么
嵌入式系统到底是什么
书的话我推荐《嵌入式linux应用开发完全手册》,很不错,你有什么问题可以问我,我通讯大三目前也在研究嵌入式,步骤大致如下:
第一步: 嵌入式开发 pcb设计,一般为开发板的电路裁减和扩充,由开发板原理图为基础,画出PCB和封装库,设计自己的电路。
第二步: SOPC技术,一般为FPGA,CPLD开发,利用VHDL等硬体描述语言做专用arm晶片开发,写出自己的逻辑电路,基于ALTER或XILINUX的FPGA做开发。Arm9
第三步: SOC设计,分前端,后端实现,这是硬体设计的核心技术:晶片设计.能做到这步,已经不属于平凡的技术人员。arm9开发板
软体道路:
第一步:bootloader的编写,修改, 通过这步熟悉ARM硬体结构,学习ARM组合语言,阅读ARM的晶片手册,感觉就是像操作51微控制器一样操作ARM晶片.这一步最好的两个参考资料就是:晶片手册和bootloader原始码。
第二步:系统移植, 驱动开发, 我只做过linux方向,所以也推荐学习嵌入式linux系统,作为标准体系,他开源而且可以获得大量学习资料.作业系统是整个电脑科学的核心,熟悉 kernel实属不易,kernel, 驱动
开发的学习,没有什么捷径,只有多读程式码,多写程式码,熟悉系统API.. understanding linux kernel , linux device driver 都是不可多得的好书,值得一看。
第三步:应用程式的编写,各种GUI的移植,qt , minigui都被大量采用,两种思想都类似,熟悉一种就可以。
软体道路中,驱动系统应该是最深入的部分,不是短时间可以掌握的,需要有勇气和耐心。嵌入式开发,软硬结合,因为硬体条件比PC差很多,所以肯定会遇见不少问题,因此实践的勇气更加重要.有问题就解决问题,无数次的实验,也许是解决问题的必由之路
以上回答你满意么?
嵌入式是做什么的
嵌入式系统通常是指内部包含只能控制器的装置,它具有整合度高,体积小、反应速度快、智慧化、 稳定及可靠性强等特点。
举一个简单的例子就能明白了
比如说我们的电脑都装有作业系统,因为安装了作业系统以后会使电脑的效用被充分的利用起来,但是 现在智慧化的装置、各种仪器、电子装置越来越多,比如说我们的手机、智慧洗衣机、智慧电冰箱等等 ,这些东西不可能把电脑用的作业系统安装在其中,只能开发一些体积小的、功能完备的小型系统安装 在这些东西上,被安装的这些作业系统就叫做“嵌入式的作业系统”
什么是嵌入式系统?
说白了目前有两个CPU硬体系列,
一是带电扇的CPU:目前的电脑,费电,发热大,效能高;
二是不带电扇的CPU:目前的手机,微控制器等。也就是嵌入式,省电,发热小。
其实只要是CPU都可以装作业系统的。只是有的硬碟太小了,装不下。或记忆体太小执行不了而已。
安卓是基于Linux核心,但不是Linux作业系统。
“Android是一种以Linux为基础的开放原始码作业系统,主要使用于便携装置。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android作业系统最初由Andy Rubin开发,最初主要支援手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩充套件到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年2月资料,Android占据全球智慧手机作业系统市场52.5%的份额,中国市场占有率为68.4%。”
“ Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支援的功能,Android 大都没有支援,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程式移到 userspace,使得Linux driver 与 Linux kernel彻底分开。bionic/libc/kernel/ 并非标准的kernel header files。Android 的 kernel header 是利用工具由 Linux kernel header 所产生的,这样做是为了保留常数、资料结构与巨集。”
参考资料: baike.baidu/view/1241829#5_4
嵌入式 移植到底是什么? 5分
这个话题太大了,
要看你是移植什么了,可以是作业系统,可以是应用软体,甚至是一些编编译器。
你要先看你要做的是什么。
PC上的是交叉编译工具,这个交叉编译户具的作用,就是可以编译出可以直接在嵌入式平台上可以直接执行的程式。
嵌入式培养是什么意思?
嵌入式培养是什么意思?目前高校在招生的时候通常会提到嵌入式人才培养,也许你并不了解嵌入式是啥?其实就是常常谈到的嵌入式,主要说其应用,就是一个嵌入式Linux系统,是根据不同需求而开发的系统,不同一般的windows系统,需要那么大个头,例如当前的拿在手里的平板电脑,如果你还用桌上型电脑那样的系统,那么相对应的硬体一定不能小,功耗也大还得插电吧。可以想像一下,那最后做出来产品是没人要的!
国内第一家嵌入式人才培养机构是华清远见。那么嵌入式培养从字面意思上讲,显而易见就是嵌入式人才的培养,不管是大学里面的培养,还是毕业之后社会上的嵌入式培养都是培养你嵌入式开发的技能。其实就是这么简单的意思。
为什么要做嵌入式人才的培养?只因当前技术的潮流是奔著智慧时代、自动化发展去的。且从事嵌入式开发工作薪资待遇比起一般的打工者,算是大富大贵了!从2015年行业薪资来看,嵌入式开发是所有行业内平均薪资待遇最好的职业。也是国家大力扶持的热门行业。
中国目前来讲还算是发展中国家,远远落后欧美、日本这样的一些老工业强国,现在国家也是极力的向他们靠近,学习他们的先进技术,不得不说嵌入式技术就是非常重要的一环。打个比方,以前很多工厂的工人做一些工种都是手工的,需要大量的人,现在开发一台自动化装置,那么这些人都面临着失业,自动化之后效率变高,成本降低。
当前更是无人机、无人驾驶、可穿戴装置、智慧家居、智慧城市等相关产业不断涌现,嵌入式系统、基础晶片、各类感测器及软体的应用越来越加深入和广泛。所以嵌入式人才培养迫在眉睫。
华清远见教育集团(行业内最早、最大的嵌入式职业教育机构)总裁季久峰表示,在嵌入式人才培养上,应始终坚持“兴趣学习”的课程设计原则。嵌入式教学依靠单一的、过时的开发板的时代已经过去了,把当下新潮的硬体产品拿到课堂上来,才能够真正的激发学员的学习热情。华清远见集团拥有几十人的专业研发团队,目前已成功研发诸如开源平板电脑、智慧手表、智慧机顶盒、智慧小车、智慧手环等时下最流行的产品,并快速应用到课程内容和专案实训中,这样才能真正的帮助学员成长,提高实战能力。
嵌入式到底是什么?对51 msp430 stm32的基本使用都掌握。但是还是不太理解他们之间本质上
恩 我也是刚学系统的 ,说的不好不要见怪。
对于51 msp430 stm32等微控制器,就你现在情况来看还是在裸奔,没跑过什么作业系统。就作业系统而言按功能划分为工业和家庭之类的,有什么ucos FreeRTOS linux wince等等嵌入式作业系统。
优势方面:在系统上可以更加合理的分配资源,让资源利用尽可能的少浪费,做到多工化,bug少(毕竟系统神马的是一群牛逼的大大合力完成的,且进过时间的考验,肯定比我们裸奔强多了),且比普通微控制器系统更适合完成复杂的应用,还有点重要的是稳定性好,我们裸奔的程式搞大了,难免会有很多bug,用作业系统可以增加程式的稳定性,和高效性。
额 暂时写这么多 有问题你再问吧 。
我是大一软体工程嵌入式的,请问以后到底是什么方向
这个看你兴趣了,嵌入式属于搞开发的,现在很多方面都用到了,搞资料可能相对要枯燥些,毕竟都是和资料打交道
嵌入式 是做什么的?
嵌入式实际上是软体硬体相结合的嵌入式系统。
软体一般是一种计算机作业系统,比如Linux硬体则是执行使用者要求的执行装置,比如小电机,电路板等等。
做嵌入式开发,则分为软体开发和硬体开发两方面。
我现在的工作就属于嵌入式,是电视机的开发。
需要学习的有:
软体上至少要掌握一种作业系统比如Linux,一门程式语言比如C语言,还要掌握一些与硬体会话的汇编和编译原理等。
硬体方面至少要有电路基础。
嵌入式是什么意思?
1、简单的说就是用于控制、监视或者辅助操作机器和装置的装置。
2、可以理解为微型电脑。比如平板电脑就是一个嵌入式系统,智慧手机也是嵌入式系统,银行取款机也是.......可以说凡是能智慧互动控制的都是嵌入式系统。
3、打个比方说:拿一个嵌入式开发板,装上萤幕,就能成为平板电脑。装个温度探测器,就可以成为温度检测仪。装个萤幕+GPS模组,就能成为车载导航仪。装个读卡器+3G模组,就可以成为POS机......当然实际开发起来没有说的这么简单,会设计硬体开发+软体开发等各方面。
嵌入式 是什么
(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和装置的装置”。原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。
嵌入式系统是一种专用的计算机系统,作为装置或装置的一部分。通常,嵌入式系统是一个控制程式储存在ROM中的嵌入式处理器控制板。事实上,所有带有数字介面的装置,如手表、微波炉、录影机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含作业系统,但大多数嵌入式系统都是由单个程式实现整个控制逻辑。[1]
从应用物件上加以定义,嵌入式系统是软体和硬体的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬体可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
求嵌入式Linux应用开发完全手册——韦东山 一书的视频教程 感激不尽
貌似在115网盘还有华为网盘下载的网址,希望能帮助你,下面是链接网址http://www.100ask.net/download.html ,只要你注册一个号码就可以下载了,非常方便。
去百问网呀,那里是韦东山的网站,那里有最权威的下载地址