当前位置:文档之家› ARM8019嵌入式WinCE教程V6.001

ARM8019嵌入式WinCE教程V6.001

阿尔泰科技ARM8018/19主板WinCE部分说明书

北京阿尔泰科技发展有限公司

Beijing Art Technology Development Co.,Ltd.

一.测试主板3

1、 串口测试 (3)

2、 USB及CF接口测试 (7)

3、 网口测试 (8)

4、 Media测试 (10)

二、通过USB建立ARM8018/19与PC机Windows的ActiveSync连接 (11)

三、eMbedded VC++ 4.0的安装 (19)

四、PC104总线数据采集编程实例(以ART2153卡为例) (32)

附录一、WINCE下触摸屏的校准 (44)

附录二、NAND FLASH的格式化 (44)

附录三、MAC地址的修改 (49)

附录四、开机时自动启动用户程序 (51)

附录五、如何保存用户的配置 (57)

附录六、利用VS2005开发工具编写HelloWorld程序。 (58)

附录七、FTP服务 (61)

环境要求:

(1) windows 操作系统(自行配置)

(2) Embeded VC++4.0(免费软件,位于光盘"工具"里)或 VS2005

(3) Microsoft ActiveSync(免费软件,位于光盘"工具"->"ActiveSync")

一.测试主板

准备:先将显示屏连接到主板的VGA接口上,然后用RS-232交叉电缆线将主板的COM0口与PC机连接起来。

测试:

1、串口测试

(1)打开DNW软件或超级终端,设置串口,点击工具栏“Configuration”下的“Options”,设置串口如下(注意当客户特殊要求COM0口开机后被设置为用户串口时,程序将设置COM0口的串口号为COM2):

说明:串口选择为你使用PC机上的串口号

点击Serial Port菜单下的connect选项,在DNW窗口的标题栏会出现[COM1,38400bps],表明连接成功。

(2)连接电源,启动主板,在DNW可以看见如下图所示的信息:

说明:DNW窗口出现信息说明COM0口已通。

(3) 等待3秒后,将进入启动初始化硬件设备阶段,可以看见如下图所示的一系列信息:

(4)当出现下图所示的信息时,主板启动完成:

这时在显示屏上我们可以看见如下图所示的开机画面:

(5)测试用户RS232串口

系统启动后,将PC机的串口连接线与主板的用户串口COM1相连。首先,打开PC 机的串口调试工具,设置串口号为本PC机的串口号,设置波特率为115200。然后,在主板的我的设备-->NandFlash下执行COMMApp240320下的COMMApp240320.exe,选择COM端口为“COM3:”,选择BaudRate,可根据用户要求选择,与PC机的一致即可,本例为“115200”,设置完成后单击Open按钮,连接成功则在Status编程框中显示“Open

COM3:Success!”。最后,在编辑框中输入要发送的数据,如:“https://www.doczj.com/doc/5619193015.html,”,单击Send按钮,查看PC机串口调试工具的接收区,显示为“https://www.doczj.com/doc/5619193015.html,”,则该程序运行正常。同时,可通过PC机的串口调试工具向主板发送数据,在CommMFC 程序的接收区中将显示出发送的信息。如下图所示:

关闭此应用程序之前先执行“Close”操作关闭串口。

(6)RS485测试

RS485测试利用本公司自己设计的DAM3000系列产品的应用程序,测试方法如下:

<1> 将DAM3000系列模块通过RS485接口与主板相连,执行“我的设备”?“程序”?“VS2005”?“RS485”?“DAM3000M”程序,弹出如下界面:

<2> 选择“COM4”,执行“开始查找”,查询到后,在树型框中将显示查找到的DAM3000M系列的模块信息,说明RS485已连接,单击模块信息,可弹出模块的测试界面,如下所示:

2、USB及CF接口测试

(1)先按照第二章的说明将USB驱动及ActiveSync工具装上,然后将USB线一端接PC机,一端接主板上的USB Device接口,在PC机端将弹出如下图所示的窗口(应该在主板上电后再插入USB线):

在上图中选择“No”,然后点击“下一步”,可以看见如下图所示的连接窗口:

(2)将USB Host接口插上U盘(USB主接口也可以接USB鼠标或键盘使用),在主板的My Device目录下可以看见如下图阴影部分的内容:

U盘

(3)在主板上插入CF卡(不能热插拔),在“我的设备”里也可以被认出是一个硬盘。

3、网口测试

用交叉网线将PC机和主板连接起来,在PC机端运行命令ping 192.168.1.14 –t(PC机的IP地址需与此地址在同一网段),可看见如下图窗口所示的信息:

在主板端的“My Device—>Program Files”路径下双击“Command Prompt”,打开一个主板上的命令窗口,在此窗口中输入ping命令(方法同于在PC机上输入命令,也要求主板与PC机在同一网段),可以在主板上看见如下图所示的信息(考虑到WINCE内核大小,其它一些组建如PDF、WORD、MediaPlay、SQL等,如果客户需要,我们可以在定制内核时加上):

在主板端的“我的设备—>控制面板—>网络和拨号连接”路径下双击“DM9CE1”,出现如下图所示的界面:

在上图中配置网络的IP地址,然后切换页面到名称服务器,配置DNS(配置主DNS 即可):

上述配置完成以后,用户可以直接点击IE浏览器上网。

4、Media测试

打开播放软件BetaPlayer,单击“文件—>打开文件”菜单,打开一个视频文件,下图为播放视频文件界面,插上耳机可听到声音:

二、通过USB建立ARM8018/19与PC机Windows的ActiveSync连接

装有Windows https://www.doczj.com/doc/5619193015.html,的嵌入式设备一般可通过USB线、RS232串行线、以太网等通信协议实现与PC机Windows的ActiveSync连接。在ARM8018/19上,可以通过USB总线实现ARM8018/19与PC机Windows的ActiveSync连接。实现连接之后,就可以很轻松的传输文件到ARM8018/19的Windows https://www.doczj.com/doc/5619193015.html,中,还可以实现eMbedded Visual C++的远程调试功能。

1.安装USB驱动。用 USB 连接线连接 PC 机和主板,在 PC 机侦测到USB 新硬件

后安装驱动即可,(驱动文件位于“工具”里“usb_device_driver”中,若找不到设备,可以参考“安装说明.txt”)。USB驱动安装好后在设备管理器中会出现

“Windows CE USB Devices: Anchor USB EZ-Link Cable”如下图:

2.安装ActiveSync程序。找到光盘资料里的“工具”下的“ActiveSync setup.exe”文件,

进行安装,安装完成后,将会弹出“Set Up a Partnership(新建合作关系)”的对话框,选择“No(O)”,点击“下一步”按钮,如下图:

出现下图说明PC机与主板已经通过USB自动建立了连接关系。

在wince 开发中,很多人需要连接到目标板上进行调试。EVC提供了强大的远程工具集帮助开发者进行辅助调试,这些远程工具都位于EVC的“Tools”菜单中。在上述连接建立成功以后我们可以通过USB与目标板通讯来使用下述远程工具:

1.Remote File Viewer(远程文件浏览工具)的作用是从开发平台向ARM8018/19中导入或

导出文件。其类似于资源管理器工具,它以层次树的方式来显示位于ARM8018/19上的文件夹或文件。开发者可以用“File”菜单下的工具导入导出文件,也可以用工具栏最右边的上下箭头实现该功能。

选择Remote File Walker工具,首先如下图所示的平台选择对话框

在上图中展开Windows https://www.doczj.com/doc/5619193015.html, Default Platform,选择下面的Default Device,如下图所示:

点击上图中的Cancel按扭,出现如下图所示的界面:

我们点击上图工具栏中的按扭,出现如下图所示的对话框:

点击上图对话框中的“Properties”,出现如下图所示的对话框:

按照上图所示进行设置,然后一路点击“OK”按扭,回到Remote File Viewer界面,然后点击按扭,出现如下图所示的Remote File Viewer界面:

上述设置进行一次即可,在以后的远程工具使用中,可以在设备选择那一步中直接点击“OK”按扭进行连接

2.Remote Heap Walker(远程堆浏览器)用来查看操作系统中每个进程使用堆的详细情况。

利用此工具可以查看下列内容:

▲ ARM8018/19内核正在运行的进程名称、ID以及进程所使用堆的ID以及进程堆的标志;

▲ 进程的所有堆的首地址、堆块大小以及标志;

▲ 堆中每块(Block)的目标内容。

下图是Remote Heap Walker窗口界面,它可以同时显示进程列表、堆列表和堆内容窗口。

3.Remote Kernel Tracker(远程内核跟踪器)工具用于跟踪内核的运行情况,收集相关数

据并在开发平台上以图表形式显示出来。

Remote Kernel Tracker允许查看下列实时环境:

▲线程交互;

▲ 内容相关性;

▲系统状态信息;

▲系统事件;

▲系统中断;

▲所有的进程和线程。

为了能够使用Remote Kernel Tracker跟踪所有的进程、线程,需要在PB菜单“Platform”→“Settings” →“Build Options”中复选“Enable Event Tracking During Boot”和“Enable Profiling”两个选项,重新编译内核。Remote Kernel Tracker工具提供了查找功能和过滤功能,查看功能可以让开发者查找想要找的事件,过滤功能可以让Remote Kernel Tracker只收集开发者希望记录的事件。

4.Remote Process Viewer(远程进程查看器)用于查看当前内核中所有的进程、进程中的

线程以及由进程加载的动态库。Remote Process Viewer的显示界面如下图:

在显示进程的窗口中,分别显示进程名、进程ID、基本优先级级别、拥有的线程总数、基地址、访问键值以及主窗口名。在显示线程的窗口中,分别显示线程ID、当前进程ID、线程优先级和访问键。在显示DLL模块的窗口中,分别显示模块名、模块ID、当前进程使用计数、全局使用计数、基地址、基址大小、模块句柄、路径等。

5.Remote Registry Editor(远程注册表编辑器)能够同时显示开发平台中的注册表和目标

设备中的注册表,开发者可以在开发平台上对ARM8018/19的注册表进行编辑,比如添加、删除或者修改注册表键和注册表入口等。下图为Remote Registry Editor的显示界面:

在Remote Registry Editor中可以对ARM8018/19注册表进行如下操作:

▲将注册表导出为一个.reg文件;

▲创建、删除、修改或者更改一个键或键值的名称;

▲剪切、复制和粘贴一个键名或键值;

▲查找一个键、键值或数据。

我们按照附录一的方法对触摸屏进行校准以后,然后在Remote Registry Editor工具中查

看WinCE的注册表内容,在注册表编辑器中打开Default Device—>

HKEY_LOCAL_MACHINE—>HARDWARE—>TOUCH,可以看到触摸屏的校验数值,如下图所示:

上图中的“CalibrationData”值就是触摸屏的校验数值。

6.Remote System Information(远程系统信息)工具能够查看远程设备的系统配置信息,

包括软件和硬件信息。显示界面如下图所示:

其中System Summary显示包括操作系统版本、CPU类型等信息;Component列出关于系统存储器、对象存储及系统设备的信息;User Interface显示系统颜色和色彩显示单位的当前配置信息。

7.Remote Zoom-in(远程屏幕截图)工具能够截取ARM8018/19屏幕显示的静态图象

(.bmp)。当打开Remote Zoom-in(远程屏幕截图)工具连接成功后,当前ARM8018/19

屏幕的显示图象即被自动截取到开发平台上,下图为Remote Zoom-in截取的ARM8018/19启动后的窗口界面:

要截取新的图象,打开File菜单并单击New Bitmap菜单项,当前ARM8018/19屏幕的显示图象即被存储到开发工作平台上。Remote Zoom-in工具可以同时显示多个不同的ARM8018/19界面图象。

三、eMbedded VC++ 4.0的安装

建立应用程序,首先需安装eMbedded Visual C++ 4.0软件,eMbeded Visual C++ 4.0的安装分为三个阶段,一路选择默认就可安装完成,以下步骤演示怎样安装eMbedded VC++ 4.0应用程序。

第一阶段 准备安装阶段

1.运行eMbedded Visual C++ 4.0安装目录下的setup.exe程序,出现入下图所示的安装欢迎

初始界面,点击next进行下一步:

2.点击下图中的“I accept the agreement”接受EVC的用户安装使用协议:

3.出现下图所示界面时,需填写EVC的产品ID号和用户信息,然后电击next继续安装:

arm嵌入式系统基础教程课后答案.doc

arm 嵌入式系统基础教程课后答案【篇一:arm 嵌入式系统基础教程习题答案周立功】 /p> 1 、举出3 个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的 专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(embedded microprocessor unit, empu) 嵌入式微控制器(microcontroller unit, mcu) 嵌入式dsp 处理器(embedded digital signal processor, edsp) 嵌入式片上系统(system on chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实 时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了 开发周期。再次,嵌入式实时操作系统充分发挥了32 位cpu 的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务 是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结 束项目 4 个阶段。识别需求阶段的主要任务是确认需求,分析投资 收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定 期监控进展,分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系 统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行 的初期,在客户和开发团队都还未投入大量资源之前,风险的评估

《嵌入式技术基础与实践》习题参考答案

第1章概述习题参考答案 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM 等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 2.简述嵌入式系统的特点以及应用领域。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。 4.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU 是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。 第2章FreescaleS08微控制器习题参考答案 1.给出AW60 存储器映像的简要说明。 答:所谓存储器映像,是指地址$0000 ~ $FFFF这个64KB空间,哪些地址被何种存储器所占用,或者说AW60的RAM、Flash、I/O映像寄存器各使用$0000 ~ $FFFF这个64KB空间中的哪些地址。简单地说,就是$0000 ~ $FFFF这个64KB空间是如何分配的。 2.AW60的引脚主要分为哪几类?简要说明主要引脚的功能。 答:(1)电源类信号引脚(2)复位信号引脚(3)主要功能模块引脚。比如定时器,IRQ中断等。(4)其他,比如背景调试BKGD引脚 主要引脚:AW60最小系统连接的I/O口,以及各具体功能I/O口。 3.嵌入式系统中RAM和Flash作用分别是什么?答:一般来说RAM这个区域安排用户数据(主要是全局变量)和堆栈空间;Flash 要用于存储程序、常数、中断向量等。 4.给出AW60的硬件最小系统。答:AW60芯片的硬件最小系统包括电源及其滤波电路、复位电路、晶振电路及PLL滤 波电路、写入器接口电路。 5.指出下列指令中的源操作数和目的操作数的寻址方式。 (1) MOV #$80 , $80 (2) MOV $80,$A0 (3) MOV $80 , X+ (4) MOV X+ , $80 (5) LDA $80 , X 答:(1)立即寻址,直接寻址 (2)直接寻址,直接寻址

Unity3D经典入门教程(精)

一、Unity基础 本部分是你开始Unity的关键。、这里将解释Unity的界面,菜单项,使用资源,创建场景,和发布。当你完全阅读了该部分后,你将能够理解Unity是如何工作的,以及如何使其更加有效的工作,和如何将简单的游戏放置在一起。 1. 界面学习 现在我们开始学习Unity,如果你还没有打开 Unity,你可以通过双击位于Application->Unity文件夹中的 Unity图标来运行它,当它第一次运行时你将看到如下的场景: Unity运行时的缺省场景,如果你打开过任何实例,你的屏幕会与上图不同 有很多需要学习的东西,让我们花费点时间来观察理解上述界面。我们将介绍每一个接口 元素。 概要主窗口的每一个部分都被称为视图(View)。在 Unity中有多种类型的视图,但是,你

不需要同时看见所有的视图。不同的布局模式(Layout modes)包含的视图是不同的。通过单击布局下拉控件来选择不同的布局,该控件位于窗口的右上角。 布局模式选择下拉列表 现在,单击布局选择,并单击Animation,切换到动画布局 (Animation layout)。还可以从菜单中选择Window->Layouts->Animation来切换。动画布局包含所有的视图,这是昀好的用来介绍它们的方法。

通过视图左上角的名称你可以迅速的分辨这些视图。这些视图是:场景视图(Scene View)-用于放置物体游戏视图(Game View)-表示游戏在运行时的外观层次视图(Hierarchy)-当前场景中的游戏物体的列表工程视图(Project)-显示当前打开工程中所有可用的物体和资源检视视图(Instpector)-显示当前选中物体的细节和属性时间线(Timeline)-用于为当前选中物体创建基本的时间线动画 场景视图(Scene View) 场景视图 场景视图(Scene View)是一个可交互的沙盘。你将使用它来选择并在场景中定位所有的游戏物体(GameObjects),包括玩家,摄像机,敌人等。在场景视图中操纵并修改物体是Unity非常重要的功能。这是昀好的通过设计者而不是玩家的角度来查看场景的方法。在场景视图中你可以随意移动并操纵物体,但是你应该知道一些基本的命令以便有效的使用场景视图。 第一个你应该知道命令是FrameSelected命令。这个命令将居中显示你当前选中的物体。你可以在层次视图(Hierarchy)单击任何物体,然后移动你的鼠标到场景视图上并按F键。场景视图将移动以居中显示当前选择的物体。这个命令是非常有用的,你将在场景编辑的

嵌入式技术基础与实践_习题参考答案

单片机习题参考答案 第1章概述习题参考答案 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM 等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 简述嵌入式系统的特点以及应用领域。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。 3.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU 是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。 4.举例说明嵌入式系统在日常生活中的应用。 答:日常数码产品:手机,MP3,U盘,相机等。 日常工业类:冰箱,空调,微波炉,汽车等。 5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。 答:相比底端汇编,更简单易学;与高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。6.阅读光盘中【第01章(概述)阅读资料】中的“嵌入式C语言工程简明规范”,用一页纸给出嵌入式C语言工程简明规范的要点。 答:此规范主要针对单片机编程语言和08编译器而言,包括命名、注释、编码规范性等内容。建议在一个工程或者一个项目中尽量遵循相同的代码规范,而不是说你只能拥有一个代码规范。 (1)命名规则:命名清晰明了,有明确含义,使用完整单词或约定俗成的缩写。通常,较短的单词可通过去掉元音字母形成缩写;较长的单词可取单词的头几个字母形成缩写。即"见名知意";命名风格要自始至终保持一致;命名中若使用特殊约定或缩写,要有注释说明;为了代码复用,命名中应避免适用与具体项目相关的前缀;应使用英语命名。 (2)注释:注释基本原则就是有助于对程序的阅读理解,说明程序在"做什么",解释代码的目的、功能和采用的方法。一般情况源程序有效注释量在30%左右。注释语言必须准确、易懂、简洁。边写代码边注释,修改代码同时修改相应的注释,不再有用的注释要删除。汇编和C中都用"//",取消";" 不使用段注释" /* */ "(调试时可用)。 使用文件注释必须说明文件名、项目名称、函数功能、创建人、创建日期、版本信息等相关信息。修改文件代码时,应在文件注释中记录修改日期、修改人员,并简要说明此次修改的目的。所有修改记录必须保持完整。文件注释放在文件顶端,用"/*……*/"格式包含。

6、汇编学习从入门到精通(荐书)

汇编学习从入门到精通Step By Step 2007年12月15日星期六00:34 信息来源:https://www.doczj.com/doc/5619193015.html,/hkbyest/archive/2007/07/22/1702065.aspx Cracker,一个充满诱惑的词。别误会,我这里说的是软件破解,想做骇客的一边去,这年头没人说骇客,都是“黑客”了,嘎嘎~ 公元1999年的炎热夏季,我捧起我哥留在家的清华黄皮本《IBM-PC汇编语言程序设计》,苦读。一个星期后我那脆弱的小心灵如玻璃般碎裂了,为了弥补伤痛我哭爹求妈弄了8k大洋配了台当时算是主流的PC,要知道那是64M内存!8.4G硬盘啊!还有传说中的Celeon 300A CPU。不过很可惜的是在当时那32k小猫当道的时代,没有宽带网络,没有软件,没有资料,没有论坛,理所当然我对伟大的计算机科学体系的第一步探索就此夭折,此时陪伴我的是那些盗版光盘中的游戏,把CRACK_XXX文件从光盘复制到硬盘成了时常的工作,偶尔看到光盘中的nfo 文件,心里也闪过一丝对破解的憧憬。 上了大学后有网可用了,慢慢地接触到了一些黑客入侵的知识,想当黑客是每一个充满好奇的小青年的神圣愿望,整天看这看那,偷偷改了下别人的网页就欢喜得好像第一次偷到鸡的黄鼠狼。 大一开设的汇编教材就是那不知版了多少次的《IBM-PC汇编语言程序设计》,凭着之前的那星期苦读,考试混了个80分。可惜当时头脑发热,大学60分万岁思想无疑更为主流,现在想想真是可惜了宝贵的学习时间。 不知不觉快毕业了,这时手头上的《黑客防线》,《黑客X档案》积了一大摞,整天注来注去的也厌烦了,校园网上的肉鸡一打一打更不知道拿来干什么。这时兴趣自然转向了crack,看着杂志上天书般的汇编代码,望望手头还算崭新的汇编课本,叹了口气,重新学那已经忘光了的汇编语言吧。咬牙再咬牙,看完寻址方式那章后我还是认输,不认不行啊,头快裂了,第三次努力终告失败。虽然此时也可以爆破一些简单的软件,虽然也知道搞破解不需要很多的汇编知识,但我还是固执地希望能学好这门基础中的基础课程。 毕业了,进入社会了,找工作,上班,换工作成了主流旋律,每天精疲力尽的哪有时间呢?在最初的中国移动到考公务员再到深圳再到家里希望的金融机构,一系列的曲折失败等待耗光了我的热情,我失业了,赋闲在家无所事事,唯一陪伴我的是那些杂志,课本,以及过时的第二台电脑。我不想工作,我对找工作有一种恐惧,我靠酒精麻醉自己,颓废一段日子后也觉得生活太过无聊了,努力看书考了个CCNA想出去,结果还是被现实的就业环境所打败。三年时间,一无所获。 再之后来到女朋友处陪伴她度过刚毕业踏入社会工作的适应时期,这段时间随便找了个电脑技术工作,每月赚那么个几百块做生活费。不过这半年让我收获比较大的就是时间充裕,接触到了不少新东西,我下定决心要把汇编学好,这时我在网上看到了别人推荐的王爽《汇编语言》,没抱什么希望在当当网购了人生中的第一次物,19块6毛,我记得很清楚,呵呵。 废话终于完了,感谢各位能看到这里,下面进入正题吧。

ARM嵌入式系统基础教程复习

《嵌入式系统基础教程》复习 1.什么是嵌入式系统?其特点有些什么? 答:嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。” 特点:1)是专用的计算机系统,用于特定的任务; 2)资源较少,可以裁减; 3) 功耗低,体积小,集成度高,成本低; 4)使用实时操作系统; 5) 可靠性要求更高,具有系统测试和可靠性评估体系; 6)运行环境差异大 7)大部分程序固化在ROM中; 8) 较长的生命周期; 9)嵌入式微处理器通常包含专用调试电路 2.嵌入式系统的BooTLoader的功能是什么? 答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。) 3.目前嵌入式操作系统有哪些? 答:1)μC/OS-II 嵌入式操作系统内核;2)VxWorks嵌入式实时操作系统;3)WinCE操作系统;4)Linux操作系统;5)Symbian操作系统 4.构造嵌入式开发环境有哪几种形式? 答:1)交叉开发环境;2)软件模拟环境;3)评估电路板 5.嵌入式系统开发的基本流程? 答:1)系统定义与需求分析; 2)系统设计方案的初步确立; 3)初步设计方案性价比评估与方案评审论证; 4)完善初步方案、初步方案实施; 5)软硬件集成测试; 6)系统功能性能测试及可靠性测试。 6.什么是可编程片上系统? 答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC。它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。 7.有时要使用Thumb技术的原因 答:(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。 8.ARM处理器的工作模式有哪几种? 答:1)正常用户模式(user); 2)快速中断模式(fiq); 3)普通中断模式(irq); 4)操作系统保护模式(svc)或管理模式; 5)数据访问中止模式(abt); 6)处理未定义指令的未定义模式(und); 7)运行特权级的操作系统任务的系统模式(sys)。 9.寄存器R13,R14,R15的专用功能各是什么? 答:1)寄存器R13保存堆栈指针SP;

嵌入式经典书籍100册

嵌入式工程师必读100本专业书籍 ——从小白到大牛你只差这100本书《大话数据结构》 《鸟哥的linux私房菜》 《疯狂android讲义》 《第一行代码》 《linux内核设计与实现》 《驱动设计开发》 《linux内核解密》 《unix环境高级编程》 《linux内核设计与实现》 《essential C++》 《嵌入式linux》 《linux设备驱动》 《c语言深度解剖》 《linux下的c编程》 《C Primer Plus(第五版)》 《ARM体系结构与编程(第二版)》 《lINUX设备驱动开发详解(第三版)》 《android开发艺术探讨》 《c++plus》 《Unix环境高级编程》 《与大数据同行——学习和教育的未来》 《用户体验的要素》 《编程与艺术》 《ARM嵌入式体系结构与接口技术》 《cortex-m0接口编程》 《C语言程序设计:现代方法》 《C++ Primer》

《数据结构》(严蔚敏) 《算法导论》 《Linux设备驱动开发》 《代码大全》 《深入理解计算机系统》 《UNIX环境高级编程》 《计算机安全原理》 《UNIX网络编程》 《HeadFirst设计模式》 《linux驱动》(宋保华) 《C++ primer4》 《qt5精彩实例》 《ldd3》 《C++高级编程》 《c语言教程》 《实战linux编程精髓》 《ARM教程》 《JAVA编程思想》 《HTML+CSS网页设计与布局从入门到精通》《C语言深度解剖》 《深度实践嵌入式Linux系统移植》 《unix高级编程》 《c嵌入式一站式教学》 《编译原理》 《深度实践嵌入式Linux系统移植》《UNIX环境高级编程》 《linux网络编程》 《C语言程序设计》 《unix环境高级编程》 《嵌入式linuxc语言程序设计基础教程》

孟祥莲嵌入式系统原理及应用教程部分习题答案

习题1 1. 嵌入式系统的概念的是什么?答:嵌入式系统是以应用为中心,以计算机技 术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。(嵌入式系统是嵌入式到对象体系中的,用于执行独立功能的专用计算机系统。) 2. 嵌入式系统的特点是什么? 答:系统内核小;专用性强;运行环境差异大;可靠性要求高;系统精简和高实时性操作系统;具有固化在非易失性存储器中的代码嵌入式系统开发和工作环境 4. 嵌入式系统的功能是什么?答:提供强大的网络服务小型化,低成本,低 功能;人性化的人机界面;完善的开发平台 5. 嵌入式系统的硬件平台由哪些部分组成?答:嵌入式系统的硬件是以嵌入式处理器为核心,由存储器I/O 单元电路,通信模块,外部设备必要的辅助接口组成的。 7. 嵌入式操作系统的主要特点是什么?答:体积小;实时性;特殊的开发调试环境。 8. 叙述嵌入式系统的分类。答:按嵌入式微处理器的位数分类可以分为4 位、 8 位、16 位、32 位和64 位等;按软件实时性需求分类可以分为非实时系统(如PDA), 软实时系统(如消费类产品)和硬实时系统(如工业实时控制系统)按嵌入式系统的复杂程度分类可以分为小型嵌入式系统,中型嵌入式系统和复杂嵌入式系统。 习题2 处理器和工作状态有哪些?

答:ARM犬态:此时处理器执行32位的的字对齐的ARS旨令。 Thumb犬态:此时处理器执行16位的,半字对齐的Thumb旨令 2.叙述ARM9内部寄存器结构,并分别说明R13 R14 R15寄存器的 作用。 答:共有37个内部寄存器,被分为若干个组(BANK,这些寄存器包括31个通用寄存器,包括程序计数器(PC指针)6个状态寄存器。R13用作堆栈指针,R14称为子程序链接寄存器,R15用作程序计数器。处理器的工作模式有哪些? 答:用户模式:ARM处理器正常的程序执行状态。 快速中断模式:用于高速数据传输或通道处理 外部中断模式:用于通用中断处理管理模式:操作系统使用的保护模式数据访问终止模式:当数据或指令预期终止时进入该模式,可用于虚拟存储器及存储保护 系统模式:运行具有特权的操作系统任务 未定义指令终止模式:当未定义的指令执行时进入该模式,可用 于支持硬件协处理器的软件仿真。 微处理器支持的数据类型有哪些? 答:ARM微处理器中支持字节(8位)、半字(16位),字(32 位)

周立功-ARM嵌入式系统基础教程课后习题答案11

第一章 思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系 统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(Embedded Microprocessor Unit, EMPU) 嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP) 嵌入式片上系统(System On Chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。 其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了32 位CPU 的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4 个阶段。 识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展, 分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。 需求风险;时间风险;资金风险;项目管理风险 3、何谓系统规范?制定系统规范的目的是什么? 规格制定阶段的目的在于将客户的需求,由模糊的描述,转换成有意义的量化数据。 4、何谓系统规划?为何要做系统规划 系统规划就是拟定一个开发进程,使项目在合理的进程范围中逐渐建构完成。其目地是让客户可以进一步地掌握系统开发的进程,并确定检查点,以让双方确定项目是否如预期中的进度完成。 5、为什么在项目结束前需要进行项目讨论? 项目的讨论一个项目进行的反馈机制。通过这一个程序,项目团队的经验才可以被记录 下来,也就是说,这是一个撰写项目历史的过程。 第三章 1、ARM7TDMI中的T、D、M、I的含义是什么? 64 位乘法指令(带M 后缀的)、支持片上调试(带D 后缀的)、高密度16 位的Thumb 指令机扩展(带T 后缀的)和EmbededICE 观察点硬件(带I 后缀的) 2、ARM7TDMI采用几级流水线?使用何种存储器编址方式? 三级流水线(取指译码执行);使用了冯·诺依曼(V on Neumann )结构,指令和数据共用一条 32 位总线。 3、ARM处理器模式和ARM处理器状态有何区别? 处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。 4、分别列举ARM的处理器模式和状态。 状态: ARM 状态32 位,这种状态下执行的是字方式的ARM 指令

(完整版)《嵌入式系统毕业课程设计与实践》

课程设计 课程名称嵌入式系统课程设计与实践题目名称嵌入式最小系统设计 学生学院自动化学院 专业班级电子(2) 学号 学生姓名何延 指导教师尹明

2013 年5月30日

广东工业大学课程设计任务书 题目名称嵌入式最小系统设计 学生学院自动化学院 专业班级电子(2) 姓名何延 学号 一、课程设计的内容 学习LPC2000系列ARM处理器的启动流程,学习嵌入式系统硬件设计(最小系统),学习嵌入式系统应用程序框架,学习在ARM7处理器上移植uCOS-II操作系统的流程及设计流水灯应用程序。 设计实现一个基于LPC2000系列ARM处理器的最小系统,完成操作系统移植,设计流水灯程序。鼓励在完成基本功能的基础上,自由发挥完成其它功能。 二、课程设计的要求与数据 熟悉LPC2000系列ARM处理器的启动流程,掌握嵌入式系统硬件设计(最小系统),掌握嵌入式系统应用程序设计,掌握在ARM7处理器上移植uCOS-II操作系统的流程及设计流水

灯应用程序。 1完成嵌入式系统最小系统硬件设计,并制作硬件平台。 2 在无操作系统情况下,设计流水灯应用程序,并在前述硬件平台上调试、运行。 3 移植UCOS-II操作系统,并设计流水灯应用程序,在前述硬件平台上调试、运行。 三、课程设计应完成的工作 1 嵌入式系统最小系统硬件设计,并调试验证。 2 设计流水灯应用程序,调试、运行。 3 移植uCOS-II操作系统,设计流水灯应用程序,调试、运行。 四、课程设计进程安排

五、应收集的资料及主要参考文献 《LPC2210使用指南》(LPC2210-user_cn.pdf) LPC2131板原理图(Z2418PSCH.pdf) 《ADS开发者指南》(ADS_DeveloperGuide_D.pdf) 发出任务书日期:年月日指导教师签名:

嵌入式技术基础与实践(第3版)课后习题1-8章答案

试阅: hello ---------------------正文 第一章 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 2.简述嵌入式系统的特点以及应用领域(举例)。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧张的资源,较高稳定性要求,低功耗,低成本等。 一般用于工业控制,智能家电,日常电子等领域。 日常数码产品:手机,MP3,U盘,相机等。 日常工业类:冰箱,空调,微波炉,汽车等。 3.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU 是一个包含微处理器的嵌入式系统,而CPU仅仅是一个处理器而已。 4. 总结嵌入式系统常用术语。 硬件:封装,印刷电路板,动态可读写随机存储器与静态可读写随机存储器,只读存储器,闪速存储器,模拟量与开关量。 通信:并行通信,串行通信,串行外设接口,集成电路互连总线,通用串行总线,控制器局域网,背景调试模式,边界扫描测试协议,串行线调试技术。 功能模块及软件:通用输入/输出,A/D与D/A,脉冲宽度调制器,看门狗,液晶显示,发光二级管,键盘,实时操作系统。 5.C语言的那些特性使得它成为嵌入式系统中使用频率最高的高级语言。 答:相比底端汇编,更简单易学;与高级语言如(C++,C#,java等)相比,执行效率高,编译后的编码体积小,而且支持好的编译器还支持嵌入汇编代码;对位的操纵能力很强。

嵌入式软件工程师学习指南

嵌入式软件工程师学习 1. 嵌入式软件课程体系 自学嵌入式确实不大现实(当然也不是说没有这个可能),毕竟嵌入式难度也是比较大的。嵌入式的应用主要是几个方向: 一是系统开发:侧重开发环境搭建、内核原理、交叉编译等; 二是嵌入式Linux应用开发:侧重Linux应用编程、内核编译、系统调用; 三是底层驱动开发:侧重嵌入式Linux系统下的驱动开发、内核的深入分析。 不过初进门者主要往系统开发和应用开发发展,有了相关工作经验再进一步向底层驱动靠。 嵌入式课程的目标,想自学完课程,要掌握以下知识点: ◆Linux命令、工具和C编程基础 ◆嵌入式Linux C语言强化 ◆嵌入式Linux上的C编程训练 ◆Linux高级编程及编程训练 ◆嵌入式ARM处理器体系结构及编程训练 ◆嵌入式Linux内核环境搭建和编程训练 ◆嵌入式Linux驱动理论及驱动程序开发训练 ◆Android应用研究和系统开发 ◆Android体系结构和系统移植 ◆嵌入式ARM Linux项目实践和训练 嵌入式软件方面最重要的课程包括: (1)嵌入式微处理器结构与应用 这是一门嵌入式硬件基础课程,我院用这门课取代了传统的“微机原理与接口”课程(目前国内已有少部分高校IT专业这样做了,因为讲x86微机原理与接口很难找到实际用处,只为教学而已)。我们说过,嵌入式是软硬件结合的技术,搞嵌入式软件的人应对ARM 处理器工作原理和接口技术有充分了解,包括ARM的汇编指令系统。若不了解处理器原理,怎么能控制硬件工作,怎么能写出节省内存又运行高速的最优代码(嵌入式软件设计特别讲究时空效率),怎么能写出驱动程序(驱动程序都是与硬件打交道的)?很多公司招聘嵌入式软件人员时都要求熟悉ARM处理器,将来若同学到公司中从事嵌入式软件开发,公司都会给你一本该设备的硬件规格说明书 (xxx Specification),您必须能看懂其中的内存分布和端口使用等最基本的说明(就像x86汇编一样),否则怎么设计软件。有些同学觉得嵌入式处理器课程较枯燥,这主要是硬件课程都较抽象的原因,等我们的嵌入式实验室10月份建好后,您做了一些实验后就会觉得看得见摸得着。还有同学对ARM汇编不感兴趣,以为嵌入式开发用C语言就足够了。其实不应仅是将汇编语言当成一个程序设计语言,学汇编主要是为了掌握处理器工作原理的。一个不熟悉汇编语言的人,怎么能在该处理器写出最优的C 语言代码。在嵌入式开发的一些关键部分,有时还必须写汇编,如Bootloader等(可能还包括BSP)。特别是在对速度有极高要求的场合(如DSP处理器的高速图像采集和图像解压缩),目前主要还要靠汇编写程序(我看到过很多公司是这样做的)。当您在一个嵌入式公司工作时,在查看描述原理的手册时,可能很多都是用汇编描述的(我就遇到过),这是因为很多硬件设计人员只会写或者喜欢用汇编描述,此时您就必须看懂汇编程序,否则软硬件人

ARM嵌入式系统基础教程第二版课后习题答案

第1章嵌入式系统概述 (1)举出3个本书中未提到的嵌入式系统的例子。 答:键盘、鼠标、扫描仪。 (2)什么叫嵌入式系统? 答:嵌入到对象体系中的专用计算机应用系统。 (3)什么叫嵌入式处理器?嵌入式处理器分为哪几类? 答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。分为3类:1.注重尺寸、能耗和价格;2.关注性能;3.关注全部4个需求——性能、尺寸、能耗和价格。 (4)什么是嵌入式操作系统?为何要使用嵌入式操作系统? 答:嵌入式操作系统是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的元素发展而来的。原因:1.提高了系统的可靠性;2.提高了开发效率,缩短了开发周期。3.充分发挥了32位CPU的多任务潜力。 第2章ARM7体系结构 1.基础知识 (1)ARM7TDMI中的T、D、M、I的含义是什么? 答:T:高密度16位Thumb指令集扩展;D:支持片上调试;M:64位乘法指令;I:Embedded ICE硬件仿真功能模块。 (2)ARM7TDMI采用几级流水线?使用何种存储器编址方式? 答:3级;冯·诺依曼结构。 (3)ARM处理器模式和ARM处理器状态有何区别? 答:ARM处理器模式体现在不同寄存器的使用上;ARM处理器状态体现在不同指令的使用上。 (4)分别列举ARM的处理器模式和状态? 答:ARM的处理器模式:用户模式、系统模式、管理模式、中止模式、未定义模式、中断模式、快速模式;ARM的处理器状态:ARM状态、Thumb状态。 (5)PC和LR分别使用哪个寄存器? 答:PC:R15;LR:R14。 (6)R13寄存器的通用功能是什么? 答:堆栈指针SP。 (7)CPSR寄存器中哪些位用来定义处理器状态?

《ARM嵌入式系统基础教程》试题及答案

《ARM嵌入式系统基础教程》试题及答案 一、选择题 1、以下说法不正确的是(B )。 A、任务可以有类型说明 B、任务可以返回一个数值 C、任务可以有形参变量 D、任务是一个无限循环 2下列描述不属于RISC计算机的特点的是(C)。 A.流水线每周期前进一步。B.更多通用寄存器。 C.指令长度不固定,执行需要多个周期。 D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。 3 存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容 为(D)。 A、0x21 B、0x68 C、0x65 D、0x02 4 μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D) A.先CLI、执行关键代码、再STI B. 先STI、执行关键代码、再CLI C. 先POPF、CLI、执行关键代码、再PUSHF D. 先PUSHF、CLI、执行关键代码、再POPF。 5 RS232-C串口通信中,表示逻辑1的电平是(D )。 A、0v B、3.3v C、+5v~+15v D、-5v~-15v 6 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。 A.R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3 C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2 7 IRQ中断的入口地址是(C)。FIQ的入口地址为0x0000001C A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014 8 S3C2420X I/O口常用的控制器是(D)。 A.端口控制寄存器(GPACON-GPHCON)。 B.端口数据寄存器(GPADAT-GPHDA T)。 C.外部中断控制寄存器(EXTINTN)。 D.以上都是。 9 实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)。 A. 同步 B. 互斥 C. 调度 D. 执行 10 和PC系统机相比嵌入式系统不具备以下哪个特点(C)。 A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 11 、ADD R0,R1,#3属于(A)寻址方式。 A. 立即寻址 B. 多寄存器寻址 C. 寄存器直接寻址 D. 相对寻址 12、GET伪指令的含义是(A) A. 包含一个外部文件 B. 定义程序的入口 C. 定义一个宏 D. 声明一个变量 13、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存 储,则2000H存储单元的内容为(C)。 A、0x00 B、0x87 C、0x65 D、0x61 14、μCOS-II操作系统不属于(C)。 A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为(D )。 A. 0x2000 B. 0x86 C. 0x2008 D. 0x39 16、寄存器R13除了可以做通用寄存器外,还可以做(C )。 A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器 17、FIQ中断的入口地址是(A)。

嵌入式系统开发基础1

青岛理工大学琴岛学院计算机系实验教材 Linux嵌入式系统 实验指导书

青岛理工大学琴岛学院计算机科学系 二0一0年四月

前言 随着后PC时代的到来,嵌入式系统技术已经成为了一个万众瞩目的焦点。目前已广泛应用于信息家电、数据网络、工业控制、医疗卫生、航空航天等众多领域。巨大的市场潜力,无穷的商机,吸引了各路英豪纷踵沓来。 硬件方面,各大电子厂商相继推出了自己的专用嵌入式芯片,漫天而至的是mp3,PDA,无线上网装置,让人们充分感受到了这股强劲之势;软件方面,在Vxworks、pSOS、Neculeus 和Windows CE等嵌入式操作系统引领下,也出现了空前繁荣的局面,但这些专用操作系统都是商业化产品,其高昂的价格使许多面向低端产品的小公司望而却步,并且其源代码的封闭性也大大限制了开发者的积极性。 近两年在我国登陆并蓬勃发展的Linux,也已广泛应用于各类计算应用,不仅包括IBM 的微型Linux腕表、手持设备(PDA和蜂窝电话)、因特网装置、客户机、防火墙、工业机器人和电话基础设施设备,甚至还包括了基于集群的超级计算机。Linux在高端服务器的优越表现及其天生具有的突出特点,就注定它必将在低端嵌入式系统中再次给人们以惊喜,而基于嵌入式Linux操作系统的应用,必定给我们未来的工作和生活带来翻天覆地的变化。 Linux价格低廉、功能强大,可以运行在X86,Alpha,Sparc,MIPS,PPC,MOTOROLA,NEC,ARM等硬件平台上,而且开放源代码,可以定制。我们所介绍的硬件平台是基于ARM体系结构,由北京博创兴业科技有限公司开发的UP-CUP 3000 平台、UP-CUP 2410-S 平台系列以及UP-CUP P270A 平台系列实验仪器。UP-CUP 3000 平台的CPU为ARM7TDMI内核的三星 S3C44B0X01芯片,由于没有MMU(内存管理单元)只能运行uClinux,UP-CUP 2410-S 平台系列的CPU为ARM920T内核的三星S3C2410芯片,由于有MMU可以运行标准的ARM-LINUX 内核。UP-CUP P270 平台系列实验仪器为Intel XSCALE ARM10系列CPU。通过这些硬件平台,我们可以学习嵌入式LINUX中的针对有MMU和无MMU的不同开发过程。UP-CUP 3000 平台和UP-CUP P270 平台系列产品及其相关资料可以访问博创公司的网站获得。本书以 S3C2410系列中的UP-CUP S2410 经典平台为例,详细介绍嵌入式 Linux的开发过程。 指导书参考与引用了许多相关资料,在此一并致谢。本指导书仅供内部学生学习使用。由于时间仓促,编者水平有限,书中疏漏之处在所难免,欢迎读者批评指正,并提出宝贵意见和建议,以便不断改进。 编者江艳飞 二0一一年四月 目录

嵌入式软件开发入门教程

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

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

嵌入式技术基础与实践复习题参考答案

嵌入式技术基础与实践(第二版) 习题参考答案 目录 嵌入式技术基础与实践(第二版) (1) 习题参考答案 (1) 第1章概述习题参考答案 (2) 第2章FreescaleS08微控制器习题参考答案 (3) 第3章第一个样例程序及工程组织习题参考答案 (4) 第5章串行通信接口SCI习题参考答案 (6) 第6章GPIO的应用实例—键盘、LED与LCD习题参考答案 (9) 第7章定时器模块习题参考答案 (10) 第8章串行外设接口SPI习题参考答案 (11) 第9章Flash存储器在线编程习题参考答案 (13)

第1章概述习题参考答案 1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统? 答:即MCU的含义是:在一块芯片上集成了中央处理单元(CPU)、存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。大部分嵌入式系统以MCU为核心进行设计。MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。因此以MCU为核心的系统是应用最广的嵌入式系统。 2.简述嵌入式系统的特点以及应用领域。 答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现;嵌入式系统开发需要专用工具和特殊方法;使用MCU设计嵌入式系统,数据与程序空间采用不同存储介质;开发嵌入式系统涉及软件、硬件及应用领域的知识;嵌入式系统的其他特点,比如紧的资源,较高稳定性要求,低功耗,低成本等。一般用于工业控制,智能家电,日常电子等领域。 4.比较MCU与CPU的区别与联系。 答:CPU是一个单独的PC处理器。而MCU,则有微处理器,存储器(RAM/ROM等)、定时器/计数器及多种输入输出(I/O)接口的比较完整的数字处理系统。所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。

相关主题
文本预览
相关文档 最新文档