文档库 最新最全的文档下载
当前位置:文档库 › Eclipse零起步系列讲座

Eclipse零起步系列讲座

Eclipse零起步系列讲座
Eclipse零起步系列讲座

Eclipse零起步系列讲座(一)

======================================

(前言)

Eclipse这个新的东东,大家都很感兴趣,为了帮助初学者揭开Eclipse的神秘面纱,也为了

总结一下自己的使用开发经验,所以打算写下来共享给大家,当然我也是在不断的摸索中,

文中如有不对之处,还望大家指正.

(正文)

Eclipse项目是IBM在2001年捐献的一个开发平台,当时此项目评估价值为40million USD. 此东东如此值钱,可见自是有过人之处. 接下来直接转入正题, 哪里可以下到Eclip

se呢.

[Eclipse 下载]

下载Eclipse的官方网站:

https://www.wendangku.net/doc/6e15460773.html,/downloads/

这个网站上有很多mirror,你可以根据网路,选择自己最方便的下载mirror

如果你在交大的校园的话,呵呵,那就去这里

ftp://https://www.wendangku.net/doc/6e15460773.html,/mirror/sites/https://www.wendangku.net/doc/6e15460773.html,/

这个目录是也是一个Eclipse网站的镜像,但是为什么没有公布在https://www.wendangku.net/doc/6e15460773.html,网站上,这

我就不清楚了

你可以从上述网站上找到Eclipse的下载包

上了网站,你会发现有许多Eclipse版本,有1.x, 2.x, 3.x,那到底该用什么版本呢? [Eclipse 版本(以及WSAD版本)]

IBM有个深受大家欢迎的产品,叫做Webshpere Studio Application Developer (WSAD), 当时WSAD4.0发布时用的Eclipse是1.0版本的,后来IBM把Eclipse捐献出来后,就陆续开发了2.x版本,而且也应用到了后来的WSAD产品,现在WSAD5.0用的是Eclipse 2.0, WSAD 5.1 用的是Eclipse 2.1.1.

现在https://www.wendangku.net/doc/6e15460773.html, Release的最近Release的版本是Eclipse 2.1.3, 相信大家平时要用Ec lipse做开发的话,用2.1.3比较合适.

同时,如果你如果想尝尝鲜的话,就试试Eclipse 3.0版本,现在3.0还没有Release, Eclipse 3.0的开发过程是分成10个Milestone来分的,现在已经开发到第8个Milestone, 就是Eclipse 3.0M8. 大家可以试试. 预计3.0的正式版本要到今年6月发布, 相信到时候

发布不久后, WSAD6.0就会发布了. 呵呵,期待啊 @_@

另外对于Eclipse的开发,还有一种版本标记方式,是分别已N, I, R 打头的, 比如

N20040101之类的, 大家会觉得纳闷,这到底代表什么意思呢. 其实, N 是 Nightly Build , I 是 Integration Build, R 是 Release Build, 特别是对于大型软件, 有时

编译一个项目要花很多时间, 所以很多时候编译的工作就放在了夜里, 所以就有了

Nightly Build 这一说, 而Nightly版本在经过集成测试,就生成了 Integration 版本. Integration版本再经过严格的测试,最后就发布Release版本. 所以稳定性程度: R >

I > N.

相信大家了解了这个版本后,就可以当自己想要的版本了.

等当好了之后,我们就可以安装了

[Eclipse 安装] (以 R2.1.3 版本为例)

当下来的东东是一个压缩包, 然后你要做的就是把这个压缩包解压都某一个目录,为了方

便介绍,我们叫这个目录为.

让我们展开一下这个目录看看:

|

--- /plugins 存放插件的目录(稍后介绍)

--- /features 存放功能部件的目录(稍后介绍)

--- /links 其他plugins和features的连接地址的存放目录(稍后介绍)

--- /readme

--- eclipse.exe 启动Eclipse程序

--- ...

[启动 Eclipse]

但是如果你机器还没有装jre的话,那eclipse还是不能启动的

如果没有的话,去https://www.wendangku.net/doc/6e15460773.html,当一个jre,安装好jre之后才能启动

如果你同时有几个jre, 那eclipse会自动搜索注册表,并找到版本高的jre使用.

提示: 如果想指定eclipse使用你想它使用的jre的话,可以设置eclipse.exe的启动参数: eclipse.exe -vm

然后你就可以启动eclipse了, 慢慢等, 还是挺慢的, 你可以顺便喝口茶, 欣赏欣赏eclipse的splash画面, 呵呵

启动好后, eclipse的开发平台就展现你的眼前了.

在这个启动的时候, eclipse自动创建了一个workspace, 你可以在的目

录下看到一个workspace的目录,这个目录下还有一个.metadata的目录,这个目录存着你

这个启动的工作区的所有配置.

当然,如果你不想把workspace这个工作区目录放到别的目录下,也没有问题,设置一下eclipse 的启动参数:

eclipse.exe -data

以后,你如果同时要开发好几个项目, 当时有不想放一个工作区里, 学会启动的不同的工作区是必要的

Eclipse零起步系列讲座(二)

===========================================

(前言)

今天这篇侧重于eclipse的内部结构剖析,对于想开发插件的同志们,这些都是基础知识,

可以好好看看. 由于我写这个东西,也是随性发挥,想到什么就写什么. 而关于eclipse的

如何使用,如何用eclipse来开发一个java项目或其他项目之类的文章, 我想我会在以后

的文章中写到. 但我想对于要在开发eclipse上开发web项目,c项目或其他的话,你也要会

自己能安装相应的插件,才能开发,所以,这些基础知识的对于这些人来说还是很有必要的

.

(正文)

上一回我们且说到eclipse的下载,安装,启动. 其中讲到eclipse目录结构时,你会发现有

两个目录,一个叫plugins,一个叫features,而且你会发觉就这两个目录就占了整个eclip

se项目的9x%的空间,如果少了这两个目录,呵呵,eclipse根本就是空架子. 那这里面到底

存放了些什么东西呢, 让我们来研究一下.

[什么是 plug-in]

我们来做一个比喻, 你买了一套新房子,买过来是毛坯房,然后你稍微装修一下,铺了地板

,上了墙纸, 当然现在大家都要用家用电器, 没电咋行, 所以我们就要布好电线,装好电

源插座. 这个时候,你可以把这个房子想像成eclipse这个平台. 之后, 我们或许就要添

置家用电器了,比如电视, 音响等等, 等我们买好回家, 然后把电源往插座上一插, 那我

们就抱着孩子, 搂着老婆, 看电视, 听音乐, 舒舒服服的过上幸福美满的小生活了~~~

同样的, eclipse的plug-in 也是同样的工作原理, plug-in 只要放到/p

lugins目录下, eclipse启动后就会自动给所有在这个目录下的plug-ins, 通上电, 那这

些plug-ins就会自动的运行起来, 美妙的eclipse界面也随之呈现在你眼前.

那接下来,让我们看看eclipse这个由插件组成的平台,到底是个什么样的架构

[Eclipse 平台架构]

---------------------------------------------

| Eclipse Platform | --------

| | ---\ | |

| ----------------------- ------------ |==| _ |______| JDT |

| |Workbench | | | |==| | | |

| | | | | | ---/ --------

| | | | | |

| | ---------------| | Help | |

| | | jface | | | |

| |----------- | | | |

| | SWT | | | | |

| | | | ------------ |

| ----------------------- |

| ------------ | --------

| ------------------ | | | ---\ | |

| |Workspace | | | |==| _ |______| PDE |

| | | | Team | |==| | | |

| ------------------ | | | ---/ --------

| | | |

| ------------ |

---------------------------------------------

Eclipse Platform 就是一个房子, workbench,jface, swt, workspace, help, team, jdt, pde都是基于这个平台的插件.

下面我介绍一下这些基础插件的基本功能:

*: workbench用来控制工作台, 负责控制工作台上包括菜单,视图,透视图等等的控制和

操作

*: SWT是一个类似AWT,SWING的java组件,是一个轻量级的组件,而且和awt,swing不同的是,它底层实现不是基于jre,而是根据不同操作系统,有相应的动态链接库实现,所以作出

来的效果很专业, SWT主要用于workbench的ui绘制

*: jface是基于SWT的一个插件, 对SWT进行了封装, 封装实现了对话框, 视图等东东

*: workspace是用来控制工作区的,(有别于工作台), 包括对工作区内的项目的控制,删

除,添加,编译项目资源等等都由它来控制

*: help是一个eclipse帮助系统, eclipse的菜单->Help-> Help Content,就可以打开这

个帮助系统, 这个系统不是封闭的, 可以进行扩展(以后会介绍做eclipse帮助的插件)

*: team是一个cvs系统,可以和CVS server协调使用,进行版本控制

*: jdt 是Java Development Tools, 开发java的插件

*: pde 是plug-in development environment, 开发插件的平台

[plug-in 的基本结构]

每一个plug-in都用一个目录包起来, 而且起目录名也是有讲究的,比如plug-in的名字叫edu.sjtu.bbs.eclipse,版本是1.0.0, 那这个目录名就是edu.sjtu.bbs.eclipse_1.0.0.

而且随便打开一个plugin目录,可以发现总有一个文件叫一个叫plugin.xml,这个文件对

于plugin来说十分重要, 它相当于定义了plugin的运行参数,没有这个,plugin无法启动, 就像你家的电冰箱如果不知道是用110V还是220V的,你也不敢乱往插座上插,所以总要有个说明,这个说明就是plugin.xml. 至于这个文件有些什么具体结构,我想在以后介绍编

写插件的时候,我会详细介绍.

[什么是 feature]

feature是功能部件,它里面没有实际的运行的库,它只是eclipse用来管理plugins的一种途径. 比如你家装了电灯,总要有开关控制把,比如大堂的灯有一个开关控制, 卧室的灯

也有一个开关控制, 它们分别用来控制灯的亮与灭.

同样,功能部件就是用来控制插件的启动与否. eclipse的update透视图可以设定各个功

能部件的启用或禁用状态, 所以你可以通过禁用功能部件,来禁止插件的启动. 这样有一

个好处,比如你装了很多插件在eclipse上,但是装的越多,加载就越多,启动也会变慢, 你

不信的话,可以玩玩wsad, 就知道我说的话不是假的了.

所以,我们可以把功能部件看作是插件或插件集合的开关, 用来控制插件的状态. 如果pl ugins目录有插件没有被任何一个功能部件包络的话, 我称之为"野插件", 就是eclipse

启动,它也一定会启动, 就相当于没有开关, 电源一直连通一样.

当然,功能部件还有很多其他方面的用处,以后会有详细介绍.

Eclipse零起步系列讲座(三)

===========================================

(前言)

根据上一讲,你或许大概已经了解了Eclipse的组成,以及大致的运行机理. 这篇文章, 将

开始带您使用eclipse.

(正文)

[Eclipse的工作台使用指南]

这部分要写的话,其实要写很多,而且最好方式则是图文并茂,最好再有演示. 我这里只是

给一些总体的介绍,并给予一些使用上的指导. 个人感觉,如果你从来

没碰过eclipse, 启动之后,最好先看一下help, 这样会比较好.

具体的操作步骤是这样的, 启动eclipse后, 选菜单里的help-> help contents, 此时

会弹出一个新的窗口,就是eclipse的帮助窗口, 这个窗口的左边是一个导航

条,选择Workbench User Guide, 里面分为Getting Started, Concepts, Tasks 和Refer ence. 可以先看一下 Getting Started里面的Basic Tutorial. 这份

tutorial可以在最短的时间内,让你熟悉eclipse的工作台.

其实,eclipse平台ui方面有这几个组件: 菜单, 工具栏, 视图, 透视图, 编辑器

菜单和工具栏不用说了, 地球人都知道的, 视图就是view, 比如 Navigator, Outline, Tasks 等等都是视图, 每一个视图都有自己相应的功能,你可以参看

workbench user guide来了解这些视图. 编辑器,就是editor, 比如有开发java的编辑器

, 编写文本的编辑器,等等, 最后还有一个叫透视图, 英文是perspective,

这个东东其实是不同的view,menu,toolbar,editor的排列组合. 比如你开发java, 你经

常会用到package explorer, tasks, outline等view和编写java的editor,

以及适合开发java的菜单(Source和Refactor), 那它就会布局一个适合开发java的透视

图, 以此类推.

下面我介绍一下常用菜单项:

+ File

- New: 新建文件,项目,或者其他都是从这里进入

- Import: 这个也是很有用的,比如别人开发的eclipse项目,你copy到

你机器上,可以通过import把这个项目导入工作区

- Export: 这个是导出功能, 比如你开发了一个项目,最后想导出一个

运行库,jar包之类的都可以用这个,这样你就不用自己手动的去把那些class

文件打包了

+ Window

- New Window: 你如果觉得在一个window下开发东西太挤的话,可以再开一

个,等于冒出两个workbench,其实操作的resource都是一样的.

- Open Perspective: eclipse有很多透视图如resource, java, java

browsing, cvs, debug等等,你可以根据当前开发的需要,选择你要的透视图进行开发

- Open View: 透视图毕竟有限,不可能把所有的view都帮你开好, 所以你

如果发觉你要用某一个view,但是它没有开,就用这个选项

- Customize Perspective: 毕竟每个人都有自己的习惯, 你觉得这个透视图用

的不爽, 可以自己定制的

- Reset Perspective: 给你定制的一塌糊涂, 唉, 没办法, 还原成老样子把,

就用这个

- Preference: 这个是非常重要的选项, 偶是没事就进去改的, 它保存了

很多配置方面的东西, 比如字体, 快捷键设置, 很多很多方面都要用到这个

的, 这个东西的详细介绍, 会稍后介绍.

+ Help

- Welcome: eclipse很多插件都做了welcome page,这个page对很多初学

者来说,很有用的,否则很多情况下,新的东西是无从下手的.

- Help Content: 前面讲过了,用来启动帮助系统

- Update: 这个以后会具体介绍

- About Platform: 你可以从这里了解你装了哪些features和plugins

[利用 eclipse 开发简单的 java 程序]

好了,我们一起step by step来学一下把, 很easy的

1. 菜单new -> project, 然后在new project 对话框里选 java ->java project, 按n ext 按钮

2. 输入 project 的名字, 按 next 按钮, 当然如果你不想把项目的根目录建在默认的

地方,也可以取消掉use default ,然后自己设定目录

3. 之后就 finish 把, 都用默认配置

4. 如果你没有在java透视图下面,它会提示你是否跳到java透视图,选择是

5. ok 一个项目就建好了

6. 之后,你就可以 new class 开始写java程序了

7. 比如你的new一个class,如下

public class A{

public static void main(String args[]){

System.out.println("Hello World");

}

}

8. 编辑好保存, 然后跳到菜单-> run -> run as -> java application

9. 你可以看到console view中就冒出Hello World了

很easy把, 当然, 你会在开发中会遇到很多问题, 这是必然的, 那这些问题只能在实践中积累才能得到解决, 所以不用急,多用用,多玩玩,遇到问题经常到版上来问

问.

还有如果你发现问题的话, 找问题解决方案的第一个地方,应该是eclipse的帮助系统里的Java Development User Guide, 几乎绝大多数问题,上面都有答案. 所以

有空的话还是要多读一读.

不过,很多人都说用了eclipse之后,就抛弃了其他的java ide, 说明它必有爽的地方, 那我来介绍一下用eclipse 开发java,有哪些爽的地方

[Java Development Tool (JDT) 特色]

其实特色有很多,我也只是凭我的开发经验, 介绍一下jdt的突出功能.

1. 自动修饰代码功能

这个功能很大程度上, 把平时一些开发代码中的琐碎的工作给自动化了

打开菜单

+ Source

- Comment: 这个比较有用,比如你写java代码,发觉你有一段代码要注

释掉,那就选中那一块代码,然后选这项,他就会自动把这段代码注释掉. 快捷

健是 "Ctrl+/"

- Uncomment: 反注释, 操作方法和Comment差不多, 快捷键是 "Ctrl+\"

- Format: 这个操作项是我一直推荐的, 非常方便, 比如你写了段格

式很烂的代码, 乱七八糟的, 那你就选择这项,你会发觉, 哇~~, 我的代码怎

么一下子变漂亮了, 不信你可以试试, 快捷键是"Ctrl+Shift+F", 所以我现在都养成习惯了,写一会儿代码,就c+s+f一下, 呵呵,很方便的.

- Sort Member: 这个不是很常用,但是如果你觉得代码太长,老是找不到函

数,,也可以试试. 他会帮你把你写的函数,变量重新排序

- Organize Import: 这个功能也是一个不用不爽的功能, 比如你编一个项目,

发现有很多import都没有用到,或者说你引用了一个类,但是你没有import,

结果编译不通过, 那都没关系, 一用这个,所有的问题迎刃而解. 至少我用这个之后, 就从来没有写过import这类语句了. 快捷键是"Ctrl+Shift+O(是字母O,不是数

字0)", 我经常把这个和c+s+f一起用, 呵呵,人也变懒了不少

- Override/Implement Method: 这个比如你写一个类, 实现了某一个接口,但是

你还没有实现那个接口的函数, 那就用这个,它会自动搜索父类和接口的方

法,你可以选择要覆盖还是实现哪些函数

- Generate Getter and Setter: 如果你加了一个类变量, 要为它写getter和se tter,不用那么麻烦, 用这个把,都是自动的

- Generate Delegating Method: 如果某一个field要生成代理函数,用这个把,

选一下就ok

- Add Javadoc Comment: 点中某一个你想要加javadoc的函数或类或变量,然后

选这项,它会自动帮你加好javadoc的头,包括你用的那些param或return

- surround with try/catch block: 比如你有一段代码要处理某些exception,

可你又忘了用try/catch来写,别急,选中那段代码,然后选这项,你会发觉它会

自动针测你这段代码里要抛出哪些exception,并且自动生成好所有代码

- externalize string: 这个是在做国际化的时候用的,简单的说,就是把string

包在resource bundle里, 这也是i18n的一个解决方案,我想我以后会详细介

绍这方面的东西.

2. 重构功能:

重构这两年很热, 那让我们看看jdt里面的重构到底有多强. 呵呵, 这也是eclipse最吸

引我的一个地方.

打开菜单

+ Refactor

- Rename: 如果你写了一个类,你发觉这个类某个类变量的名字起的不太好听

, 你觉得不爽, 于是你就想改名字, 那怎么改呢, 就把那个变量名改了

? 呵呵,没那么简单,因为你这个变量如果已经在某些函数里引用到,那编译要出错了, 而且你根本就不知道你哪里引用了, 写了那么多代码,脑子都晕了, 那不是死

菜了吗? 别紧张, 用这个rename可以帮你解决一切问题, 它不仅可以帮你把变量的名字改了,而且它还会自动搜寻所有这个变量被引用到的地方,然后把那些地方也

一起改了, 爽不爽啊, 给你省了很大的劳动力不是.

- Move: 同样, 要移动一个实现了的静态函数或变量到别的类的话,

用这个移动, 保证不出错

- Modify Method Signature: 你设计函数不可能一下子就定型的,比如你一开始这

个函数有一个参数,后来发觉不对,要用两个, 那你就要用这个来改, 这

样它还会搜寻所有已经引用这个函数的地方, 并且把这些应用的地方也改掉,否则编译也要出错的

- Extract Interface: 它可以帮你把一个类抽象成一个接口, 规范你的代码

- Extract Method: 如果你写了一段很长的函数, 但是这个函数有些代码有

重复利用性, 你就可以把给分割出来, 选中那段代码,然后选这项,系统会问

你抽出来的函数的定义, 然后它就会生成这段函数,把实现从原来函数那里抽出来,并在原来函数那里写一个对这个新函数的引用,以保证程序不变性.

- Extract Local Variable: 如果你发觉你函数里有些值都是通过一样的表达

式得到的,你就可以通过这项把这段表达式变成一个变量,并且把这个变量替

换到引用到表达式的地方

- Extract Constant: 抽取常量, 比如一个string= "eclipse", 你觉得很多

地方要用到, 那就抽出来变成一个常量 ECLIPSE, 就这么简单

- convert local variable to field : 这个看名字就知道, 不多说了

- encapsulate field: 这个和生成getter,setter有点类似, 但是不同的在于,

如果你有一个public的常量 var,并且已经在别处引用到了, 那你用生成

getter,setter肯定有问题, 因为引用的地方没改过来, 用这个的话,不仅会生成getter, setter,而且还会改掉所有引用的地方, 比如把var = ...;的地方改成

setvar(...), 把 ... = var地方改成 ... = getvar(); , 呵呵,够强把...

3. 敏感帮助:

这个jb之类的ide也有, 启动方式为"alt+/" , 你如果觉得这个不爽,可以选preference- >workbench->keys->edit->content assist 修改键值

而且,这个敏感帮助还有一个强的地方在于:

你如果想写一个for语句, 呵呵, 就打 for, 然后alt+/, 选一个for的生成方式, 一个完

成的for语句就出来了, 呵呵,eclipse多用用, 人都会变懒的

这个功能其实是jdt的模板功能,你也可以加自己用的模板, 具体在 preference->

java -> editor ->templates 加

4. Quick Fix功能:

比如我们来编一个类A, 如下:

public class A {

public static void main(String args[]){

System.out.prin("Hello World");

}

}

编译是不通过的,print方法打错了, 打成prin了

所有你会发觉那一行的左边有个红差差,说明这行有错误,你把鼠标移到那个红差差上,它会有一个提示出来,告诉你出了什么错了

这还不止,你还发觉在红差差左边有个电灯泡, 你点那个电灯泡,它会弹出框问你是chang e to print 还是change to println, 选择change to print, 它就自动帮

你改好了,呵呵,连改错都这么方便,太爽了. 当然,如果没有电灯泡的话,你就只能手动改了,毕竟这东西没这么智能,可以帮你自动解决所有的问题

Eclipse零起步系列讲座(四)

===========================================

(前言)

大家根据上一讲,加之好好练习,相信您会越来越喜欢用eclipse来开发java程序的. 那今天这篇, 应ForEclipse版友的要求, 就写一篇关于eclipse下使用cvs的文章

.而且昨天那篇水贴,大家都谈了谈使用感受,我也觉的受益非潜. 呵呵, 就来总结一下把.

(正文)

[CVS 简介]

CVS 是 Concurrent Versions System的缩写,基于Unix体系中成熟的SCCS(Source Code Control System)和RCS(Revision Control System)开发,是一个开放源

码的项目,目前已是版本控制系统的主流软件.一个很常见的使用CVS的场合,就是开放源

码项目.由于开放源码项目的开发者的分布性,对于版本管理的要求更加严格,

而目前大部分的开放源码项目几乎都是采用CVS来管理源代码,CVS的标准性和强大可见一斑.

CVS采用客户机/服务器体系,代码以及各种版本存储在中心服务器内,每一个个体开发者

开发时都首先从服务器上获得一份自己的拷贝,在此基础上进行开发,以避免

直接影响服务器上的数据.开发者可以随时把自己的新代码提交给服务器,并通过更新获

得代码的最新状态,保持与其他开发者的一致.

CVS对于网络是透明的,开发者可以使用客户端软件(几乎所有的平台上都有相应的客户

端软件)在任何时候,任何地点通过网络来获取最新的代码.

对于Eclipse的开发者而言,Eclipse本身内置了CVS支持,不需要使用其他客户端软件,只

要建立一个CVS服务器,就可以使用这一强大的版本控制系统了.

[CVS 安装和配置]

这里只介绍windows下的cvs实现CVSNT,CVSNT的安装有一定困难,我简单介绍一下.

当然首先要说一下哪里可以下载到cvsnt, 就在https://www.wendangku.net/doc/6e15460773.html, ,现在的最新版本CVSNT 2.0.41 (Wednesday 21st April 2004)

CVSNT的windows版本在nt, 2000 , xp, 2003 都可以安装的.

当下来后第一件事情就是setup, 安装好后,

从开始菜单的程序组中启动CVSNT配置程序service control panel.这时应该看到服务器还没有运行(CVSNT作为系统服务运行),如果已经运行了,先把它停下来.选

择第二个选项卡Repositories,这里我们假设数据库都存储在E:\work\cvsrepo下,点击Ad d, 然后点击省略号按钮来选择E:\work\cvsrepo作为数据库路径.它会提示

你这个数据库没有初始化,问你是否要初始化,选是. 然后, 我们选到service status 选

项卡, 启动server.

由于cvs的帐户默认是和windows domain用户联系在一起的, 所以可以通过在windows里的控制面板添加用户,比如我们添加一个user, username= userid,

password= passwd. 我们会在后面使用到.

[Eclipse下 cvs 的使用]

在eclipse使用cvs前,首先要连上cvs服务器, 打开cvs repository透视图, 这个透视图

里有个cvs repository视图, 在这个视图中,右键点击选菜单New->

Repository location. 此时会谈出一个add cvs repository对话框. 然后填写此对话框

的各项信息:

host: localhost (如果你cvs server装在自己机器上)

repository path: e:/work/cvsrepo

user: userid

passwd: passwd

connection type: pserver

一切操作正常的话, eclipse就能连上cvs了. 接下来我们要开始介绍如何具体使用了.

1. share project & disconnect

首先一个project想加入cvs 控制的话, 就要share project, 用以把所有project下的信

息加入cvs下控制. 操作方式就是: 选中你要share的project,然后右键点击

弹出菜单, 选team-> share project

但是这里要注意的是, 不是所有的文件都应该加入cvs的,比如编辑器生成的临时文件,编

译生成的.class文件,或者某些编译过程生成的二进制文件等等.因此

,Eclipse并不自动把所有文件存储到数据库中,需要开发者手工指定把那些文件存储到数

据库中,也就是加入版本控制add to version control.对于单个文件的指定

,可以随时在Resource Perspective或Java Perspective中的文件上使用右键,选择Team, Add to Version Control.如果需要存储整个项目或者同时指定多个文件,则

要使用同步(Synchronize)视图.

如果一个已经在cvs控制下的project,你想与cvs断开, 也很简单, 选中那个project,然

后右键点击弹出菜单,然后选team->disconnect

2. check out

如果想从cvs上, 下到本地,参加团队开发, 就先在cvs repository视图里浏览cvs里的内容, 找到你要找的project, 然后右键点击, 选择check out as project,这

样eclipse就会自动从cvs上check out下来这个project, 可以开始团队开发了

3. 推荐使用的cvs步骤

理想的开发工作流是这样的:

Workbench #1 ----------------------------------------------------->

/\ /\

/ \ / \

update/ \commit update/ \commit

/ \ / \

Branch ----------------------------------------------------->

\ /

\ /

update \ / commit

\/

Workbench #2 ----------------------------------------------------->

*: 从最新状态开始.开始工作前,要保证所有资源与最新的分枝状态一致.对于从头开始

的新项目,首先要连接服务器,设定存储那些资源文件.对于在服务器数据库中

已经有记录的项目,首先要通过更新来保证资源状态最新.如果本地的工作没有需要特别

保存的,可以直接把数据库中的最新版本Check Out As Project,或者Replace

With,Latest from Repository.

*: 进行本地工作,保存修改.

*: 同步.当做好提交工作的准备后,要和服务器数据库同步.

**: 首先应该更新(Update),检查所有的Incoming改变,输入到本地,看是否会影

响自己的工作,是否会造成冲突,破坏完整性等等.

**: 检查完更新后,可以确认自己的工作和最新的Branch内容是一致的,就可以提交(Commit)自己的修改了,标上适当的注释.

以上推荐步骤一定要严格执行,否则后果自负!!

4. 其他使用提示

commit: 当完成对文件或者项目的修改,需要确认修改,把最新的状态存储到数据库中去,

就需要执行提交(commit)操作.类似的,我们可以在Resource Perspective

或Java Perspective中的文件上使用右键,选择Team,Commit;或者在Synchronize视图中同时提交多个文件乃至整个项目.注意,每次提交时都会提示输入注释,这是

很重要的,作为每一个状态的说明和提示.

merge: 当我们需要把文件或者项目的不同版本进行比较或者替换时,可以在Resource Perspective或Java Perspective中的文件上使用右键,选择Team,Compare

With或者Team,Replace With来完成.进行比较时将打开一个比较编辑器,很好地表示不同

版本之间的差异,和Local History类似.

explorer: 如果要了解CVS数据库的内容情况,可以使用CVS Repository Exploring Perspective.我们可以点击Eclipse左上角的开启视图按钮,增加这一视图到左边

的视图浏览栏里.前面已经提到,HEAD代表CVS数据库里的主流内容.展开Versions,可以看

到以往的版本.另外,在右下角有数据库的历史记录标明每次修改的相关信息

.

[其他相关资源]

*: Eclipse Help中的Workbench User Guide中的GettingStarted ->Team Tutorial 和Task -> Working in team environment

*: https://www.wendangku.net/doc/6e15460773.html, CVS官方网站,可以从这里下载最新版本的CVS(Unix/Linux 平台版本)以及相关的文档和资料,

*: https://www.wendangku.net/doc/6e15460773.html,/cvstutorials.html 一个中文的CVS简单教程.

*: https://www.wendangku.net/doc/6e15460773.html, CVSNT,在Windows NT上的CVS服务器

*: https://www.wendangku.net/doc/6e15460773.html,/mailman/listinfo/cvsnt 关于CVSNT的使用问题的邮件列表. *: https://www.wendangku.net/doc/6e15460773.html,/cvsnt 另一个CVSNT安装问题的帮助和常见问题回答.

*: https://www.wendangku.net/doc/6e15460773.html, Windows平台下的图形化CVS客户端软件.

Eclipse零起步系列讲座(五)

===========================================

(前言)

自从有了eclipse, plug-in这么名词就越来越红火起来了, 虽然eclipse自带了jdt,pde

等plug-in, 但这些显然不能满足我们的基本需求,也不能完全体现出eclipse的强大之处

. 那这篇就开始要介绍一些关于第三方plugin的一些知识.

(正文)

[plug-in 的安装]

或许有很多人说, plug-in的安装还不简单, 解压copy重启动不就ok了? 呵呵, 当然这是一

种办法. 但是远不止这一种哦.

方法1: 解压+copy+启动

记得第二讲讲过,eclipse启动后会自动的搜索plugins目录下所有的plugin,然后在featu

res的控制下启动或禁用它们. 所以最简单的一个方法就是把你下载下来的第三方plugin

,解压后copy到这features和plugins这两个目录里面, 就一切ok了.

例如: 我们以eclipse_example这个plug-in为例(每个eclipse版本都有一个相应的examp le plug-in, 你只要去下载eclipse,就能找到这个plug-in的下载)

下载下来之后,解压到一个temp目录,

/

plugins/

org.eclipse.ui.examples.readmetool_2.1.0/

org.eclipse.swt.examples_2.1.0/

org.eclipse.help.examples.ex1_2.1.0/

org.eclipse.swt.examples.paint_2.1.0/

org.eclipse.sdk.examples_2.1.1/

org.eclipse.ui.examples.multipageeditor_2.1.0/

https://www.wendangku.net/doc/6e15460773.html,pare.examples_2.1.0/

org.eclipse.jdt.ui.examples.projects_2.1.0/

org.eclipse.ui.examples.propertysheet_2.1.0/

org.eclipse.ui.examples.javaeditor_2.1.0/

org.eclipse.team.examples.filesystem_2.1.0/

org.eclipse.swt.examples.controls_2.1.0/

https://www.wendangku.net/doc/6e15460773.html,youts_2.1.0/

https://www.wendangku.net/doc/6e15460773.html,uncher_2.1.0/

org.eclipse.swt.examples.ole.win32_2.1.0/

org.eclipse.sdk.examples.win32_2.1.1/

features/

org.eclipse.sdk.examples.win32_2.1.1/

org.eclipse.sdk.examples_2.1.1/

这个example里面有16个plugins和2个features, 然后我们这些plugins和features 拷到eclipse里面相对应的目录里去就ok了

如果你启动eclipse是用老的工作区, 那启动后, eclipse会发现和老的工作区配置相比

又多了两个feature, 所有它会跳出框提示你是否启动这个feature, 选是,然后再选重启

工作区,以使feature生效, 那整个安装过程就ok了

方法2: links方式(推荐方法)

这种方式比较好管理, 因为你装了1,2个plug-in还好, 如果装了好多好多, 那可就难办了, 你会发觉/plugins和/features那两个目录下有多的数不清的plugins和features, 你想删出一个插件,你都不知道该删哪个好. 那有什么其他安装plugin的方法吗? 有.

还是以eclipse example为例, 但是我们要对解压后的目录做一下调整, 变成这样的结构/

eclipse/ <--- 新加一个目录

plugins/

...

features/

...

然后在目录下创建一个links的目录, 在这个目录下创建一个文件叫

org.eclipse.sdk.examples.link,这文件中写入一下内容:

path= (就是example plug-in解压到的那个目录, 写这个目录路径时记得

把 "\" 写成 "/" )

然后,你就可以启动eclipse了, 效果和前面那个一样.

为什么呢? 理由很简单, 目录下的features和plugins两个目录只是ecli

pse搜索的默认路径, 如果你机器的别的目录中,也有plug-ins, 那就把那个目录的路径写到links目录下的一个link文件中即可, 那启动的时候也会去那个目录下搜索plugin.

方法3: 自动安装

要实现自动安装, 那就要先启动eclipse了, 然后选help->software update -> update manager, 这样会切换到install/update perspective, 这个透视图是专门为了安装和更新插件而设计的.

在eclipse有一个站点的概念, 就是说plug-in制作完后,可以封装后发布到一个站点上,

这样用户就可以通过eclipse平台连接到这个站点,进行自动更新.

例如, 我们以ajdt这个plugin为例(https://www.wendangku.net/doc/6e15460773.html,/ajdt , 我们要在线安装这个plug-in,

在features update视图中, 右键点击选new-> site bookmark,

在new site bookmark对话框中, name填 ajdt, URL 填

https://www.wendangku.net/doc/6e15460773.html,/technology/ajdt/update

然后确定, 你会发觉在features update视图中多了一个节点叫ajdt, 展开这个节点:

+ ajdt

+ AspectJ

- Eclipse AspectJ Development Tools 1.1.4 <-- 点击这个节点

然后,你会发觉在preview视图中有对这个plugin的简单介绍, 还有一个install按钮, 点

击此按钮,就进入了安装此plugin的过程, 然后只要一路往下next就可以了.安装完毕之后,重启, 就会自动生效了.

[卸载 plugin]

1. 对于安装方法1装上去的plugin, 呵呵, 没有很好的办法, 自己慢慢挑出来属于那个插件的plugins和features,手动删除

2. 对于安装方法2装上去的plugin, 那就简单了, 直接把links里面对应的那个文件给删了,就ok了.而且这样还有一个好处, 哪天你还想再装回去, 只要你plugin没删,把links

的那个文件在加进去就又可以用了.

3.其实对于1,3两种安装方法来说, 要卸载plugin的一个好方法是采用禁用方式较好. 具体就是在install/upate perspective中的install configuration视图里,选择eclipse platform 节点, 展开后会看到所有安装在当前eclipse平台下的features, 点击你要卸的feature, 然后在preview视图中,按disable按钮即可. 这样其实就是不让这个plugin 在平台中启动,并没有真正的删掉. 这样你以后想要重新用的话,还是按照前面的步骤,然后enable就可以了

[其他]

关于插件这个概念的一点澄清: 比如我说的eclipse example这个plug-in(1) 还有这个plugin目录下16个plugin(2)

这(1)和(2)不一样的, 其实plug-in是plugins和features的集合, 一个plug-in往往有多个plugins和features

但是我们平时叫起名字来就会发生这个概念上的混淆, 所有以后请一定区分开plug-in

和plugin

下一讲,我们要开始介绍一些实用的第三方插件了

Eclipse零起步系列讲座(六)

===========================================

(前言)

今天就介绍一下怎么在eclipse下面开发j2ee程序.

(正文)

[J2EE 插件一览]

用eclipse开发j2ee的话, 可用的插件插件可就太多了:

其中比较出名的有:

Lomboz: https://www.wendangku.net/doc/6e15460773.html,/projects/lomboz

MyEclipse: https://www.wendangku.net/doc/6e15460773.html,/(虽然好,但是不是免费的,个人不建议使

用,真有钱,用wsad)

Resin: http://membres.lycos.fr/resinforeclipse/

EclipseJ2EE: https://www.wendangku.net/doc/6e15460773.html,/

而j2ee服务器, 也有很多, 比较出名的有:

JBoss: https://www.wendangku.net/doc/6e15460773.html,/projects/jboss (支持EJB)

Tomcat: https://www.wendangku.net/doc/6e15460773.html,/tomcat/index.html

Resin: https://www.wendangku.net/doc/6e15460773.html,/

这些插件各有千秋, 而服务器也根据你开发程序的级别有所选择.

那接下来我介绍一个比较大众化的开发模式(Eclipse+Lomboz+JBoss/Tomcat)来开发j2ee 程序

[配置 Lomboz, JBoss/Tomcat]

这里我们使用Eclipse 2.1.3作为测试平台

1. JBoss下载

最新版本的JBoss是4.0.0 RC3, 可以从jboss主页当下来, 这个版本已经支持JBoss-AOP

方面的应用, 如果想开发aop方面

的程序,可以使用这个服务器, 下载下来之后解压到某个目录,假设叫

2. Tomcat下载

Tomcat现在的最新版本是5.0.x, 可以从tomcat的主页当下来,支持最新的jsp2.0,下载下

来之后解压到某个目录,假设叫

3. Lomboz下载

Lomboz的版本最新为Lomboz 3m8 preview3, 这个最新版本还在测试中,将支持最新的J2E E 1.4规范,不过我们这里测试的

版本是Lomboz 2.1.3版本的,其实功能上是差不多的. 只是对于的eclipse版本不同.

下载下来之后, 把包解压装到eclipse里即可(具体安装过程参看前一讲)

4. 配置lomboz中的jboss

启动eclipse,打开preference->lomboz, 让我们对lomboz的选项做一些设置.

这preference->lomboz这个页面, 设置JDK Tool.jar, (前提是你必须装一下jdk,最好是1.4)

然后选择preference->lomboz->server definitions, 这个页面就是用来配置各个服务

器的

在这里面预先定义了很多种服务器, 我们先来配置jboss

选择server type: jboss 3.2.x (因为最新版的jboss 4.0还没加进lomboz里, 就用3.2. x的配置凑合用用, 因为3.2.x和

4.0的配置都是一样的)

然后修改下面的属性: Application Server Directory:

Classpath Variable:

Classpath Variable: JBOSS400

Server Configuration: 已经有三个配置minimal/defa

ult/all, 可以选一个你合适的,

不懂的选default好了

Port: 默认是8080, 你可以自己修改

, 就是服务器开后的访问端口

如果你觉得4.0的配置在jboss3.2.x实在不爽, 也可以新建一个server type节点

在ECLIPSE_HOME/plugins/com.objectlearn.jdt.j2ee/servers 文件夹下新建一个后缀名为server的文件,然后根据已

有的server文件为模版,用文本编辑器编辑server文件。建立了一个新的server文件以后,也可以在Lomboz的属性页中

进行相应的设置。

5. 修改bug

照例说是没有这一步的,可没办法, 配置jboss这里就是有一个bug,要不到后面jboss就跑

不起来了

数电课程设计四人智力竞赛抢答器..

竞赛抢答器 要求: ?设计一个供四人参赛的抢答器,能准确分辨、记录第一个有效按下抢答键者,并用光指示; ?主持人没有宣布抢答开始时,抢答不起作用。主持人宣布抢答开始时,按“开始”键,抢答开始,同时启动计时器计时; 拓展要求: ?外加一个计时器,计时器计时采用正计数的方式,以加强现场气氛,增加紧迫感。若预定时间内无人抢答,自动给出信号停止抢答,以免冷场。倒计数定时器的时间精确到秒,最多为两分钟,一旦超出限时,则取消抢答权。 设计提示: ?关键是要存住第一抢答者的信息,并阻断以后抢答者的信号。可用集成的多组触发器或锁存器辅以逻辑门实现;; ?计时器可用加法计数器完成; ?各单元电路分别设计、调试,最后合成。 目录

1.前言 (1) 2.总体方案设计 (2) 2.1 方案说明 (2) 2.2方案优点 (4) 3.单元模块设计 (5) 3.1抢答器电路 (5) 3.2计时器,数字显示器电路 (8) 4.主要器件介绍 (14) 5.系统功能调试 (16) 6.总结与体会 (17) 【参考文献】 (18) 附录 (19) 1前言 关于这次设计的用于多人竞赛抢答的器件,在现实生活中很常见,尤其是在随着各种智益电视节目的不断发展,越来越多的竞赛抢答器被用在了其中,这种

抢答器的好处是不仅能够锻炼参赛选手的反应能力,而且能增加节目现场的紧张、活跃气氛,让观众看得更有情趣。可见抢答器在现实生活中确实很实用,运用前景非常广泛。 在知识竞赛中,特别是做抢答题时,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要有一个系统来完成这个任务。如果在抢答中,只靠人的视觉是很难判断出哪组先答题。这次设计就是用几个触发器以及三极管巧妙的设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。本文主要介绍了抢答器的工作原理及设计,以及它的实际用途。 这次设计的智力竞赛抢答器,主要是由三个部分构成:一个是由几个D触发器的构成的用于抢答的部分,用三个74LS192构成用于计时器 2.总体方案设计 2.1 方案说明: 以下设计的是智力抢答器的方案流程图:

嵌入式开发都需要学习什么

嵌入式开发都需要学习什么 这是一个初学者常问的问题,也是初学者问嵌入式该如何入门的根源。我感觉有两个方面,偏硬和偏软.我不认为嵌入式开发软件占绝对比重,相反,软硬件都懂,才是嵌入式高手所应该追求的,也是高手的必由之路。 硬件道路: 第一步:pcb设计,一般为开发板的电路裁减和扩充,由开发板原理图为基础,画出PCB和封装库,设计自己的电路。 第二步:SOPC技术,一般为FPGA,CPLD开发,利用VHDL等硬件描述语言做专用芯片开发,写出自己的逻辑电路,基于ALTER或XILINUX的FPGA做开发。 第三步:SOC设计,分前端,后端实现,这是硬件设计的核心技术:芯片设计.能做到这步,已经不属于平凡的技术人员。 软件道路: 第一步:bootloader的编写,修改,通过这步熟悉ARM硬件结构,学习ARM汇编语言,阅读ARM的芯片手册,感觉就是像操作51单片机一样操作ARM芯片.这一步最好的两个参考资料就是:芯片手册和bootloader源代码。 第二步:系统移植,驱动开发,我只做过linux方向,所以也推荐学习嵌入式linux系统,作为标准体系,他开源而且可以获得大量学习资料.操作系统是整个计算机科学的核心,熟悉kernel实属不易,kernel,驱动开发的学习,没有什么捷径,只有多读代码,多写代码,熟悉系统API..understanding linux kernel,linux device driver都是不可多得的好书,值得一看。 第三步:应用程序的编写,各种GUI的移植,qt,minigui都被大量采用,两种思想都类似,熟悉一种就可以。 软件道路中,驱动,系统应该是最深入的部分,不是短时间可以掌握的,需要有勇气和耐心。嵌入式开发,软硬结合,因为硬件条件比PC差很多,所以肯定会遇见不少问题,因此实践的勇气更加重要.有问题就解决问题,无数次的实验,也许是解决问题的必由之路。

学习嵌入式要什么基础

学习嵌入式要什么基础 嵌入式虽然在近几年内被ios和android开发占领了上风,但从本质来讲,ios 开发和android开发的根基还是嵌入式开发,而在嵌入式开发中驱动开发占有不可磨灭的地位,学习嵌入式才是王道。那么学习嵌入式要什么基础?如果没有这些嵌入式基础怎么办呢? 硬件知识: 无非就是写程序时调用硬件的功能是按照我们的逻辑来完成我们的要求,既然是与硬件打交道,那就应该熟练掌握硬件知识,如果你是电子专业的学生,那么这点要求对你来讲就很微不足道了吧,因为你已将掌握了写驱动的必要条件之一,驱动是软硬相结合的,那么在调试驱动的时候就需要我们通过调试硬件来完成驱动的功能。 c语言: c语言也被称为是上帝的语言,那么在嵌入式驱动当中是使用最广泛的语言开发,此外也有用汇编来开发驱动程序,但其效率可能稍微差点,从当前实际工作环境中看,我们现在开发驱动程序用的醉倒的就是c语言,那么对于计算机专业的人来讲,大部分人的第一种编程语言就是c语言,所以这门学科对于我们来讲并不是什么难事。 操作系统知识: 驱动分为两种,一种是没有操作系统的驱动程序,也就是直接用c语言来对硬件进行编程,那么另外一种就是有操作系统的驱动程序,需要集合操作系统的接口来编写驱动程序才可正常使用,当然在两种模式中,使用最多且就业需求最多的就是第二种有操作系统的驱动程序,所以想要写驱动程序首先需要掌握操作系统的相关知识,而嵌入式的驱动程序大多是用linux系统,所以应该熟练掌握linux操作系统是成为开发嵌入式驱动的必要条件,但切记不是唯一的条件,因为还有wince等其他操作系统。 以上就是学习嵌入式要什么基础,概括的嵌入式驱动三大基础内容。那么没有这些基础怎么办呢?如果这些基础你相对薄弱,可以到华清远见零基础的班级进行培训,会让你对嵌入式有全面并且丰富的了解。如果你对这些基础已经有一定的了解,那么来参加星创客的

用心灵去倾听习题及答案.doc

12* 用心灵去倾听 轻松起步 1 我会给加点的字选择正确的读音。(用“√”表示) 水槽.(zǎo cáo) 多待.几天(dāi dài) 沉默.(mō mò) 的.确(de dí) 拨.号码(bō bá) 对不.起(bú bù) 2 巧手填词语,我能快又准。 一( )小( ) ( )高( )烈 无( )不( ) 3 比一比,再组词。 4 词语搭配我最棒。 ???????)()()()(渴望 ???????)()()()(感到 奥运?? ? ? ??? )()()( )( 5 我能准确地给加点的词换上一个意思相近的词。 (1)我想可爱的小鸟的确..到了另一个世界。( ) (2)我非常..想认识苏珊,认识这个从未谋面却如同我第二个母亲的人。( ) (3)为什么这只整天唱歌的小鸟,突然..一动不动了呢?( ) 6 搜集有关奥运会的资料,回答下列问题。 (1)奥运会的全称是__________,是世界性的运动会,每______年举行一次。

(2)奥运会的会徽是______,代表________,格言是________、_______、________。 (3)2008年第______届奥运会在_______国的______市举行,这届奥运会的三大主题是_________、__________、__________。 快乐提升 1 细读课文,就有发现。 话机里的小精灵叫________代号为_________又叫_________。 答案:问讯处105 苏珊 2 读一读,再仿写一段话。 她让我先拿出冰箱里的冰块,然后把冰块倒进厨房的水槽里,再拿起一块放到受伤的手指上。我照着做,手指立刻不疼了。 ______________________________ 3 学了《用心灵去倾听》,我想对苏珊说的话是:________________________ 4 学了《用心灵去倾听》后,我的感受是___________________________ 习作园地 生活中,人与人之间需要相互关心、帮助。这次习作,我们就来写一写体现人们相互关爱的事情。 写作小锦囊 1.选材要真实,最好是自己亲身经历或亲眼见到的,体现人们相互关爱的事。 2.要把事情的来龙去脉交代清楚。 3.叙事时不能忽视对人物的语言、神态、动作的描写,特别是人物的心理活动要写具体,以便更好地表达文章的中心。 范文欣赏 一元钱的感动 在我家楼下31路公交车站旁,有一个年过60的老爷爷每天都在报亭卖报。 一天,一辆车驶了过来,等待的人一拥而上。这时,只见一个人把身上所有的口袋都翻了一遍,可零钱好像在跟他玩捉迷藏,怎么找也找不到。无奈,他只好到老爷爷的报亭里换零钱,可偏偏找不开。眼看着汽车就要开了,老爷爷说:“同志,你要是急用的话,我先借给你一块钱,下次你再还好了。”那人接过一元钱,转身上车去了。 寒来暑往,像这样的事,每天都在报亭里重复上演,可就是没有人来还过钱。 老爷爷借钱的事在这一带传开了,邻居们都笑他傻,因为他要卖10份报纸才能挣到一块钱。老爷爷说:“还不还钱是别人的事,问我借钱我不能不给!”但老爷爷内心里还是希望有人能来还钱的。 终于有一天,一个小女孩来到了报亭,她对老爷爷说:“爷爷,这是上次您借给我的一元钱,我妈妈让我谢谢您,这袋苹果是她专门给您买的。”接过小姑娘还来的一元钱和红红的苹果,老爷爷心里比卖了10份报纸还高兴。 从此,报亭里多了苹果淡淡的清香,再遇到有人换零钱,老爷爷比以前更热情了。 写作心得 ________________________________

嵌入式入门小解

1.与传统的PC机相比,嵌入式系统有哪些特点? (1)嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。 (2)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。其系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。 (3)嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 (4)嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发 (5)主要是嵌入式一般都是专用的设备,而且,系统可裁剪,包括硬件功能,操作系统,应用软件,都很方便的裁减。 2.什么是冯诺依曼结构?什么是哈佛结构?两者有什么区别? 冯诺依曼结构:冯诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。 哈佛结构:哈佛结构是一种存储器结构。使用哈佛结构的处理器有:AVR、ARM9、ARM10、ARM11等。 区别:区别是地址空间和数据空间分开与否冯诺依曼结构数据空间和地址空间不分开哈佛结构数据空间和地址空间是分开的。3.什么是CISC?什么是RISC?两者各有什么优缺点? RISC(reduced instruction set computer)是指精简指令集计算机。 CISC(Complex instruction set computer)是指复杂指令集计算机。

业余无线电基础知识及使用常识.

业余无线电基础知识及使用常识 为帮助会员简单了解业余无线电, 更好地使用无线电,在网上寻找了一些关于业余无线电基础知识及使用常识,仅供大家参考,希望对各位有所帮助。一、业余无线电通信的含义,业余无线电从诞生至今历时百年。1993 年开始,中国无线电运动协会开始发展个人会员,我们加入的就是此组织。业余无线电通信在无线电通信领域起着服务,辅助救援、应急通信等重要作用。 1、业余电台:是经过国家主管部门正式批准,业余无线电爱好者为了试验收发信设备、进行技术探讨、通信训练和比赛而设立的电台。业余电台分为集体电台、个人电台两种。业余无线电爱好者在世界上普遍称为“HAM”,汉语解释为“火腿”,故又称无线电爱好者为“火腿”。 2、业余电台的分区:1—北京,2—黑龙江、辽宁、吉林,3—河北、天津、内蒙、山西。4—上海、山东、江苏。5—浙江、江西、福建,6—安徽、河南、湖北,7—湖南、广东、广西、海南,8—四川、重庆、贵州、云南,9—陕西、甘肃、宁夏、青海,φ—新疆、西藏,BVφ~BV9—台湾,VR2—香港,XX9——澳门。 3、业余电台的呼号:也就是每个人在业余无线电通信中所使用的名字,这个名字在全国及全球都是唯一的。业余电台呼号由中国无线电运动协会核批,呼号由三个部分组成:冠字、业余分区、后缀。 (1冠字:由1—2 个英文字母或字母和数学组成。联合国下设的专业机构“国际电信联盟”(即ITU划分给中国的呼号前缀共 有3 个系列:BAA—BZZ,XSA—XSZ,3HA—3UE。我国规定业余电台使用以字母B 开头的一个系列。(特定原因,香港VRZ、澳门XX。我国业余电台第二个字母包含了电台性质,如:BY 代表集体台,BT 代表特设电台(重大活动时,BV 代表台湾省, BZ 是在集体台上使用的个人呼号。BA、BD、BG 分别表示持有一级、二级和三级、四级《操作证书》的个人业余电台。 (2业余分区:用一位数字表示,如河北为3。

!嵌入式系统开发资料(入门必备)

获取更多权威电子书请登录https://www.wendangku.net/doc/6e15460773.html, ARM嵌入式系统开发综述ARM开发工程师入门宝典

获取更多权威电子书请登录https://www.wendangku.net/doc/6e15460773.html, 前言 嵌入式系统通常是以具体应用为中心,以处理器为核心且面向实际应用的软硬件系统,其硬件是整个嵌入式系统运行的基础和平台,提供了软件运行所需的物理平台和通信接口;而嵌入式系统的软件一般包括操作系统和应用软件,它们是整个系统的控制核心,提供人机交互的信息等。所以,嵌入式系统的开发通常包括硬件和软件两部分的开发,硬件部分主要包括选择合适的MCU或者SOC 器件、存储器类型、通讯接口及I/O、电源及其他的辅助设备等;软件部分主要涉及OS porting和应用程序的开发等,与此同时,软件中断调试和实时调试、代码的优化、可移植性/可重用以及软件固化等也是嵌入式软件开发的关键。 嵌入式系统开发的每一个环节都可以独立地展开进行详细的阐述,而本文的出发点主要是为嵌入式开发的初学者者提供一个流程参考。因为对于初学者在面对一个嵌入式开发项目的时候,往往面临着诸多困难,如选择什么样的开发平台?什么样的器件类型?在进行编译时怎样实现代码优化?开发工具该如何选择和使用?在进行程序调试时应该注意那些问题以及选择什么样的嵌入式OS 等等。希望通过本文,能帮助初学者了解有关ARM嵌入式系统开发流程。

获取更多权威电子书请登录https://www.wendangku.net/doc/6e15460773.html, 目录 前言 (2) 1 嵌入式开发平台 (4) 1.1 ARM的开发平台: (4) 1.2 器件选型 (7) 2 工具选择 (11) 3 编译和连接 (13) 3.1 RVCT的优化级别与优化方向 (16) 3.2 Multifile compilation (21) 3.3调试 (22) 4 操作系统 (23) 4.1 哪里可以得到os 软件包 (Open Source and Linux Kernel) (25) 4.2 安装镜像 (26) 4.3 交叉编译 (26) 总结 (27)

嵌入式系统开发基础——基于ARM9微处理器C语言程序设计各章习题

第一章习题 1。嵌入某种微处理器或单片机的测试和控制系统称为嵌入式控制系统(Embedded Control System)。 在应用上大致分为两个层次,以MCS-51为代表的8位单片机和以ARM技术为基础的32位精减指令系统单片机 2。目标机上安装某种嵌入式操作系统和不安装嵌入式操作系统, 以MCS-51为代表的8位单片机不安装嵌入式操作系统。 3。32位、16位和8位 5。32位、16位 6。在大端格式中,字数据的高字节存储在低字节单元中,而字数据的低字节则存放在高地址单元中。 在小端存储格式中,低地址单元存放的是字数据的低字节,高地址单元中,存放的是数据的高字节。 第二章习题 (略) 第三章习题 1。 (1)寄存器大约有17类,每个的定义都是寄存器名字前面加一个小写”r” (2)在56个中断源中,有32个中断源提供中断控制器,其中,外部中断EINT4~EINT7通过“或”的形式提供一个中断源送至中断控制器,EINT8~EINT23也通过“或”的形式提供一个中断源送至中断控制器。 第四章习题 1,56个中断源,有32个中断源提供中断控制器 2,两种中断模式,即FIQ模式(快速模式)和IRQ模式(通用模式)。通过中断模式控制寄存器设置。 3,常用的有5个,它们是中断模式控制寄存器,控制中断模式;中断屏蔽寄存器,控制中断允许和禁止;中断源挂起寄存器,反映哪个中断源向CPU申请了中断;中断挂起寄存器,反映CPU正在响应的中断是哪个中断源申请的;中断优先级寄存器,它和中断仲裁器配合,决定中断优先级。

4,中断源挂起寄存器,反映哪个中断源向CPU申请了中断;中断挂起寄存器,反映CPU正在响应的中断是哪个中断源申请的。中断源向CPU申请了中断如果该中断源没被屏蔽并且没有和它同级或高级的中断源申请中断,才能被响应。系统中可以有多个中断源向CPU申请中断,但同一时刻CPU只能响应一个最高级的中断源中断请求。中断源挂起寄存器和中断挂起寄存器反映了中断系统不同时段的状态。 5,进入中断服务程序先清中断源挂起寄存器和中断挂起寄存器;中断结束,将该中断源屏蔽。 6,将该中断源屏蔽取消;将该中断源屏蔽。 第五章习题 1,S3C2410芯片上共有117个多功能的输人/输出引脚,它们是。 ?1个23位的输出端口(端口A); 。1个11位的输入/输出端口(端口B); 。1个16位输入/输出端口(端口C); ?1个16位输入/输出端口(端口D); ?1个16位输入/输出端口(端口E); ?1个8位输人/输出端口(端口F); ?1个16位输入/输出端口(端口G); 。1个11位的输入/输出端口(端口H)。 2,S3C2410 I/O口的控制寄存器、数据寄存器、上拉电阻允许寄存器的作用? 端口控制寄存器定义了每个引脚的功能;与I/O口进行数据操作,不管是输入还是输出,都是通过该口的数据寄存器进行的,如果该端口定义为输出端口,那么可以向GPnDA T的相应位写数据。如果该端口定义为输人端端口,那么可以从GPnDAT的相应位读出数据。 端口上拉寄存器控制每个端口组上拉电阻的使能/禁止。如果上拉寄存器某一位为0,则相应的端口上拉电阻被使能,该位做基本输入/输出使用,即第1功能;如果上拉寄存器某一位是1,则相应的端口上拉电阻被禁止,该位做第2功能使用。 5, rGPBCON=rGPBCON& 0xFFFFFC∣1; //蜂鸣器配置,PB1口接蜂鸣器,输出delay(1000); rGPBDAT & = 0xFFFFFE; //蜂鸣器响,低电平有效 rGPBDAT∣=1; // 蜂鸣器停 第六章习题 3,S3C2410 UART波特率如何确定?

幼儿园英语教师本学期工作计划

幼儿园英语教师本学期工作计划 【篇一】 我认为新学期新开始 , 园里的一切都要以 " 新" 字打头,尤其是我 接到的新小班的小朋友,更是从零起步,是完全空白的一页,需要我们 教师协助他们在上面画上漂亮的图画。所以作为教师的我们非常重 要,要在接到每一批新生的时候,在原来的经验上持续的创新, 给他们画 上崭新完美的一页。要做好这个点 , 肯定离不开在做之间要实行周密的计 划 , 对小朋友的学习 , 常规 , 家长,各个方面,现计划如下: 一、思想工作 本学期,我仍将以一名更为优秀教师的要求去规范自己的言行, 热爱本职工作,热爱幼儿园,自觉遵守幼儿园的各项规章制度,关爱 每一位幼儿,坦诚面对每一位家长,积极认真研读幼儿教育的相关书 籍,认真准备、组织每一次教育活动,按新《纲要》的理念创设适合 幼儿发展的心理、物质环境??多反思,多听,多做,勤于实践,促 动自身专业素质的提升与发展。 二、水平发展 本学期,我将继续吸取教训、总结经验,争取从以下几方面获得 提升: 教学方面:我将认真准备幼儿活动所需材料; 写好每一次教育活 动计划 ; 多学习,把先进的幼儿教育经验使用到自己的教学中 ; 多反思,结合自己班幼儿情况实施收效好的教育方法 ; 多到平行班级走走、看看、听听、取长补短,促动 幼儿发展 ; 多和有经验的教师交流,争取获得她们的指导、协助。

课题实践中:细心记录专家们的教育理念,认真揣摩,多提问,使自己在教学工作中的疑惑得到有效指导并付诸实践。 生活中:热情待人,友爱助人,谦虚为人,团结向上,争取和同事们成为朋友。 特色教学中:细心分析幼儿情况,认真准备英语磁带、道具,提前编排好适合幼儿的英文舞蹈、律动,根据幼儿掌握情况即时做出调整,继续带好本班双语特色,让幼儿在刚刚接触到英文的时候,爱上英文,对英文产生浓厚的兴趣。 班级工作中: 严格要求自己,以身作则地做好班级工作。 三、努力方向: 1,使兴趣成为开启幼儿英语教育的大门。 首先,在教育目标的制订上,我立足幼儿期幼儿的特点,将目标制订得浅显易接受,我们的英语教育注重口语培养,以听说为主,不搞认读,坚持听说整合,先听后说,以听促说,自然习得的原则,培养幼儿学习的兴趣和对语言的敏感性,培养幼儿初步使用两种语言实行交际的水平,培养幼儿良好的学习习惯和各种基础技能。 2,在教育内容的选择上,适当整修教学内容的深浅度,我们力求符合幼儿的身心特点,注重选择幼儿亲自经历和日常生活中感兴趣、能理解、易吸收的内容,且生动有趣,富有童趣,又贴近幼儿生活与情感喜好,其难度既符合各年龄幼儿的发展特点,又略高于幼儿的年龄水平,使幼儿既不至于感到太难,又感到有一定的挑战性。 3,在教学方法上,我以游戏为主,各种教学方法灵活交替使用, 以此吸引幼儿,抓住幼儿,从而有效的调动幼儿学习的兴趣。我还经常借助实物、直观教具和模型玩具等幼儿喜爱的事物,让幼儿在玩乐中学习英语,提升了学习英语的兴趣。如:在教幼儿学水果类单词时,

成为一个正式的嵌入式开发工程师,需要知道的嵌入式系统开发7大技巧

成为一个正式的嵌入式开发工程师,需要知道的嵌入式系统开发7大技巧成为一个正式的嵌入式开发工程师。它是一个艰辛的过程,需要开发人员维护和管理系统的每个比特和字节。从规范完善的开发周期到严格执行和系统检查,开发高可靠性嵌入式系统的技术有许多种。 今天给大家介绍7个易操作且可以长久使用的技巧,它们对于确保系统更加可靠地运行并捕获异常行为大有帮助。 1用已知值填充ROM 软件开发人员往往都是非常乐观的一群人,只要让他们的代码忠实地长时间地运行就可以了,仅此而已。微控制器跳出应用程序空间并在非预想的代码空间中执行这种情况似乎是相当少有的。然而,这种情况发生的机会并不比缓存溢出或错误指针失去引用少。它确实会发生!发生这种情况后的系统行为将是不确定的,因为默认情况下内存空间都是0xFF,或者由于内存区通常没有写过,其中的值可能只有上帝才知道。 不过有相当完备的linker或IDE技巧可以用来帮助识别这样的事件并从中恢复系统。技巧就是使用FILL命令对未用ROM填充已知的位模式。要填充未使用的内存,有很多不同的可能组合可以使用,但如果是想建立更加可靠的系统,最明显的选择是在这些位置放置ISR fault handler。如果系统出了某些差错,处理器开始执行程序空间以外的代码,就会触发ISR,并在决定校正行动之前提供储存处理器、寄存器和系统状态的机会。 2检查应用程序的CRC 对嵌入式工程师来说一个很大的好处是,我们的IDE和工具链可以自动产生应用程序或内存空间校验和(Checksum),从而根据这个校验和验证应用程序是否完好。有趣的是,在许多这些案例中,只有在将程序代码加载到设备时,才会用到校验和。 然而,如果CRC或校验和保持在内存中,那么验证应用程序在启动时(或甚至对长时间运行的系统定期验证)是否仍然完好是确保意外之事不会发生的极好途径。现在一个编程过的应用程序发生改变的概率是很小的,但考虑每年交付的数十亿个微控制器以及可能恶劣

无线电发射与接收电路

无线电发射与接收电路

————————————————————————————————作者:————————————————————————————————日期:

简易无线遥控发射接收设计--- 315M遥控电路 OOK调制尽管性能较差,然而其电路简单容易实现,工作稳定,因此得到了广泛的应用,在汽车、摩托车报警器,仓库大门,以及家庭保安系统中,几乎无一例外地使用了这样的电路。 早期的发射机较多使用LC振荡器,频率漂移较为严重。声表器件的出现解决了这一问题,其频率稳定性与晶振大体相同,而其基频可达几百兆甚至上千兆赫兹。无需倍频,与晶振相比电路极其简单。以下两个电路为常见的发射机电路,由于使用了声表器件,电路工作非常稳定,即使手抓天线、声表或电路其他部位,发射频率均不会漂移。和图一相比,图二的发射功率更大一些。可达200米以上。 图一 图二 接收机可使用超再生电路或超外差电路,超再生电路成本低,功耗小可达100uA左右,调整良好的超再生电路灵敏度和一级高放、一级振荡、一级混频以及两级中放的超外差接收机差不多。然而,超再生电路的工作稳定性比较差,选择性差,从而降低了抗干扰能力。下图为典型的超再生接收电路。

超外差电路的灵敏度和选择性都可以做得很好,美国Micrel公司推出的单片集成电路可完成接收及解调,其MICRF002为MICRF001的改进型,与MICRF001相比,功耗更低,并具有电源关断控制端。MICRF002性能稳定,使用非常简单。与超再生产电路相比,缺点是成本偏高(RMB35元)。下面为其管脚排列及推荐电路。 ICRF002使用陶瓷谐振器,换用不同的谐振器,接收频率可覆盖300-440MHz。MICRF002具有两种工作模式:扫描模式和固定模式。扫描模式接受带宽可达几百KHz,此模式主要用来和LC振荡的发射机配套使用,因为,LC发射机的频率漂移较大,在扫描模式下,数据通讯速率为每秒2.5KBytes。固定模式的带宽仅几十KHz,此模式用于和使用晶振稳频的发射机配套,数据速率可达每秒钟10KBytes。工作模式选择通过MICRF002的第16脚(SWEN)实现。另外,使用唤醒功能可以唤醒译码器或CPU,以最大限度地降低功耗。

嵌入式开发的必备知识

嵌入式开发的必备知识 嵌入式操作系统简介 嵌入式操作系统(EmbeddedSystem)是指以应用为中心、以计算机技术为基础,软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。举例来说,大到油田的集散控制系统和工厂流水线,小到家用VCD机或手机,甚至组成普通PC终端设备的键盘、鼠标、硬盘、Modem等均是由嵌入式处理器控制的。 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set TopBox)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。 为什么要学嵌入式软件开发?好处是什么? (1)目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统、MPEG技术、无线通信协议等),掌握这些新技术的人当然很找。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。

幼儿园英语教师本学期工作计划

幼儿园英语教师本学期工作计 划 The work plan is a prerequisite for improving work efficiency. A complete work plan can make the work progress in an orderly manner, orderly, and more efficiently and quickly. ( 工作计划 ) 单位:______________________ 姓名:______________________ 日期:______________________ 编号:YB-JH-0315

幼儿园英语教师本学期工作计划 【篇一】 我认为新学期新开始,园里的一切都要以"新"字打头,尤其是我接到的新小班的小朋友,更是从零起步,是完全空白的一页,需要我们教师帮助他们在上面画上漂亮的图画。所以作为教师的我们非常重要,要在接到每一批新生的时候,在原来的经验上不断的创新,给他们画上崭新完美的一页。要做好这一点,肯定离不开在做之间要进行周密的计划,对小朋友的学习,常规,家长,各个方面,现计划如下: 一、思想工作 本学期,我仍将以一名更为优秀教师的要求去规范自己的言行,热爱本职工作,热爱幼儿园,自觉遵守幼儿园的各项规章制度,关爱每一位幼儿,坦诚面对每一位家长,积极认真研读幼儿教育的相

关书籍,认真准备、组织每一次教育活动,按新《纲要》的理念创设适合幼儿发展的心理、物质环境……多反思,多听,多做,勤于实践,促进自身专业素质的提高与发展。 二、能力发展 本学期,我将继续吸取教训、总结经验,争取从以下几方面获得提高: 教学方面:我将认真准备幼儿活动所需材料;写好每一次教育活动计划;多学习,把先进的幼儿教育经验运用到自己的教学中;多反思,结合自己班幼儿情况实施收效好的教育方法;多到平行班级走走、看看、听听、取长补短,促进 幼儿发展;多和有经验的教师交流,争取获得她们的指导、帮助。 课题实践中:细心记录专家们的教育理念,认真揣摩,多提问,使自己在教学工作中的疑惑得到有效指导并付诸实践。 生活中:热情待人,友爱助人,谦虚为人,团结向上,争取和同事们成为朋友。 特色教学中:细心分析幼儿情况,认真准备英语磁带、道具,

零起步轻松学电子电路》┊蔡杏山[.PDF]

新课标下高三英语词汇教学 西安市长安区第二中学杨艳 在教学中,常常听到高三的老师说:“现在高三了,做阅读理解时,很多词学生都不知道,好像高一,高二没学过似的。”也常常听到学生说“单词最麻烦了。老记不住。记住了又忘记!”的确,作为英语最基础的词汇,它不知道使多少老师和学生头疼。 英国著名语言学家D.A.Wilkins曾说:“without grammar ,very little can be conveyed。without vocabulary ,nothing can be conveyed。”(没有语法,表达甚少;而没有词汇,表达为零。)。纵观历届高考,单项选择、完形填空、短文改错、单词拼写乃至阅读理解的考查无一不是对词汇的考查,词汇的缺乏在很大程度上阻碍了学生英语水平的提高.并严重制约了学生学习英语的积极性。因此改进英语词汇教学方法,教会学生有效地学习或复习英语词汇尤为重要,那么怎样才能做到有效呢? 一、高三英语词汇复习教学的现状 1.教师没有有效指导 教师们都知道词汇犹如盖大楼的砖块,没有足够的词汇积累,英语是学不好的。但是,在实际教学中,教师往往重理论灌输而轻实际练习。很多教师认为,背单词是学生自己的事,并没 有认真地对学生的词汇学习进行指导。 2.学生只是机械记忆,却无法学以致用 他们有的是按照课本的单元顺序,有的是把考试大纲要求掌握的词汇按字母表顺序,一个一个地背,习惯将英文字母拼读出来,习惯用中英文对照的方式去记忆单词,学生把大量的时间都用在记单词上,但是却无法正确运用所学英语词汇。 二、高三英语词汇复习教学的策略 一般情况下,高三的英语复习是通过三轮来完成的。一轮复习是最全面、最基础的复习,二轮是语法专项复习,最后一轮是应试复习。而词汇复习是放在第一轮复习里作为重要内容来进行的。 (1)认真研究考纲及考试说明,把大纲所要考查的重点词汇、短语及语法知识落实到教材中,在教材的语境中加深对这些重点、难点和考点的理解和记忆。高考《考试大纲》也明确要求“在词汇学习上,应注意在特定的,现实的语境中接受、掌握词汇,并重点注意常用词的实际运用。”所以,作为教师要强化学生的语境意识,通过语境体会词义,使他们认识到词义的多层次性。 (2)增强词汇记忆方法训练. 扩展和巩固词汇量词汇的学习方法有很多.学生词汇量的扩大不是一朝一夕的事。但是如果教师能在平时的教学中给学生更多的关于词汇记忆的指导.并在词汇教学中适当进行英语语言文化的渗透.学生就会在英语词汇学习中取得事半功倍的效果进入高三后教师依然要引导学生利用英语构词法、联系记忆法、分类记忆法、猜词造句法等多种方法快速记忆单词教师在授课时也可通过对具体的单词进行反复演练.让学生真正能体会到这些方法对他们记单词所起的作 (3)鼓励学生熟读高中教材,提高常用词汇的浮现率 中学英语教材要求高中学生掌握的词汇近3500个.其中大部分的单词都是在课本中多次出现的.只是其词性和词义不尽相同如果让学生孤立地记忆和使用这些词汇,其难度可想而知。

嵌入式学习的八大步骤及方法(精)

嵌入式学习的八大步骤及方法 一:嵌入式 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 编程技术及实现方法。 五:数据结构与算法 数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用, 对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要

吉他入门的书籍

吉他入门的书籍 导读:我根据大家的需要整理了一份关于《吉他入门的书籍》的内容,具体内容:从零起步学吉他的简介。下面是我给大家整理的,供大家参阅!从零起步学吉他简介《从零起步学吉他》是2009年由上海音乐学院出版社出版的图书,该书作者是杜新春。该书以... 从零起步学吉他的简介。下面是我给大家整理的,供大家参阅! 从零起步学吉他简介 《从零起步学吉他》是2009年由上海音乐学院出版社出版的图书,该书作者是杜新春。 该书以从"零"起步入手教你学吉他。 从零起步学吉他作者 杜新春——来自草原的雄鹰,国内资深的吉他音乐人、著作人,中国音乐家协会吉他学会专家会员。自幼酷爱音乐,有着深厚的音乐功底与极高的音乐天赋。八十年代开始研习民谣吉他与电吉他,同时专修乐理及和声理论知识。自九十年代以来,长期从事吉他教学及乐队演出活动,积累了丰富的教学及演奏经验。21世纪正式从事出版编辑工作,先后出版的吉他专著已达数二十余部。其中,最具影响力与号召力的作品有《吉他自学经典教程》、《从零起步学吉他轻松入门》、《吉他培训12课》、《吉他入门三月通》、《吉他弹唱精品大全》等。这位才华横溢、造诣颇深的吉他音乐人,正以自己勇于开拓、不断进取的精神而博得广大吉他爱好者的喜爱与推崇。

从零起步学吉他目录 第一课吉他概况 第一节吉他的起源及发展第二节吉他的种类及构造 一、吉他的种类 二、吉他的构造 第三节吉他的选购与保养 一、吉他的选购 二、吉他的保养 第二课入门基础知识详解第一节基础乐理 一、自然音阶 二、常用记号 三、其它记号 第二节手指标记 一、左手标记 二、右手标记 第三节乐谱知识 一、简谱 二、六线谱 三、方格谱(和弦图) 第三课持琴姿势与定音调弦

嵌入式软件开发入门教程

C语言是嵌入式软件开发人员必须熟练掌握的编程语言。作为C语言的初学者重点掌握基本数据类型、复合数据类型、流程控制、数组、指针、函数这几方面的基本知识。本人建议通过观看视频教学的方式进行学习,这样既快速又通俗易懂,当然前提是必须找到优质的教学视频资源。此外,可以配合入门书籍谭浩强的《C语言程序设计》进行学习。如果想深入的学习可以参考美国人写的人民邮电出版社出版的《C Primer Plus》。 方法/步骤2: C语言的磨炼 掌握了基本的C语言语法以后并不代表我们就学会了C语言,关键是如何灵活的去运用。我们可以练习编写C语言学习书籍的课后习题或者在网站上搜索C语言笔试题库进行练习。也可以百度寻找经典的C 语言编程案例进行学习。总之,就是将C语言运用的越熟练越好。至于开发环境可以选择VC++ 6.0 或者linux。 方法/步骤3: 硬件电路基础

嵌入式软件工程师还必须懂一些硬件电路的基本知识。当然,对于刚入门的软件开发人员没必要非常精通电路技术,熟悉基本的电子元器件的功能即可。例如,电阻、电容、电感的作用以及符号,三极管、MOS管导通截止的条件,微处理器、晶振的基本概念等。至于,以上这些基本知识我们可以通过童诗白的第四版《模拟电子技术基础》和网上查阅的资料进行学习。 方法/步骤4: 如何看懂原理图 作为嵌入式软件开发人员我们经常会和硬件打交道,我们的程序最终会被烧录到微处理器内部运行。所以,我们必须要会看硬件原理图,看懂之后才知道如何写程序。首先,我们要知道嵌入式硬件最小系统的组成部分,包括电源电路、晶振、微处理器、复位电路。然后以微处理器为中心向四周查看,主要看我们可以操纵的外设资源。以上知识的学习我们不妨经常浏览一下某些知名IT网站其他人上传的经典原理图。 方法/步骤5: 基本外设知识

4.2.1 单结晶管触发电路[共4页]

零起步轻松学电工常用电子电路(第2版) 148 电工技术系列 4.2.1 单结晶管触发电路 1.单结晶管 (1)符号、结构和等效图 单结晶管又称双基极二极管,它除了有一个发射极E 外,还有两个基极B 1、B 2。单结 晶管的电路符号和结构如图4-10(a ) 、(b )所示。 图4-10 单结晶管的电路符号、结构和等效图 单结晶管的制作过程:在一块高阻率的N 型半导体基片的两端各引出一个铝电极,分别称为第一基极B 1和第二基极B 2,然后在N 型半导体基片一侧埋入P 型半导体,在两种半导体的结合部位就形成了一个PN 结,再在P 型半导体端引出一个电极,称为发射极E 。 单结晶管的等效图如图4-10(c )所示。单结晶管B 1、B 2极之间为高阻率的N 型半导体,故两极之间的电阻R BB 的阻值较大(为4~12k Ω)。以PN 结为中心,将N 型半导体分为两部分,PN 结与B 1极之间的电阻用R B1表示,PN 结与B 2极之间的电阻用R B2表示,R BB = R B1+R B2,E 极与N 型半导体之间的PN 结可等效为一个二极管,用VD 表示。 (2)工作原理 为了分析单结晶管的工作原理,在发射极E 和第一基极B 1之间加电压U E ,在第二基极B 2和第一基极B 1之间加电压U BB ,具体如图4-11所示。下面分几种情况来分析单结晶管的工作原理。 ① 当U E = 0时,单结晶管内部的PN 结截止。由于B 2、B 1之间加有电压U BB ,有电流I B 流过R B2和R B1,这两个等效电阻上都有电压,分别是U RB2和U RB1。从图4-11中不难看出,U RB1与U BB 之比等于R B1与(R B1+R B2)之比,即 RB1B1BB B1B2U R U R R =+

嵌入式工程师入门所需的基础能力

嵌入式工程师入门所需的基础能力 [缘起] 我自2002年接触单片机至今,已走过了15个年头。虽不是嵌入式应用行业出色的工程师或行业大牛,然一直都在嵌入式开发和物联网应用领域从事教育和开发工作。这几天正好为新学期的《物联网硬件技术基础》备课,对嵌入式应用工程师或者硬件工程师的入门所需基础能力做了小小的梳理。 这对于已在嵌入式应用行业耕耘多年的技术大牛来说,意义已经不大了,然而,对于刚刚入门或准备入门的嵌入式应用开发者来讲,我就斗胆和大家分享一下我体会和经验了。 【如何才算嵌入式工程师入门了?】 嵌入式应用工程师是一个软硬件兼顾的职业。当然,到了具体的工作岗位可能会有嵌入式硬件工程师和嵌入式软件工程师之分等。不管怎么细分,只要是做嵌入式应用开发的,你设计的软件就要在硬件上跑,你不熟悉硬件平台可以吗?你设计的硬件,也要考虑软件上面的事情,没有一定软件设计思维也是不行的。 对于一个嵌入式应用开发的入门者来说,是没有软件和硬件的偏向之分的,至少我是这样认为。因为对于基础的技能,必要有一个全面的掌握,这样你才能在嵌入式开发的道路上走得更远,才能具备从入门走向优秀的可能。 那么,如何才算是嵌入式工程师入门了呢? 我认为,至少能够独立设计和制作出一款嵌入式应用系统,就算是很少很小的系统也可以。 那么,要完成一款嵌入式应用小系统,你至少要做下面的一些工作: 1.设计并确定系统的功能模块,形成初步的设计概要文档。 2.选择嵌入式微处理器,确定系统的功能框图。 3.对主控芯片的引脚进行定义,形成引脚功能分配表。 4.根据功能框图,对主要的元器件进行选型。 5.设计并确定各个功能模块的电路设计细节。 6.利用Protel等电路设计软件,设计电路原理图。 7.原理核查无误,开始设计PCB图,并形成BOM表。 8.选择合适的厂商,委托其制作电路板,并购买电子元器件。 9.焊接电路板,并进行简单的测试,确保不短路、无虚焊等。 10.编写程序,对各个功能模块进行测试,确定都能正常跑起来。 11.编写和测试相应的应用程序。 12.整理资料,形成开发文档,如有必要,还可以记录自己的开发心得。 也许有人要问,入个门真的要这么复杂吗?现在有很多培训机构,上来就学习操作系统移植、驱动程序编写、项目应用开发,既高端又快速。我也不否认,这也是一条嵌入式应用快速成长的途径。如果你具备了上面描述的能力之后,再

相关文档