文档库 最新最全的文档下载
当前位置:文档库 › 嵌入式实验教案

嵌入式实验教案

嵌入式实验教案
嵌入式实验教案

嵌入式实验教案

实验一:ADS 1.2集成开发环境练习

【实验目的】

了解ADS 1.2集成开发环境和ARMulator软件仿真的使用方法;掌握ARM7TDMI汇编指令的用法,并能编写简单的汇编程序;掌握指令的条件执行和使用LDR/STR指令完成存储器的访问。

【实验设备】

PC机一台,ADS 1.2集成开发环境

【实验内容】

建立一个工程;建立一个C源文件,并添加到工程中;设置文本编辑器支持中文;设置编译连接控制选项;编译连接工程;调试工程;编程实现:使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,否则把0写回原地址,不断重复整个过程;使用ADS 1.2软件仿真,单步、全速运行程序,设置断点,打开寄存器窗口(Processor Registers)监视R0、R1的值,打开存储器观察窗口(Memory)监视0x40003100的值。

【实验步骤】

(1)启动ADS 1.2 IDE集成开发环境,选择File->New,使用ARM Executable Image 工程模板建立一个工程,工程名称为ADS(见图1.1)。

图1.1 建立ARM指令代码的工程

(2)选择File->New建立一个新文件TEST1.S,设置直接添加到项目中(见图1.2)。编程实现:使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,否则把0写回原地址,不断重复整个过程,参考程序清单1,输入程序清单1.1所示的代码并保存(见图1.3)。

图1.2 新建文件TEST1.S

图1.3 添加了TEST1.S的工程管理窗口

程序清单1 TEST1.S文件代码

COUNT EQU 0x40003100 ;定义一个变量,地址为0x40003100

AREA Example1,CODE,READONLY ;声明代码段Example1

ENTRY ;标识程序入口

CODE32 ;声明32位ARM指令

START LDR R1,=COUNT ;R1指向地址0x40003100

MOV R0,#0

STR R0,[R1] ;[R1]<=R0,即设置地址0x40003100的值为0

LOOP LDR R1,=COUNT

LDR R0,[R1] ;R0<=[R1]

ADD R0,R0,#1

CMP R0,#10 ;R0与10比较,影响条件码标志

MOVHS R0,#0 ;若R0大于等于10,则此指令执行,R0<=0

STR R0,[R1] ;[R1]<=R0

B LOOP

END

(3)由于ADS安装以后默认的字体是Courier New,对于中文支持不完善,因此建议修改字体。选择Edit->Preferences...,打开IDE Preferences对话框(见图1.4),在Font(字体)选择设置字体为Fixedsys,Script为CHINESE_GB2312。由于Tab在不同文本编辑器解释不同,建议在Tab Inserts Spaces前打勾,使Tab键插入的是对个空格。

图1.4 字体和Tab设置

(4)选择Edit->DebugRel Settings...,在DebugRel Settings对话框的左边选择ARM Linker项,然后在Output页设置工程连接地址RO Base为0x40000000,RW Base为0x40003000(见图1.5),在Options页设置调试入口地址Image entry point为0x40000000(见图1.6)。

图1.5 工程连接地址设置

图1.6 工程调试入口地址设置

(5)选择Project->Make,将编译连接整个工程。如果编译成功,弹出的Errors & Warnings 对话框(见图1.7)会报告编译错误为0,那么就可以对工程进行仿真。

图1.7 编译错误和警告提示框

(6)选择Project->Debug,或者按下快捷键F5,IDE环境就会启动AXD调试软件。选择Option->Configure Target…,弹出Choose Target对话框(见图1.8),选择ARMUL软件仿真,然后确定。选择File->Load Image,选择打开axf文件(见图1.9),可以开始调试了。AXD调试界面如图1.10所示。

图1.8 选择软件仿真

图1.9 加载镜像文件

图1.10 AXD调试界面

(7)选择Processor Views->Registers打开寄存器窗口监视R0、R1的值。Processor Views->Memory打开存储器观察窗口设置观察地址为0x40003100,显示方式Size为32Bit,监视0x40003100地址上的值。说明:在Memory窗口中点击鼠标右键,在Size项中可以选择显示格式。

(8)选择Execute下拉菜单可以单步运行程序,设置/取消断点,全速运行程序,或者停止程序运行等,调试时观察寄存器和0x40003100地址上的值,运行结果见图1.11。

图1.11 程序运行结果

【思考】

(1)如何强行重新编译工程的所有文件?

(2)使用LDRB/STRB代替程序清单1中的所有加载/存储指令LDR/STR,程序会得到正确的执行吗?

(3)LDR伪指令与LDR加载指令的功能和应用有何区别,举例说明。

(4)LDR/STR指令的前索引偏移指令如何编写?指令是怎样操作的?

(5)在AXD调试时如何复位程序?

实验二:C程序实验

【实验目的】

了解使用ADS 1.2编写和调试C程序的方法。

【实验设备】

PC机一台,ADS 1.2集成开发环境

【实验内容】

编写一个汇编程序文件和一个C程序文件。汇编程序的功能是初始化堆栈指针和C程序的运行环境,然后跳转到C程序执行,这就是一个简单的启动程序。C程序使用加法运算来计算1+2+3+...+N的值(N>0)。

【实验步骤】

(1)启动ADS 1.2 IDE集成开发环境,选择File->New,使用ARM Executable Image 工程模板建立一个工程PorgramC。

(2)选择File->New建立一个汇编程序文件Startup.S和一个C程序文件Test.c,然后添加到项目中,参考程序见程序清单2.1和2.2,输入程序代码并保存。

程序清单2.1 C运用参考程序

#define uint8 unsigned char

#define uint32 unsigned int

#define N 100

uint32 sum; //使用加法运算来计算1+2+3+...+N的值。(N>0)

void Main(void)

{ uint32 i;

sum=0;

for(i=0; i<=N; i++)

{ sum+=i;}

while(1);

}

程序清单2.2 TEST1.S文件代码

IMPORT |Image$$RO$$Limit|

IMPORT |Image$$RW$$Base|

IMPORT |Image$$ZI$$Base|

IMPORT |Image$$ZI$$Limit|

IMPORT Main ;声明C程序中的Main()函数

AREA Start,CODE,READONLY ;声明代码段Start

ENTRY ;标识程序入口

CODE32 ;声明32位ARM指令

Reset LDR SP,=0x40003F00 ;初始化C程序的运行环境

LDR R0,=|Image$$RO$$Limit|

LDR R1,=|Image$$RW$$Base|

LDR R3,=|Image$$ZI$$Base|

CMP R0,R1

BEQ LOOP1

LOOP0 CMP R1,R3

LDRCC R2,[R0],#4

STRCC R2,[R1],#4

BCC LOOP0

LOOP1 LDR, R1,=|Image$$ZI$$Limit|

MOV R2,#0

LOOP2 CMP R3,R1

STRCC R2,[R3],#4

BCC LOOP2

B Main ;跳转到C程序代码Main()函数

END

(3)选择Edit->DebugRel Settings...,在DebugRel Settings对话框的左边选择ARM Linker项,然后在Output页设置工程连接地址RO Base为0x40000000,RW Base为0x40003000,在Options页设置调试入口地址Image entry point为0x40000000。

(4)设置位于开始位置的起始代码段,如图2.1所示。

图2.1 起始代码段的设置

(5)选择Project->Make,编译连接整个工程。

(6)选择Project->Debug,或者按下快捷键F5,启动AXD调试软件仿真调试。

(7)在Startup.s的“B Main”处设置断点,然后全速运行程序。

(8)程序在断点处停止。单步运行程序,判断程序是否跳转到C程序中运行。

(9)选择Processor Views->Variables打开变量观察窗口,观察全局变量的值,单步/全速运行程序,判断程序的运行结果是否正确。

【思考】

(1)在实验参考程序中,Startup.S文件的作用是什么?如果没有Startup.S文件,C程序会运行出错吗?

(2)实验程序中的Main()函数名是否可以更改为其它名字?

实验三:外部中断实验

【实验目的】

掌握向量中断控制器(VIC)的设置;掌握外部中断引脚功能设置及外部中断的工作模式设置;了解中断服务函数的编写。

【实验设备】

PC机一台,MagicARM2200教学实验开发平台一套,ADS 1.2集成开发环境

【实验内容】

设置P0.20脚为EINT3功能,初始化为非向量中断,并设置为电平触发方式,然后等待外部中断。中断服务程序将蜂鸣器控制输出信号取反,然后等待中断信号的撤销,最后清除中断标志并退出中断。

【实验步骤】

(1)安装EasyJTAG仿真器的驱动程序(若已经安装过,此步省略),为ADS1.2增加LPC2200专用工程模板(若已经增加过,此步省略)。参考《ADS集成开发环境及仿真器应用》。

(2)启动ADS 1.2 IDE集成开发环境,使用ARM Executable Image for MagicARM2200工程模板建立一个工程VICDef_C。

(3)在user组中的main.c中编写主程序代码,参考程序见程序清单3.1。

程序清单3.1 外部中断实验参考程序

/****************************************************************************

* 文件名:main.c

* 功能:使用外部中断3进行B1的控制,每当有一次中断时,即取反B1控制口,

* 使用非向量中断方式。

* 说明:将跳线器JP9、JP22短接,JP20断开。按下KEY1观察BUZZER效果。

****************************************************************************/

#include "config.h"

#define BEEPCON 1<<7 // P0.7引脚控制B1,低电平蜂鸣,1<<7 等价于0x80

/****************************************************************************

* 名称:IRQ_Eint3()

* 功能:外部中断EINT3服务函数,取反B1控制口。

* 入口参数:无

* 出口参数:无

****************************************************************************/

void __irq IRQ_Eint3(void)

{ uint32 i;

i = IO0SET; // 读取当前B1控制值

if( (i&BEEPCON)==0 ) // 控制B1输出取反

{ IO0SET = BEEPCON; }

else

{ IO0CLR = BEEPCON; }

/* 等待外部中断信号恢复为高电平(若信号保持为低电平,中断标志会一直置位) */ while( (EXTINT&1<<3)!=0 )

{ EXTINT = 1<<3; // 清除EINT3中断标志,1<<3 等价于0x08

}

VICVectAddr = 0; // 向量中断结束

}

/****************************************************************************

* 名称:main()

* 功能:初始化外部中断3(EINT3)为非向量中断,并设置为电平触发模式,然后等待外部中断。

* 说明:在STARTUP.S文件中使能IRQ中断(清零CPSR中的I位)。

****************************************************************************/

int main(void)

{

IRQEnable(); // 开IRQ中断

PINSEL1 = 3<<8; // 设置管脚连接,P0.20设置为EINT3

IO0DIR = BEEPCON; // 设置B1控制口为输出,其它I/O为输入

/* 打开EINT3中断(使用非向量IRQ) */

VICIntSelect = 0x00000000; // 设置所有中断分配为IRQ中断

VICDefVectAddr = (int)IRQ_Eint3; // 设置中断服务程序地址

EXTMODE = 0x00; // 设置EINT3中断为电平触发模式

EXTINT = 1<<3; // 清除EINT3中断标志

VICIntEnable = 1<<17; // 使能EINT3中断,EINT3在Bit17上

while(1); // 等待中断

return(0);

}

(4)选用DebugInExram生成目标,选择Project->Make,编译连接整个工程。

(5)连接和MagicARM2200教学实验开发平台。将EasyJTAG仿真器的25针接口通过并口延长线与PC机的并口连接,将EasyJTAG仿真器20针接口通过20PIN连接电缆接到MagicARM2200教学实验开发平台的J3上,打开实验箱电源。

(6)将MagicARM2200实验教学平台上的跳线器JP9、JP22短接,JP20断开。

(7)选择Project->Debug,或者按下快捷键F5,启动AXD调试软件仿真调试。

(8)在中断服务程序中设置断点,全速运行程序,是EINT3为低/高电平,即反复按下与释放KEY1。

(9)单步/全速运行程序,观察程序是否正确运行,蜂鸣器是否蜂鸣。

【思考】

(1)能否设置P0.9、P0.20、P0.30管脚同时使用EINT3功能?如果能,那这3个管脚状态与中断是什么逻辑关系?(假设中断设置为低电平触发模式)

(2)中断服务函数为什么要使用__irq修饰?

(3)在VIC中,如何禁止某一个中断?假设系统使用了几个IRQ中断,如何一次全部禁止所有中断?

实验四:定时器实验

【实验目的】

熟悉LPC2200系列ARM7微控制器的定时器0/1的基本设置及应用。

【实验设备】

PC机一台,MagicARM2200教学实验开发平台一套,ADS 1.2集成开发环境

【实验内容】

使用定时器0实现1秒定时,控制蜂鸣器蜂鸣。采用软件查询方式等待定时时间到达。

【实验步骤】

(1)安装EasyJTAG仿真器的驱动程序(若已经安装过,此步省略),为ADS1.2增加LPC2200专用工程模板(若已经增加过,此步省略)。参考《ADS集成开发环境及仿真器应用》。

(2)启动ADS 1.2 IDE集成开发环境,使用ARM Executable Image for MagicARM2200工程模板建立一个工程TimerBeep_C。

(3)在user组中的main.c中编写主程序代码,参考程序见程序清单4.1。

程序清单4.1 定时器实验参考程序

/****************************************************************************

* 文件名:main.c

* 功能:使用定时器0实现1秒定时,控制蜂鸣器蜂鸣。(查询方式)

* 说明:JP22跳线短接,JP20跳线断开。

****************************************************************************/

#include "config.h"

#define BEEPCON 1<<7 // P0.7引脚控制B1,低电平蜂鸣/****************************************************************************

* 名称:Time0Init()

* 功能:初始化定时器0,定时时间为1S。

* 入口参数:无

* 出口参数:无

****************************************************************************/

void Time0Init(void)

{ /* Fcclk = Fosc*4 = 11.0592MHz*4 = 44.2368MHz

Fpclk = Fcclk/4 = 44.2368MHz/4 = 11.0592MHz */

T0PR = 99; // 设置定时器0分频为100分频,得110592Hz

T0MCR = 0x03; // 匹配通道0匹配中断并复位T0TC

T0MR0 = 110592; // 比较值(1S定时值)

T0TCR = 0x03; // 启动并复位T0TC

T0TCR = 0x01;

}

/****************************************************************************

* 名称:main()

* 功能:初始化I/O及定时器,然后不断的查询定时器中断标志。当定时时间到达时,

* 取反BEEPCON 控制口。

*************************************************************************/

int main(void)

{

PINSEL0 = 0x00000000; // 设置管脚连接GPIO

IO0DIR = BEEPCON; // 设置I/O为输出

Time0Init(); // 初始化定时器0

while(1)

{

while( (T0IR&0x01) == 0 ); // 等待定时时间到

T0IR = 0x01; // 清除中断标志

if( (IO0SET&BEEPCON) == 0 )

{

IO0SET = BEEPCON;

}

else

{

IO0CLR = BEEPCON;

}

}

return(0);

}

(4)选用DebugInExram生成目标,选择Project->Make,编译连接整个工程。

(5)连接和MagicARM2200教学实验开发平台。将EasyJTAG仿真器的25针接口通过并口延长线与PC机的并口连接,将EasyJTAG仿真器20针接口通过20PIN连接电缆接到MagicARM2200教学实验开发平台的J3上,打开实验箱电源。

(6)将MagicARM2200实验教学平台上的跳线器JP22短接,JP20断开。

(7)选择Project->Debug,或者按下快捷键F5,启动AXD调试软件仿真调试。可以全速运行程序,蜂鸣器会响1秒,停1秒,然后再响1秒......依次循环。

【思考】

(1)若要蜂鸣器响0.5秒,停0.5秒,在实验参考程序中应修改什么地方?

(2)若实验参考程序中设置T0PR=0,请使用Fpclk宏来设置T0MR0寄存器,实现1秒或0.5秒定时。(提示:Fpclk宏在项目的config.h文件中定义)

嵌入式系统综合实验一

嵌入式系统综合实验一

学号: 装 订 线 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 专业:测控技术与仪器 姓名:颜睿

装订 线1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发送响应信号,送出40bit 的数据,幵触发一次信采集。

b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低 电平保持时间不能小于18ms,然后等待DHT11 作出 应答信号。 装 线 订 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时, 等待外部信号低电平结束,延迟后DHT11 的DATA 引脚处于输出状态,输出80 微秒的低电平作为应答信 号,紧接着输出80 微秒的高电平通知外设准备接收数 据。

装 订线 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。 (2)数据格式 一次传送40 位数据,高位先出 8bit 湿度整数数据+ 8bit 湿度小数数据+8bit 温度整

嵌入式系统及应用 实验大纲

《嵌入式系统及应用》课程实验 一、实验课程的性质、目的和任务 性质:《嵌入式系统及应用》课程是自动化专业的专业基础课程,本实验课是该课程教学大纲中规定必修的实验教学内容。 目的和任务:通过实验环节来巩固和加深学生对嵌入式系统的理解,使学生掌握MCS51单片机和ARM的基本原理和应用技术。通过熟悉MCS51开发环境和ARM集成开发环境,使学生掌握嵌入式系统开发的一般规律和方法。在集成开发环境下,进行系统功能程序的编写和调试的训练,掌握嵌入式系统软硬件调试的一般方法和系统设计的能力。 二、实验内容、学时分配及基本要求

三、考核及实验报告 (一)考核 本课程实验为非独立设课,实验成绩占课程总成绩的15%,综合评定实验成绩。(二)实验报告 实验报告应包括: 实验名称 实验目的 实验内容与要求 设计思路(如:分析、程序流程图等) 实验步骤 实验代码(含必要注释) 实验结果分析 实验小结(本题调试过程中遇到的问题和解决方法、注意事项、心得体会等)注:综合型实验需写出系统功能、设计过程 实验报告的要求: 实验报告以文本形式递交,实验报告要书写规范、文字简练、语句通顺、图表清晰。 四、主要仪器设备 硬件:微型计算机;嵌入式系统开发平台。 软件:Keil C51;ADT 五、教材及参考书 教材

[1] 高锋.单片微型计算机原理与接口技术(第二版).北京:科学出版社,2007 [2] 自编.嵌入式系统及应用 参考书 [1] 王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2003 [2] 陈赜.ARM9 嵌入式技术及Linux高级实践教程.北京:北京航空航天大学出版社,2005 [3] 李忠民等.ARM嵌入式VxWorks实践教程.北京:北京航空航天大学出版社,2006

嵌入式综合实验报告

《嵌入式系统综合实验》报告 学号: 姓名: Shanghai University of Engineering Science School of Electronic and Electrical Engineering

基于STM32的GPS信息显示系统 ——嵌入式系统综合实验报告 班级:0211112 姓名:褚建勤学号:021111228 班级:0211112 姓名:于心忆学号:021111216 班级:0211112 姓名:乐浩奎学号:021111232 一、产品设计要求(产品规格描述) 1 、嵌入式产品名称 GPS信息显示系统 2 、嵌入式产品目的 在学校的生活中,你经常可能需要联系不是同一间宿舍的同学,但是你不能确定他现在在什么地方,这时候全球定位系统(GPS)就可以发挥作用了,但是传统的GPS系统只能提供经纬度信息,不能直观的显示你想要找到人在何处,我们的系统就在传统的GPS的基础上添加了对应位置显示的功能,方便你更方便更快捷的找到你想找的同学 3 、嵌入式产品功能 使用GPS输入用户位置信息 GPS将相关经纬度信息反馈给主处理器 主处理器处理相关位置信息并将信息转换为对应位置在LCD上显示出来 在LCD上输出用户状态信息 4 、嵌入式产品的输入和输出 输入设备:GPS系统 输出设备:LCD 二、产品方案设计(产品设计方案) 1 2 1 )处理器选择 本系统选用基于ARMCortex-M3内核的STM32F103RB嵌入式微控制器作为处理器。 ①选用原因 A 技术因素 工作频率: 最高72MHz。 内部和外部存储器: 128K字节的闪存程序存储器,用于存放程序及数据;多达20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

嵌入式学习心得体会5篇

嵌入式学习心得体会5篇 嵌入式学习心得体会(一) 首先我声明,我是基于嵌入式系统平台级设计的,硬件这个方向我相对来讲比较有发言权,如果是其它方面所要具备的基本技能还要和我们培训中心其它专业级讲师沟通。他们的方面上我只能说是知道些,但不是太多,初级的问题也可以问我。 对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的modem 射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15k以上。 另一类就是数字部分了,在大方向上又可分为51/arm的单片机类,dsp类,fpga 类,国内fpga的工程师大多是在ic设计公司从事ip核的前端验证,这部分不搞到门级,前途不太明朗,即使做个ic前端验证工程师,也要搞上几年才能胜任。dsp 硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。 而arm单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互pk,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如pxa255处理器i2c要求速度在100kbps,如果把一个i2c外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接lcd,但为什么这种lcd就不能挂在arm的总线上,还有arm7总线上可以外接个winband的sd卡控制器,但为什么这种控制器接不到arm9或是xscale处理器上,这些都是问题。 因此接口并不是一种简单的连接,要看时序,要看参数。一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师

嵌入式linux基本操作实验一的实验报告

实验一linux基本操作实验的实验报告 一实验目的 1、熟悉嵌入式开发平台部件,了解宿主机/目标机开发模式; 2、熟悉和掌握常用Linux的命令和工具。 二实验步骤 1、连接主机和目标板;(三根线,网线直接连接实验箱和PC机,实验箱UART2连接主机的UART口)。 2、Linux命令的熟悉与操作 PC端:在PC机的桌面上打开虚拟机,并启动Linux系统,打开命令终端,操作Linux基本命令,如:查看:ls,进入目录:cd,创建文件:mkdir,删除文件:rmdir,配置网络:ifconfig,挂载:mount,设置权限:chmod,编辑器:vi,拷贝:cp等命令,要求能熟练操作。 使用方法: 1.查看:ls Ls列出文件和目录 Ls–a 显示隐藏文件 Ls–l 显示长列格式ls–al 其中:蓝:目录;绿:可执行文件;红:压缩文件;浅蓝:链接文件;灰:其他文件;红底白字:错误的链接文件 2.进入目录:cd 改变当前目录:cd 目录名(进入用户home目录:cd ~;进入上一级目录:cd -) 3.创建文件:mkdir 建立文件/目录:touch 文件名/mkdir目录名 4.删除文件:rmdir 删除空目录:rmdir目录名 5.配置网络:ifconfig 网络- (以太网和WIFI无线) ifconfig eth0 显示一个以太网卡的配置 6.挂载:mount mount /dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘- 确定目录'/ mnt/hda2' 已经存在 umount /dev/hda2 卸载一个叫做hda2的盘- 先从挂载点'/ mnt/hda2' 退出fuser -km /mnt/hda2 当设备繁忙时强制卸载 umount -n /mnt/hda2 运行卸载操作而不写入/etc/mtab文件- 当文件为只读或当磁盘写满时非常有用 mount /dev/fd0 /mnt/floppy 挂载一个软盘 mount /dev/cdrom /mnt/cdrom挂载一个cdrom或dvdrom mount /dev/hdc /mnt/cdrecorder挂载一个cdrw或dvdrom mount /dev/hdb /mnt/cdrecorder挂载一个cdrw或dvdrom mount -o loop file.iso /mnt/cdrom挂载一个文件或ISO镜像文件

嵌入式基本实验

1.实验六(流水灯) (1) #include /* common defines and macros */ #include "derivative.h" /* derivative-specific definitions */ void delay(void) { int i,j; for(i=0;i<=1000;i++) for(j=0;j<=1000;j++); } void main(void) { DDRA=0xff;//定义A口输出 PORTA=0x00;//灯全灭 for(;;) { delay(); PORTA=0x55;//高电平灯亮 delay(); PORTA=~PORTA; } } (2)高位到低位逐个点亮 #include /* common defines and macros */ #include "derivative.h" /* derivative-specific definitions */ void delay() { unsigned int i,j; for(i=0;i<=100;i++) for(j=0;j<=100;j++); } void main(void) { DDRA=0xFF; PORTA=0x80; for(;;) { delay(); PORTA>>=1;//右移一位 if(PORTA==0x00)//反复循环 PORTA=0x80; }

} 低位到高位逐个点亮 #include /* common defines and macros */ #include "derivative.h" /* derivative-specific definitions */ void delay() { unsigned int i,j; for(i=0;i<=100;i++) for(j=0;j<=100;j++); } void main(void) { DDRA=0xFF; PORTA=0x01; for(;;) { delay(); PORTA<<=1;//左移一位 if(PORTA==0x00)//反复循环 PORTA=0x01; } } (3)与按键结合 #include /* common defines and macros */ #include "derivative.h" /* derivative-specific definitions */ void main(void) { DDRA=0xff; DDRH=0x00; for(;;) { PORTA=PTH^0x0f;//按下时灯灭,取反后按键灯亮 } } 2.实验七(定时器延迟流水灯) (1) #include /* common defines and macros */ #include "derivative.h" /* derivative-specific definitions */

嵌入式系统综合实验一

实验名称: 姓名: 学号: 装 订 线 P.1 实验报告 课程名称: 嵌入式系统设计 指导老师:马永昌 成绩:________________ 实验名称:综合实验一dht11和人体感应传感器 实验类型:验证型 同组学生姓名:孙凡原 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 一、实验目的和要求 1.掌握字符设备驱动程序的基本结构和开发方法 2.掌握用户空间调用设备驱动的方法 3.掌握用户和内核的交互 二、实验内容和原理 1.编写温湿度传感器DHT11驱动,传输打印温湿度信息 2.编写人体感应传感器驱动,控制LED 灯亮灭 原理: 温湿度传感器DHT11: 1.引脚图 实际使用传感器没有NC 引脚 2.数据采集 a.数据总时序 用户主机发送一次开始信号后,DHT11 从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11 发 专业:测控技术与仪器 姓名:颜睿 学号:3130103850 日期:2018.4.28 地点:创客空间

装订线送响应信号,送出40bit 的数据,幵触发一次信采集。 b.主机发送起始信号 连接DHT11的DATA引脚的I/O口输出低电平,且低电平保持时间不能小于18ms,然后等待DHT11 作出应答信号。 c.检测从机应答信号 DHT11 的DATA 引脚检测到外部信号有低电平时,等待外部信号低电平结束,延迟后DHT11 的DATA引脚处于输出状态,输出80 微秒的低电平作为应答信号,紧接着输出80 微秒的高电平通知外设准备接收数据。 d.接收数据 (1)数据判定规则 位数据“0”的格式为:50 微秒的低电平和26-28 微秒的高电平,位数据“1”的格式为:50 微秒的低电平加70微秒的高电平。 接收数据时可以先等待低电平过去,即等待数据线拉高,再延时60us,因为60us大于28us且小于70us,再检测此时数据线是否为高,如果为高,则数据判定为1,否则为0。

嵌入式实验心得体会

嵌入式实验心得体会 嵌入式实验心得体会是计算机专业应该具备的常用知识,以下这篇范文整理个人对嵌入式系统的认识,和进行操作之后的个人体会,对操作的疑难的反思。下面是这篇嵌入式实验心得体会 嵌入式实验心得体会 学期开始,我们开始学习《嵌入式系统及应用》,由于初次接触嵌入式系统,感觉蛮难的,所以收获不是很大,很多的概念都比较模糊,等到学期结束开始做嵌入式课程设计时,真是茫然无从下手,自,从拿到设计主题后,我就从像热锅像上的蚂蚁,一个字“急”。最后实在没有办“法,逼着自己去学法 习,查资料,总算对嵌入式有了资浅层理解。浅 嵌入式系统本本身是一个相对模糊的定义义,一个手持的mp3和一个一pc104的微型工业业控制计算机都可以认为是嵌入是式系统。总体来说,嵌入式系统是“用于控,制,监视或者辅制 助操作机器器和设备的装备”。一个典典型的桌面linux系统统包括3个主要的软件层---linux-内核、cc库和应用程序代码。内核核是唯一可以完全控制硬件的层,内核驱动程序代件表应用程表序与硬件之间进行行会话。内核之上是c 库,,负责把posixapii转换为内核可以识别的形形式,然后调用内核,从应应用程序向内核传递参数。应用程序依靠驱动内核。来完成特定的任务。来在了解了基础知识之后,我了开始进行上机操作,当然开,,其中遇到很多的难题,很多东西都是第一次接触很,又没有别,人在旁边指导操作,完全凭借自己去摸操索索练习。其中的困难可想而知。然而坚持就是胜利而,,牙一咬眼一闭坚持做下去去,而通过本次实验,我感觉收获还是蛮多的。可感能我对于嵌入能式的知识学习的还是不太多,但是这习之外的东西收获颇丰。之

嵌入式实验报告

目录 实验一跑马灯实验 (1) 实验二按键输入实验 (3) 实验三串口实验 (5) 实验四外部中断实验 (8) 实验五独立看门狗实验 (11) 实验七定时器中断实验 (13) 实验十三ADC实验 (15) 实验十五DMA实验 (17) 实验十六I2C实验 (21) 实验十七SPI实验 (24) 实验二十一红外遥控实验 (27) 实验二十二DS18B20实验 (30)

实验一跑马灯实验 一.实验简介 我的第一个实验,跑马灯实验。 二.实验目的 掌握STM32开发环境,掌握从无到有的构建工程。 三.实验内容 熟悉MDK KEIL开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。通过ISP 下载代码到实验板,查看运行结果。使用JLINK下载代码到目标板,查看运行结果,使用JLINK在线调试。 四.实验设备 硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。 软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。 五.实验步骤 1.熟悉MDK KEIL开发环境 2.熟悉串口编程软件ISP 3.查看固件库结构和文件 4.建立工程目录,复制库文件 5.建立和配置工程

6.编写代码 7.编译代码 8.使用ISP下载到实验板 9.测试运行结果 10.使用JLINK下载到实验板 11.单步调试 12.记录实验过程,撰写实验报告 六.实验结果及测试 源代码: 两个灯LED0与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。七.实验总结 通过本次次实验我了解了STM32开发板的基本使用,初次接触这个开发板和MDK KEILC 软件,对软件操作不太了解,通过这次实验了解并熟练地使用MDK KEIL软件,用这个软件来编程和完成一些功能的实现。作为STM32 的入门第一个例子,详细介绍了STM32 的IO口操作,同时巩固了前面的学习,并进一步介绍了MDK的软件仿真功能。

嵌入式实验

Part1------安装arm-2007q3-51-arm-none-linux-gnueabi-i686.tar.bz 1、通过Vmware的共享文件加载压缩文件 arm-2007q3-51-arm-none-linux-gnueabi-i686.tar.bz ①首先配置Vmware加载文件所在位置。 ②点击下方的Add按钮,添加文件所在文件夹,一路点击,直至完成,如图所示 2.

①进入linux系统,进入到挂载目录下 ●cd /mnt ②查看挂载目录mnt文件夹下所有目录,看是否有hgfs目录 ●ls ③进入到hgfs下查看,看是否有共享的的D盘 ●cd hgfs ④查看hgfs下文件夹的下的目录 ●Ls /*******************************************************************/ 进入到hgfs下查看,若能查看到对应目录则表示成功,如查看不到请运行下面命令 输入命令 ●cd /usr/bin ●./vmware-config-tools.pl 先后输入Y和N安装虚拟机工具即可 /****************************************************************************/ ⑤进入到挂载目录下的目标文件位置 (即一直进入到arm-2007q3-51-arm-none-linux-gnueabi-i686.tar.bz所在的目录) ●cd D/omap3530Linux/tools ⑥查看:ls ⑦然后输入命令:安装 /*********************************************************

嵌入式系统实验实验报告

嵌入式系统实验实验报告 一、实验目的 1.基本实验

. Word 资料搭建PXA270嵌入式LINUX开发软硬件环境;安装LINUX操 作系统;安装与配置建立宿主机端交叉编译调试开发环境;配置宿主机 PC 机端的minicom(或超级终端)、TFTP服务、NFS服务,使宿主PC机与PXA270开发板可以通过串口通讯,并开通TFTP 和NFS服务。 2.人机接口 键盘驱动;LCD控制;触摸屏数据采集与控制实验; 3.应用实验 完成VGA显示;Web服务器实验;网络文件传输实验;多线程应用实验。 4.扩展应用实验 完成USB摄像头驱动与视频采集;GPS实验;GSM/GPRS通讯;视频播放移植;USB蓝牙设备无线通讯;NFS文件服务器;蓝牙视频文件服务器。 5.QT实验 完成基本嵌入式图形开发环境搭建;“Hello world!”QT初探;创建一个窗口并添加按钮;对象通信:Signal和Slot;菜单和快捷键;工具条和状态栏;鼠标和键盘事件;对话框;QT的绘图;俄罗斯方块;基于QT的GSM手机在嵌入式LINUX下的设计与实现。 二、实验内容 1.人机接口实验 实验十九键盘驱动实验 ?实验目的:矩阵键盘驱动的编写

?实验内容:矩阵键盘驱动的编写 ?作业要求:完成键盘加减乘除运算 ?实验作业源码及注释: #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #DEFINE DEVICE_NAME “/DEV/KEYBOARD” INT MAIN(VOID){ INT FD; INT RET; UNSIGNED CHAR BUF[1]; INT I,F,J; DOUBLE X; INT A[2]={0}; CHAR PRE_SCANCODE=0XFF; FD=OPEN(DEVICE_NAME,O_RDWR); IF(FD==-1)PRINTF(“OPEN DEVICE %S ERROR\N”,DEVICE_NAME); ELSE{ BUF[0]=0XFF; I=0;F=0; WHILE(1){ READ(FD,BUF,1);

嵌入式实验报告心得

嵌入式实验报告心得 篇一:嵌入式系统原理实验总结报告 嵌入式系统原理实验总结报告 车辆座椅控制系统实验 XX/5/23 嵌入式系统原理实验总结报告 一、技术性总结报告 (一)题目:车辆座椅控制系统实验(二)项目概述: 1.为了实现车辆座椅控制的自动化与智能化。 2.方便用户通过智能手机与车载传感器之间的联动。 3.使车辆作为当今物联网中重要的一个节点发挥作用。 4.通过车辆座椅控制系统实验实现对嵌入式系统原理课程的熟练掌握与对嵌入式系统原理知识的深化记忆。 5. 加强本组学生对嵌入式系统原理的更深层次的理解与运用。 (三)技术方案及原理 本次试验分为软件、硬件两个部分。 1.软件部分。 A.智能手机部分,包括通过智能手机对座椅的控制部分、手机所携带的身份信息部分。 本部分软件使用Java编写,其程序部分为:主程序:package ;

import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ; import ;import ; import ; import ; public class MainActivity extends ActionBarActivity { private Button Up = null; private Button Left = null; private Button Dowm = null; private Button Right = null; private Socket socket = null; private static final String HOST = "";private static final int PORT = 10007; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(; initControl();} private void initControl() {

嵌入式实验

实验一、dip_switch 按键实验 一、实验目的 1.了解DIP_SWITCH 的用处。 2.了解C6748 连接的控制DIP_SWITCH 方法。 3.熟悉CCS 操作,学会使用工程,学习编译和下载、运行程序。 二、实验设备 1.PC 兼容机一台;操作系统为WindowsXP 或者以上版本。 2.ICETEK-C6748-AE 实验箱一台。如无实验箱则配备ICETEK-XDS100v2+仿真器和ICETEK–C6748-A,+5V 电源一只。 3.USB 连接电缆一条。 三、实验原理 ICETEK-C6748-AE 通过GPIO 来控制拨码开关的,通过对对应的GPIO 引脚的读,可以知道拨码开关的状态,再通过对GPIO 控制led 的显示,把拨码开关的状态显示出来。 2.实验程序流程图:

四、实验步骤 1.实验准备: (1) 连接实验箱: (2) 准备进行硬件仿真: (3) 检查ICETEK- C6748-KB 板上跳线选择器U15 为0000。 2.启动Code Composer Studio v5 3.打开工程文件: 工程文件目录为:C:\ICETEK\ICETEK-C6748-AE\Lab0301-Led_dip 打开源程序LED.c 阅读程序,理解程序内容。 4.点击图标,ccs 会自动连接,编译和下载程序。 5.运行程序,观察结果。 6.退出CCS。 五、实验结果 [C674X_0] ------------------------------------------------------------ C6748-A LED and Dip Switch Test Test Description ---------------- this code will begin by flashing the leds, then it will sit in a forever loop checking the dip switches. when a change in the dip switches is detected, a message will be printed to stdout and an led will be toggled. ------------------------------------------------------------ Initialize the Required BSL Modules ----------------------------------- Execute Test ------------ flash led patterns loop forever printing dips switch status and setting leds based on dips 拨动相应的拨码开关 SW1,对应的 led 灯会跟着亮灭 六、问题与思考 拨码开关用到的gpio 口是与EMIFA 数据线复用的,应用时注意避免硬件间的冲突。七、实验心得 通过这次实验我们了解了dip_switch 按键的使用方法,熟悉了CCS 操作,了解了C6748 连接的控制DIP_SWITCH 方法。 实验二.RTC 实验 一、实验目的 1.了解RTC 的用途。 2.了解C6748 连接的控制的访问RTC 的方法。 3.熟悉CCS 操作,学会使用工程,学习编译和下载、运行程序。 二、实验设备 1.PC 兼容机一台;操作系统为WindowsXP 或者以上版本。 2.ICETEK-C6748-AE 实验箱一台。如无实验箱则配备ICETEK-XDS100v2+仿真器和ICETEK–C6748-A,+5V 电源一只。 3.USB 连接电缆一条。

嵌入式应用开发实验指导书 (1)

实验一基本接口实验(一) [实验设备] 1.JXARM9-2410教学实验箱 2.ADT1000仿真器和ADT IDE集成开发环境 3.串口、并口连接线 [实验目的] 1.掌握ARM的串行口工作原理,编程实现ARM的UART通讯; 2.掌握嵌入式系统中断的处理流程和ARM中断编程; 3.在ADT环境下如何建立工程,对工程进行正确的设置。添加相应文件(汇编、脚本、.c 源文件等) [实验内容一] 实现查询方式串口的收发功能。接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。 [预备知识] 1.了解ADT集成开发环境的基本功能 2.学习串口通讯的基本知识 3. 熟悉S3C2410串口有关的寄存器 [基础知识] 串行通信接口电路组成 1.可编程的串行接口芯片 2.波特率发生器 3.EIA与TTL电平转换器 4.地址译码电路 通信协议: 1.异步协议 2.同步协议 异步串行通讯 异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。 数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。 接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。为了恢复发送的信息,双方必须协调工作。 在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。 异步串行通信中的字符传送格式

开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0” 作为起始位,然后出现在通信线上的是字符的二进制编码数据。 每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。也可以约定不要奇偶校验,这样就取消奇偶校验位。 最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。 至此一个字符传送完毕,线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送才又发出起始位。 每一个数据位的宽度等于传送波特率的倒数。微机异步串行通信中,常用的波特率为110,150,300,600,1200,2400,4800,9600 等。 DB-25 DB-9引脚定义 DB-25 DB-9引脚说明

嵌入式心得体会

对于电焊,虽然一点都不陌生,但亲手操作的机会却只有几次,因此我很庆幸能够有这样的焊接机会,进行这样的实践。 焊接看似容易,实则需要长时间练习才能掌握。刚开始的时候,手一直在抖,尤其这次焊的还是贴片电容、电阻,原器件比以前焊的小好多,用镊子的手一抖就夹不住了,拿着烙铁的手抖得都不容易将器件焊上,焊出来的焊点也特别难看,在不断尝试,不断挑战自我的过程中,我的手不抖了,也基本能掌握锡的用量了,当焊点终于不再“丑不忍睹”的时候,对焊接也没有当初的恐惧了。对自己的动手能力也有了信心。 在焊接的过程中我学到了许多以前我不知道的东西,比如,以前我只知道有电烙铁,但不知道它还有好多种类,有单用式、两用式、调温式、恒温式、直热式、感应式、内热式和外热式。松香可以将多余的锡弄下来,用酒精可以把板擦的干净些。通过视频和查找资料,知道了在焊不同的器件时用的电烙铁的头不同,比如在焊引脚时要用尖头,焊CPU时要用刀口,为防止锡将焊引脚的小孔堵住,用松香把纸条粘在小孔上,把小孔盖住,把CPU的引脚对齐,用锡先涂满两边,固定好芯片,在焊另外两边,然后用尖头的电烙铁沾着松香将多余的锡弄下来。 本次课程设计的是信号发生器,信号发生器在EDA课程,数字信号处理课程中都曾涉及,所以还是较为熟悉的,在设计之前查阅了一些相关书籍,也从网上查找了一些相关资料,程序代码中运用到了C语言,将程序加入到嵌入式结构框架中,进行定义变量,端口,设定所用的GPIO参数等等。 在焊接的过程中我不仅学到了知识,而且让我深深地体会到一个团队中各成员合作的重要性,要善于团队合作,在进行团队合作的时候,还要耐心听取每个成员的意见,每个人都有长处和短处,只有在包容别人的同时我们才可以取长补短,不断完善和不断进步,交到更多的朋友,学到更多的知识。同时还让我明白:做任何事都要一心一意,严谨认真,反复琢磨,不能畏惧,要有信心和勇气,一定要做好充分的准备。不能盲目去做,要坚持,还要学会反思跟总结,我们不是为了完成任务而完成,这还是一个学习跟提高的过程。 在大学里学的不是知识,而是一种叫做自学的能力。在这个知识爆炸的时代,知识更新太快,靠原有的一点知识肯定不行。以后的工作中肯定会用到一些新的

嵌入式实验报告心得

竭诚为您提供优质文档/双击可除 嵌入式实验报告心得 篇一:嵌入式系统各实验实验报告 嵌入式系统设计实验报告 班级:学号:姓名:成绩:指导教师: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 1.实验一 1.1实验名称 博创up-net3000实验台基本结构及使用方法 1.2实验目的 熟悉up-net3000实验平台的核心硬件电路和外设 通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态 1.3实验环境 硬件:ARm嵌入式开发平台、用于ARm7TDmI的JTAg仿真器、pc机 pentium100以上。 软件:pc机操作系统windows、ADs1.2集成开发环境、

仿真器驱动程序、 超级终端通讯程序。 1.4实验内容及要求 一、内容 ①嵌入式系统开发流程概述 ②熟悉up-net3000实验平台的核心硬件电路和外设 ③ARmJTAg的安装与使用 ④通过操作系统自带的通讯软件超级终端,检验各个外设的工作状态 二、要求 通过本次课程对各个外设的了解,为今后各个接口实验打下基础。 1.5实验设计与实验步骤 一、JTAg的驱动程序的安装: 执行armJtag目录下armJtagsetup.exe程序,选择安装目录,安装JTAg软件。 二、通过通讯软件超级终端来检验外设的工作状态: ①运行windows系统下的超级终端(hyperTerminal)应用程序,新建一个通信终端。为所建超级终端取名为arm,可以为其选择第一个图标。单击“确定”按钮。 ②在接下来的对话框中选择ARm开发平台实际连接的pc 机串口(如com1),按确定按钮后出现属性对话框,设置通

嵌入式系统实验报告

嵌入式系统实验报告文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

大连理工大学 本科实验报告 课程名称:嵌入式系统实验 学院(系):电子信息与电气工程学部 专业:自动化 班级: 0804 学号: 学生姓名:何韬 2011年 11月 18日 大连理工大学实验报告 学院(系):电信专业:自动化班级: 0804 姓名:何韬学号:组: ___ 实验时间: 2011-11-12 实验室: d108 实验台: 指导教师签字:成绩: 实验二ARM的串行口实验 一、实验目的和要求 见预习报告 二、实验原理和内容 见预习报告 三、主要仪器设备

硬件:ARM嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC机Pentium100 以上、串口线。 软件:PC 机操作系统win98、Win2000 或WinXP 、ARM SDT 或集成开发环境、仿真器驱动程序、超级终端通讯程序。 四、实验步骤 见预习报告 五、核心代码 在主函数中实现将从串口0接收到的数据发送到串口0() int main(void) { char c1[1]; char err; ARMTargetInit(); 通过调用OSTaskCreate()或OSTaskCreateExt()创建至少一个任务; . OSStart(); /ucos-ii/" /* uC/OS interface */ #include "../ucos-ii/add/" #include "../inc/" #include "../inc/sys/" #include "../src/gui/" #include <> #include <>

嵌入式系统实验报告

郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 20 – 20第学期 赵成,张克新 院系: 姓名: 专业: 学号: 电子通信工程系 2014年3月制

实验一ARM体系结构与编程方法 一、实验目的 了解ARM9 S3C2410A嵌入式微处理器芯片的体系结构,熟悉ARM微处理器的工作模式、指令状态、寄存器组及异常中断的概念,掌握ARM指令系统,能在ADS1.2 IDE中进行ARM汇编语言程序设计。 二、实验内容 1.ADS1.2 IDE的安装、环境配置及工程项目的建立; 2.ARM汇编语言程序设计(参考附录A): (1)两个寄存器值相加; (2)LDR、STR指令操作; (3)使用多寄存器传送指令进行数据复制; (4)使用查表法实现程序跳转; (5)使用BX指令切换处理器状态; (6)微处理器工作模式切换; 三、预备知识 了解ARM嵌入式微处理器芯片的体系结构及指令体系;熟悉汇编语言及可编程微处理器的程序设计方法。 四、实验设备 1. 硬件环境配置 计算机:Intel(R) Pentium(R) 及以上; 内存:1GB及以上; 实验设备:UP-NETARM2410-S嵌入式开发平台,J-Link V8仿真器; 2. 软件环境配置 操作系统:Microsoft Windows XP Professional Service Pack 2; 集成开发环境:ARM Developer Suite (ADS) 1.2。 五、实验分析 1.安装的ADS1.2 IDE中包括和两个软件组件。在ADS1.2中建立类型的工程,工程目标配置为;接着,还需要对工程进行、及链接器设置;最后,配置仿真环境为仿真方式。 2.写出ARM汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。 ; 文件名:

嵌入式心得体会解读

嵌入式心得体会 嵌入式心得体会一:嵌入式学习心得体会 4月10号,为期一个阶段的Linux开发基础培训课程圆满结束,回首这些天所留下的点点滴滴,感触深深,学习上知识点的积累,灵活运用的过程中感受到了Linux操作的快速高效性能,这也是我所追求的效率! 当初初涉培训课程的第一门课程时,都说Linux操作很繁琐复杂,心里总有些顾忌,带着种种不安与些许拼博的决心,开始了自我提升阶段的“充电”,由徐海兵老师教授我们基础课程的培训,我们则像着小学生般认真的记着笔记,仔细听着并学会如何去在实践中运用所学的Linux下的各种强大的命令集。 在Unit 1中,徐老师详细生动的为我们讲述了有关Linux的诞生、初成长以及辉煌的发展至今,今后应用范围则愈来愈广泛,讲解了为Linux这个伟大的OS做出巨大贡献的一位位出色的、伟大的人物,他们那种学习钻研的精神、锲而不舍的信念、勇于把握住难得的机会,从小处着手,踏踏实实的创造出了对人类科技发展做出卓越贡献的Linux(Unix)系统,他们的种种,都值得我们去深刻反省、刻苦学习、传承并永远发展下去。 查看ip地址和重启网络服务是我学的第一个命令: ifconfig eth0、ifconfig eth0 IP 地址、service network restart。了解到远程登录软件可用xmanager。 secureCRT是我们常用的,安装好后利用其登录到了Red hat Linux,需要知道Linux 主机的ip 地址。徐老师为我们介绍了重要内容:SHELL,即运行程序的程序,如echo $$SHELL可查看SHELL的环境变量是csh还是bash。指令pwd可查看当前所在路径,passwd:更改Linux下的密码,仅限root用户有此权限,当然我们是利用虚拟机VMware 程序来运行Linux OS的,懂得了如何设置虚拟机的网卡设置、暂停、恢复、全屏等。 简单的学习后进入Unit 2,命令行的句法让我懂得了用法规则,一系列的命令功能强大:

相关文档