文档库 最新最全的文档下载
当前位置:文档库 › 嵌入式系统及应用实验指导书

嵌入式系统及应用实验指导书

嵌入式系统及应用实验指导书
嵌入式系统及应用实验指导书

嵌入式系统及应用实验指导书

李剑编

中国矿业大学

信息与电气工程学院

2012年12月

实验要求

实验前应充分预习阅读实验指导书,查看相关技术文档,复习教材中有关内容。明确实验目的、实验原理及内容,以减少实验中的盲目性,提高主动性。自行拟定实验步骤,掌握注意事项。

实验报告在实验完成后一周内交到实验室,采用统一报告纸,手写完成,

并装订成册。

目录

嵌入式系统与应用实验硬软件介绍

实验一 ADI IDE嵌入式集成开发环境基础实验

实验二嵌入式Linux应用程序开发基础实验

嵌入式系统与应用实验硬软件介绍

一、JXARM9-2410实验箱硬件简介:

图1 JXARM9-2410实验箱结构示意图

JXARM9-2410教学实验系统的硬件部分包括:基本模块、调试模块、通讯模块、人机交互模块、A/D模块、步进电机驱动模块、IDE/CF接口模块、GPRS模块、GPS模块。

1. 基本模块:

SDRAM存储器:主板包含64MB SDRAM。由一片16位数据宽度的SDRAM存储器组成,地址从

0x30000000~0x33fffffff。

FLASH 存储器:主板包含32MB NOR FLASH存储器和8MB NAND FLASH,NOR FLASH内部存放启动代码Bootloader、Linux 内核映象、IIS测试声音文件等。其数据宽度为32位,地址从:

0x00000000~0x01ffffff;NAND FLASH中包含一个cramfs文件系统,在Linux中使用。

串行通讯口:主板包含3 个UART接口:UART0和UART1 用作RS232 串行接口,UART2 用作RS485 接口。UART0在Bootloader、演示程序、Linux 和多个实验中用于人机交互(通过超级终端)以及文件传输;

IIS 录放音接口:主板有一个可以基于DMA 操作的IIS 总线接口,可进行立体声录放音;

I2C 总线接口:与24C08 芯片接口,可以存放一些固定的配置数据;

4 个LED 跑马灯:可独立软件编程;

6 个七段数码管:6个共阳七段数码管;

外部中断测试:一个按键用于外部中断0 的测试;

复位按键:按键用于CPU 复位;

两通道通用DMA,两通道具有外部请求引脚的外设 DMA;

五个PWM 定时器和一个内部定时器;

看门狗定时器;

8 通道10-bit ADC。

2. 调试模块:

标准JTAG接口:14针标准JTAG接口,该接口用于高速仿真调试;

简易调试接口并口:直连标准计算机并口,调试接口,该接口用于简易仿真调试。

3. 通讯模块:

以太网通讯接口:10M以太网卡;

USB接口:遵循USB1.1标准;

标准计算机打印口(并口)。

4. 人机交互模块:

显示器/触摸屏:8英寸,TFT LCD显示器,640X480;

按键:4X4按键。

5. A/D模块:

10bit A/D模块。

6. 步进电机驱动模块:

两相步进电机驱动。

7. IDE/CF接口模块:

标准IDE硬盘接口;

标准CF卡接口。

8. GPRS模块:

GPRS无线通讯模块。

9. GPS模块:

GPS全球定位系统模块。

二、JXARM9-2410实验箱硬件资源分配

在使用实验箱中的各个模块硬件资源时,需了解模块对应的地址空间及空间组织,以便编程调用。

1. 地址空间分配以及片选信号定义

表1 ARM9-2410 地址空间分配表

2. RAM空间组织

存储空间的定制是嵌入式系统开发的一个特色,我们可以根据自己的需要自行规定内存的使用。在本教学实验系统中,SDRAM地址范围从0x30000000–0x33ffffff共64Mbytes。在不同的程序中,SDRAM空间范围被分配成不同的区域用于不同的用途,下表是实验测试程序所用的一个默认分配方式,它的代码空间和数据空间分配如下:

表2 SDRAM空间组织分布

3. FLASH空间组织

FLASH 地址范围从0x00000000–0x01ffffff共32Mbytes。其空间组织如下表,各地址空间对应了不同的用途:

表3 FLASH 空间组织分布

三、超级终端的使用

普通PC软件开发是使用键盘和显示器作为标准输入输出设备,而嵌入式系统开发一般使用串口作为标准输入输出设备。嵌入式系统上电后执行u-boot代码进行系统引导,在u-boot中指定了串口0作为输入输出设备。这对于我们进行嵌入式应用非常重要。

超级终端是windows XP系统自带的终端连接软件,当连接设备选择为串口时,即可作为实验箱的输入输出界面使用。Widows 7等版本不自带超级终端,但网上有大量的类似软件可以使用。下面介绍超级终端的使用方法。

下图给出了xp系统中超级终端打开的路径:

图2 超级终端打开路径

打开超级终端后弹出的画面如图3所示,随意给新建连接起个名称,如ARM、ARM2410:

图3 超级终端界面1

点击确定后,弹出的界面如图4所示:

图4

再点击取消,界面如图5所示,此时还为设置连接。

图5

点击图5中红圈所圈的工具图标,弹出的设置对话框如图6所示

图6 超级终端设置对话框

点击“连接时使用”的下拉条,选中相应的串口设备,普通PC机上一般是com1。如果是笔记本或其他电脑没有自带串口的,一般使用USB转串口设备,此时需先打开系统的设备管理器,找到端口一项,查看USB serial的端口号。然后点击超级终端设置对话框中的设置按钮,打开串口属性设置对话框,设置如图7所示:

图7 串口属性设置对话框

按照图7所示进行设置后,点击确定后返回到图6对话框,再点击确定,回到主界面,点击呼叫图标(有时候设置好后返回主界面会自动连接呼叫)如图8所示红圈内的电话标志,就可以连接外部串口设备了。如果要断开连接就点击旁边的断开图标。

图8

用串口线连接到JXARM9-2410实验箱的串口0上,打开超级终端的呼叫图标,然后打开实验箱的电源,正常情况下超级终端会显示如下信息,如图9所示:

四、嵌入式Linux开发环境的建立(JXARM9-2410实验箱)

嵌入式Linux开发环境主要包括四个方面:选择并安装一个合适的主机Linux操作系统;在主机Linux系统中安装tftp服务器;在主机中安装Linux系统;在主机Linux系统安装交叉编译器。

1.安装主机Linux操作系统

要进行嵌入式linux的开发首先要按照好一个主机开发环境,因为嵌入式linux下的大部分开发工作都是在pc中开发的。如果你的机器足够好(内存至少大于1GB),那么建议首先在Windows下安装一个虚拟机软件vmware,毕竟Windows下可用的工具比较多,再在vmware基础上安装一个桌面版本的Linux系统。实验室使用的是vmware-8.0和Ubuntu-11.10,这2个软件都可以在网上下载到。

由于在linux系统的开发过程中需要经常使用管理员权限,因此建议使用root登录linux系统。通常新建系统是不允许root登录的,如何获得root登录则需根据不同的linux系统版本在网络上查找方法,本文不详细介绍。

2.建立tftp服务器

在嵌入式linux开发过程中需要使用tftp方式从Linux主机下载文件到板子中,因此需要在主机linux系统中安装tftp服务器。

(1)安装tftp软件

在Ubuntu的终端中输入“apt-get install tftpd tftp xinetd”,默认执行到结束。

(2)建立配置文件

在终端中输入“gedit /etc/xinetd.d/tftp”新建一个tftp配置文件,并在文件中输入:service tftp

{

socket_type = dgram

protocol = udp

wait = yes

user = root

server = /usr/sbin/in.tftpd

server_args = -s /tftpboot

disable = no

per_source = 11

cps = 100 2

flags = IPv4

}

服务器的根目录地址即为tftpboot。

(3)重启服务

在终端中输入“/etc/init.d/xinetd restart”。

3.建立nfs服务器

在嵌入式linux开发的时候,常常需要使用nfs以方便程序的调试。使用nfs,用户可以将板子要用到的根文件系统放在主机目录下,开发板则通过以太网挂载到这个目录并将这个目录下的文件作为根文件系统的内容,这样用户的程序更新后不比重新烧写板子的根文件系统便能被重新使用,这点能够大大加快程序的调试。

Ubuntu下安装nfs服务器的步骤如下:

(1)进行NFS服务器端与客户端的安装:

apt-get install nfs-kernel-server

(2)配置挂载目录和权限

gedit /etc/exports

在最后一行添加配置如下:

/nfsboot *(rw,sync)

其中/nfsboot指的是是NFS的共享目录,*表示任何IP都可以共享这个目录,你可以改为受限的IP,rw表示的是权限,sync是默认的。

(3)重启NFS服务

/etc/init.d/nfs-kernel-server restart 重启nfs服务

4.安装交叉编译链

arm处理器不断发展,已经有很多种架构,针对不同的arm架构和linux内核版本,需使用不同的编译器。JXARM9-2410的嵌入式linux系统使用的是版本为2.95.3。ARM11H或其他嵌入式设备的交叉编译器版本不同,但安装安装方法类似。

(1)安装编译器

将附件文件cross-2.95.3.tar复制到Ubuntu主文件夹下,然后打开终端执行:

mkdir /usr/local/arm

cp cross-2.95.3.tar /usr/local/arm

cd /usr/local/arm

tar xvf cross-2.95.3.tar

rm /usr/local/arm/cross-2.95.3.tar

(2)将编译器添加到环境变量中

为了使用方便,还可以编辑/etc/bash.bashrc文件添加把编译器路径到环境变量PATH中,只要在这个文件中添加下面这个语句即可:

export PATH=$PATH:/usr/local/arm/2.95.3/bin:

编辑完毕后使用source /etc/bash.bashrc命令执行以下这个文件,让设置生效。

5. 安装内核树

要安装与目标板一样版本的内核树,查看内核版本方法: uname -r

将内核压缩包解压到工作目录下,然后依次执行命令

make oldconfig

make zImage

执行此命令时若遇见cc1: error: unrecognized command line option "-mlittle-endian" 错误,解决问题方法:make CROSS_COMPILE=arm-linux- zImage。

make modules

make modules_install后就安装成功

没有内核树是无法单独编译驱动模块的,一些库文件无法找到。

实验一ADI IDE嵌入式集成开发基础实验

一、实验目的

1.了解ADT IDE的 ARM开发环境;

2.掌握ADT IDE开发环境中基本的工程设置以及程序编译方法;

3.掌握ADT IDE开发环境中基本的程序调试方法。

二、实验内容

在ADT集成开发环境中编写数码管显示程序,利用6位数码管构成一个简易秒表。

三、实验设备

1.硬件:JXARM9-2410教学实验箱、PC机;

2.软件:PC机操作系统 Windows 98(2000、XP) + ADT 1000开发环境。

四、实验预备知识

更详细的内容见《ARM9 嵌入式技术及嵌入式 Linux 高级实践教程》第4章。

1.C语言的基础知识;

2.ADI IDE集成开发环境的程序调试基础知识和方法;

3.LED数码管基本原理;

发光二极管数码显示器简称LED显示器。LED显示器具有耗电省、成本低廉、配置简单灵活、安装方便、耐振动、寿命长等优点,目前广泛应用于嵌入式系统中。

7段LED由7个发光二极管按“日”字形排列,所有发光二极管的阳极连在一起称共阳极接法,阴极连在一起称为共阴极接法。一般共阴极可以不需外接电阻,但共阳极接法中发光二极管必须外接电阻。LED的结构及连接图见下图。

当选用共阴极的LED显示器时,所有发光二极管的阴极连在一起接地,当某个发光二极管的阳极加入高电平时,对应的二极管点亮。因此要显示某字形就应使此字形的相应段的二极管点亮,也就是送一个用不同电平组合代表的数据字来控制LED的显示,此数据称为字符的段码。字符0、1、2…F 与LED码段A、B、C…F以及DP(小数点)的关系如表4:

说明:共阴的LED,被选中时的段为高电平有效,熄灭的段码为00H;

共阳的LED,被选中时的段为低电平有效.熄灭的段码为FFH。

LED显示器的接口一般有静态显示与动态显示接口两种方式,下面分别加以介绍。

1)静态显示

LED数码管采用静态接口时,共阴极或共阳极点连接在一起接地或接高电平。每个显示位的段选线与一个8位并行口线对应相连,只要在显示位上的段选线上保持段码电平不变,则该位就能保持相应的显示字符。这里的8位并行口可以直接采用并行I/O口,也可以采用串入/并出的移位寄存器或是其它具有三态功能的锁存器等。

2)动态显示

在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O 口控制。而共阴(或共阳)极公共端分别由相应的I/O线控制,实现各位的分时选通。由于各个数码管是共用同一个段码输出口,分时轮流通电的,从而大大简化了硬件线路,降低了成本。不过这种方式的数码管接口电路中数码管不宜太多,一般在8个以内,否则每个数码管所分配的实际导通时间会太少,显得亮度不足。若LED位数较多时应采用增加驱动能力以提高显示亮度。

本实验中采用的是动态显示接口,其中数码管扫描控制地址为0x0:1000006,位0-位5每位分别对应一个数码管,将其中某位清0来选择相应的数码管,地址0x01000004为数码管的数据寄存器。数码管采用共阳方式,向该地址写一个数据就可以控制LED的显示,其原理图如下图所示:

五、实验步骤

1.硬件连接

将实验箱的电源线接到电源插座上,使用串口连接线连接PC串口端和实验箱串口0,使用并口线连接PC机并口端和实验箱的简易JTAG并口调试端。

2.超级终端

按照前面的内容建立好一个超级终端后,打开实验箱电源,检查U-boot启动是否正常

3.建立工程

1)(以英文版为例,汉化版请同学们自己对照)打开ADT IDE,点击“File->New菜单”,弹出New对话框,如上图所示,选择Project页,在Project页中选择调试设备,对于简易调试器的用户,请选择“ARM9SIMPLE”,在“Project name”和“Location”中输入工程名称和路径,请注意路径和工程名中不能包含空格。在工程类型中选择“EXEC”。

2)新建一个文件并保存为d:\leddemo\leddemo.c,编辑该文件,添加如下代码:

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

/*文件名称: LEDSEG7.C */

/*实验现象:数码管依次显示出0、1,2、……9、a、b、C、d、E、F */

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

#define U8 unsigned char

static int delayLoopCount=1000;

unsigned char seg7table[16] = {

/* 0 1 2 3 4 5 6 7*/

0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,

/* 8 9 A B C D E F*/

0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e,

};

void Delay(int time);

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

/* 函数说明: JXARM9-2410 7段构共阳数码管测试 */ /* 功能描述: 依次在7段数码管上显示0123456789ABCDEF */

/* 返回代码: 无 */

/* 参数说明: 无 */

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

void Test_Seg7(void) {

int i;

*((U8*) 0x010000006) = 0x00;/*为什么是0x01000006?它是做什么用的?*/

for( ; ; ) {

/* 数码管从0到F依次将字符显示出来 */

for(i=0;i<0x10;i++) {

/* 查表并输出数据 */

*((U8*) 0x010000004) = seg7table[i]; /* 0x01000004又是做什么用的?*/

Delay (1000);

}

/* 数码管从F到0依次将字符显示出来 */

for(i=0xf;i>=0x0;i--) {

/* 查表并输出数据 */

*((U8*) 0x010000004) = seg7table[i];

Delay (1000);

}

}

}

/****************************************************************************/ /* Function name : 循环延时子程序 */ /* Description : 循环 'time' 次 */ /* Return type :void */ /* Argument : 循环延时计数器 */ /****************************************************************************/ void Delay(int time) {

int i;

for(;time>0;time--)

for(i=0;i

}

3) 将leddemo.c文件加入到工程leddemo中,如下图所示,点击右键菜单:

将弹出文件选择对话框,选择d:\leddemo\leddemo.c文件,并点击“打开”按钮。

4) 新建一个文件并保存为d:\leddemo\ldscript,编辑该文件,添加如下内容:SECTIONS

{

. = 0x30000000;

.text : { *(.text) }

Image_RO_Limit = .;

Image_RW_Base = .;

Image_RO_Base = .;

Image_RW_Limit = .;

.data : { *(.data) }

.rodata : { *(.rodata) }

Image_ZI_Base = .;

.bss : { *(.bss) }

Image_ZI_Limit = .;

__bss_start__ = .;

__bss_end__ = .;

__EH_FRAME_BEGIN__ = .;

__EH_FRAME_END__ = .;

PROVIDE (__stack = .);

end = .;

_end = .;

.debug_info 0 : { *(.debug_info) }

.debug_line 0 : { *(.debug_line) }

.debug_abbrev 0 : { *(.debug_abbrev)}

.debug_frame 0 : { *(.debug_frame) }

}

该文件为链接脚本文件,链接脚本文件中全部使用半角符号,文件编写格式必须从SECTIONS关键字开始,紧接着是开大括号,后面是所有需要输出的描述部分,最后用闭大括号收尾。具体意义参考附录A。该文件必须通过第5步中的工程设置对话框设置到链接参数中才有效。

鼠标右键点击工程中的MISC目录,选择添加文件,将该文件添加到工程中。

5) 如下图所示,在工作区窗口中的leddemo工程名上右键点击并选择“Setting”菜单项。

弹出设置对话框,选择“Link”页,在“Link script”链接脚本中输入“.\ldscript”,点击“OK”按钮。

6) 如下图所示,在工作区窗口中的leddemo工程名上右键点击并选择“Build”菜单项。

编译成功后结果如下图所示。

7) 如并口线已经连接到JXARM9-2410 的简易JTAG并口上,且实验箱已经上电,就直接点击“Debug”菜单的“Remote Connect”进行连接,如下图所示。

基于STM32F103嵌入式实验指导书

实验一、STM32的开发环境与简单工程 一、实验目的 1、熟悉STM32开发板的开发环境; 2、熟悉MDK创建和配置STM32工程项目的基本流程; 3、熟悉STM32官方库的应用; 4、规范编程格式。 二、实验内容 本次实验配置MDK集成开发环境,新建一个简单的工程文件,添加STM32官方库并配置工程,编译运行这个工程文件。下载已经编译好的文件到开发板中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。 三、预备知识 基本单片机硬件知识、单片机软件编程语言、程序创建和调试的基本方法。 四、实验设备及工具 硬件:STM32开发平台 软件:STM32官方库;PC机操作系统Windows 98、Windows 2000或Windows XP;KEIL MDK 集成开发环境;串口转usb驱动。 五、实验步骤 1、在准备存放工程文件的目录下创建一新文件夹,命名为Proj_GPIO;在Proj_GPIO 文件夹里面分别再创建四个文件夹:CMSIS、USER、LIB、OBJ。如图1。 其中CMSIS(Cortex Microcontroller Software Interface Standard)用于存放Cortex-M 处理器系列的与供应商无关的软件抽象层和启动相关的代码文件; USER用于存放我们自己编写的代码文件(含自己移植的底层驱动),还有MDK工程; LIB存放所有的官方底层驱动库文件; OBJ用于工程输出的过程文件和最终的二进制文件。 图1

2、将官方库STM32F10x_StdPeriph_Lib_V3.5.0.rar解压。 1)把STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下的所有文件和STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下的所有文件都到第一步所创建的CMSIS文件夹中; 2)把STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver目录下的文件(目录inc和scr)复制到第一步创建的LIB文件夹中; 3)把STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template目录下的stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h三个文件复制到USER文件夹中。 3、打开MDK软件,新建一个工程Proj_GPIO保存到Proj_GPIO/USER中。CPU选择STM32F103ZE,如图2; 图2 4、新建一个空文档main.c保存到USER中,然后根 据绝对路径将文件对应添加到工程中,如右图。 5、配置工程属性,右键点击工程文件中的Target 1选择Options for Target ‘Target 1’打开工程选项对话框。做如下修改: 1)Output选项勾选Create HEX File,然后点击Select Folder for Objects按钮定位输出文件保存目录到工程的OBJ文件; 2)Listing选项,同样点击Select Folder for Listings定位输出文件保存目录到工程的OBJ 文件; 3)C/C++选项,Define中填入 STM32F10X_HD, USE_STDPERIPH_DRIVER系统的两个基 本宏定义;配置Include Paths属性,加入工 程中包含头文件的目录;如右图

嵌入式ADS实验指导书

实验一嵌入式微处理器系统的开发环境 一、实验环境 PC机一台 软件: ADS 1.2集成开发环境一套 二、实验目的 1.了解嵌入式系统及其特点; 2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序 三、实验容 1.嵌入式系统的开发环境、基本配置 2.使用汇编指令完成简单的加法实验 四、实验步骤 (1)在D:\新建一个目录,目录名为experiment。 (2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。启动ADS 1.2 如图1-1所示: 图1-1启动ADS1.2 (3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮, 也可以在“File”菜单中选择“New…”菜单。这样就会打开一个如图1-2 所示的对话框。选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。 图1-2 新建文件 在这个对话框中为用户提供了7 种可选择的工程类型:

1)ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;2)ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库; 3)Empty Project:用于创建一个不包含任何库或源文件的工程; 4)Makefile Importer Wizard:用于将Visual C 的nmake 或GNU make 文件转入到CodeWarrior IDE 工程文件; 5)Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件; 6)Thumb Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件;7)Thumb Object Library:用于由Thumb 指令的代码生成一个armar 格式的目标文件库。(4)选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中。输入如程序代码,并保存,此时在工程窗口中可以看到TEST1.S文件。 图1-3 新建test1.s (5) 选择【Edit】->【Perferences…】,在Font选项设置字体是Fixedsys,Script是CHINESE_GB2312。 图1-4 设置字体 (6) 选择【Edit】->【DebugRel Settings…】,在DebugRel Settings对话框的左边选择ARM Linker项,设置地址。 点击“DebugRel Settings…”图标按钮,即可进行工程的地址设置、输出文件设置、编

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

嵌入式系统技术实验指导

《嵌入式系统技术》 实验指导 桂林电子科技大学 电子工程与自动化学院

2013.10 实验一 KEIL MDK 编程环境及实验箱使用入门 一、实验目的: 1、掌握MDK建立工程、设置工程的方法; 2、掌握MDK编译工程、链接工程的方法; 3、掌握MDK仿真调试的方法; 二、实验内容: 1、参考本次实验的实验步骤,完成本次实验,以及实验步骤中的几个思考题 2、参考教材66页有关MDK工具的配置回答以下几个问题 (1)MDK提供的两种调试模式 (2)如何在工程中打开存储单元观察窗口 (3)如何在工程中设置断点 三、实验原理: Keil公司开发的ARM开发工具 MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM 的设备,能帮助工程师按照计划完成项目。本次实验主要熟悉软件的使用过程以及编译代码的下载过程。 四、实验步骤: (1)启动MDK; (2)建立项目; (3)设置工程 (4)建立文件并将文件添加到过程; (5)输入代码; (6)编译连接;

(7)下载代码在线调试。 五、实验要求 1. 总结软件使用过程; 1.总结CORTEXM3处理器的开发流程和调试方法; 实验二数字I/O实验 1、实验目的 1、了解通用I/O接口的接口和性能; 2、了解复用功能和重映射; 3、掌握通用I/O接口的程序设计方法。 2、实验原理 CORTEX 处理器的一个GPIO引脚包含以下几个寄存器: ①两个32位的配置寄存器(GPIOx_CRL,GPIOx_CRH) ②两个32位的数据寄存器(GPIOx_IDR,GPIOx_ODR) ③一个16位的复位寄存器(GPIOx_BRR) ④一个32位的置位/复位寄存器(GPIOx_BSRR) ⑤一个32位的锁定寄存器(GPIOx_LCKR)。 所有寄存器不允许按照半字节或字节访问,必须按32位字访问。1.1.2每一个GPIO引脚都可以在程序中配置成如下几种模式:输入悬空,输入上拉,输入下拉,模拟输入,开漏输出,推挽式输出,,推挽式复用功能,开漏复用功能。

嵌入式微控制器技术实验任务书(附程序和仿真图)

“嵌入式微控制器技术”实验任务书(电气、自动化) 一、实验目的与要求: 1、熟练掌握基于SST89E554RC微控制器的Keil C51集成开发工具的操 作及调试程序的方法(包括:仿真调试与脱机运行间的切换方法);掌握 其他相关微控制器集成开发工具的使用及调试方法; 2、熟练掌握基于SST89E554RC单片机核心板及I/O扩展实验系统的电 路结构原理、设计与应用;掌握其他相关微控制器最小系统设计与应用; 3、熟练掌握在Keil C51与Proteus仿真软件虚拟联机环境下的基于51 单片机控制器数字接口电路的硬件、软件设计方法与功能调试; 4、完成本实验课程所要求的全部实验容,并写出实验报告。 二、微机原理与接口技术综合实验室资源简介 实验室为以下实验活动提供条件: 1、基于唐都实验系统的微机原理与接口技术实验(包括汇编语言、C 语言/C++语言软件编程实验和16位/32位微机接口电路应用实验); 2、基于SST89E554RC微控制器技术软/硬件实验(提供支持汇编语言、 C语言编程的Keil C51集成开发工具、最小核心板+唐都实验系统箱); 3、基于DSP2407、DSP2812、DSP28335微控制器技术软件/硬件实验(提 供支持C语言编程的TI公司的CCS集成开发工具、DSP系列学习开发板、直流电机、步进电机、液晶); 4、基于Freescale的16位MC9S12XS128微控制器技术应用实验(提 供支持C语言编程的CodeWarrier 5.0 For S12集成开发工具、 HF-MC9S12XS128EVB-A 核心板); 5、基于ARM的16/32位ARM7LPC2103TDMI-S微控制器技术基础实验(提供 支持C、C++语言编程的ARM公司推出的ARM微控制器ADS 1.2集成开发工具、EasyARM2103开发板); 6、基于ARM Cortex?-M3先进核的LM3S1138微控制器技术基础实验(提

嵌入式系统实验指导书

《嵌入式系统原理》实验指导书 目录 《嵌入式系统原理》实验指导书 (1) 目录 (1) 实验报告要求: ....................................................................................... 错误!未定义书签。 实验一Linux的初步使用 (2) 实验二linux驱动程序 (5) 实验三交叉编译程序 (11) 实验四编译内核与下载 (15)

实验一Linux的初步使用 实验目的: 熟练掌握linux命令的使用,linux程序的编译与调试 实验学时: 3学时 实验内容: 1.掌握虚拟机VMWARE的基本应用; 2. 掌握虚拟机中RED hat linux 的安装; 3. 掌握基本linux命令的使用; 4. 掌握linux程序编译与调试。 实验设备: 装有VMWARE的PC机一台,RED HAT安装光盘(或ISO映像文件)。 实验步骤: 1.创建一虚拟机MYLINUX 1)从桌面上单击“VMWARE WORKSTAION”启动虚拟机软件,单击新建虚拟 机,指定保存路径“D:\MYLINUX”,选择虚拟机操作系统类型:linux,然后 完成虚拟机的创建; 2)双击虚拟机中CDROM,选择将虚拟机光驱连接修改为:使用ISO映像,并指 定映像文件为共享磁盘:I:\redhat-disk-1.iso。 3)单击虚拟机中启动虚拟机,开始从光盘上启动系统并安装linux。 2.安装linux 注意: 在虚拟机和主机之间进行切换方法:鼠标单击虚拟机,可以进入;要回到主机,请用CTRL+ALT 1)输入回车,进入图形化安装;也可以linux text进入文本界面安装; 2)选择Skip(跳过CD检查),回车 3)点击NEXT(下一步) 4)安装语言,选择简体中文;或选择English 5)安装类型,选择定制:Custom 6)分区选择:自动分区

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 :安磊 班级:计科0901 学号: 0909090310 指导老师:宋虹

目录 课程设计容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------ 6 文件系统的层次结构和功能模块 --------------------- 6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录 -------------------------------------------------- 12

课程设计容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统核,它仅仅包含了任务调度,任务管理,时间管理,存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时核,并在这个核之上提供最基本的系统服务,如信号量,,消息队列,存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

嵌入式系统实验报告

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

实验名称: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所示:

《嵌入式系统开发实训》实训指导书V1.0

《嵌入式系统开发实训》指导书 一、实训的目的和作用 实训是培养和锻炼学生在学习完《嵌入式系统开发》后综合应用所学理论知识解决实际工程设计和应用问题的能力、进行工程实训的重要教学环节,它具有动手、动脑,理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一种较好方法。 《嵌入式系统开发》是一门应用性、综合性、实践性较强的课程,没有实际的有针对性设计环节,学生就不能很好的理解和掌握所学的技术知识,更缺乏解决实际问题的能力。所以通过有针对性的实训,使学生学会系统地综合运用所学的技术理论知识,提高学生在嵌入式应用方面的开发与设计本领,系统的掌握嵌入式系统设计方法。 本实训是配合课堂教学的一个重要的实践教学环节,不仅要培养学生的实际动手能力,检验学生对本课程学习的情况,更要培养学生在实际的工程设计中查阅专业资料、工具书或参考书,掌握工程设计手段和软件工具,并能以图纸和说明书表达设计思想和结果的能力。培养学生事实求是和严肃认真的工作态度。 通过本实训使学生深入了解嵌入式系统开发的步骤与方法,掌握嵌入式系统的软硬件协同开发要点及使用方法。掌握能够根据实际问题综合应用嵌入式软件、硬件的基本技能,编写相应的程序。巩固和强化理论教学内容,综合课程教学中的实验环节,培养和锻炼学生的工程实践能力,具备嵌入式系统软硬件协同开发应用程序的能力。 二、实训主要内容与要求 要求每个学生(或小组)都要自己动手独立设计完成一个典型的嵌入式应用小系统。设计题目可以在给出的参考题目中选,也可以自己选设计题目,但难度不应小于参考题目,需经指导教师审查后方可确定是否采纳或修改设计题目。 一般以1~2人为一个小组,分工协作,可以进行充分的讨论和互助。完成所选课题的硬件和软件的设计与调试。独立解决设计和调试过程中遇到的基本问题。总结整个实践过程,写出实训报告(包括方案选择比较、总体思路、理论分析、系统设计,软件流程图,加注释的源程序,调试过程中遇到的问题及解决办法,总结与体会,参考文献)。 实训是在教师指导下,各组可以集体讨论,但实训报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师查资料、给数据、定答案。同组同学要发扬团队协作精神,积极主动的提出问题、解决问题、讨论问题,互相帮助和启发。 实训报告每个学生一份,由课代表收齐后统一交给指导教师。实训成绩评定由3部分组成:验收答辩情况30%,实训作品质量40%,实训报告书30%。

嵌入式实验指导书 (修改6)20161025

嵌入式系统技术及应用 实验指导书 (第3版) 郑普亮编写 西安建筑科技大学信控学院 智能建筑与楼宇自动化实验室 2014年5月

目录 1课程简介、实验项目及学时安排 (1) 1.1课程简介 (1) 1.2实验项目及学时安排 (1) 2实验仪器仪表设备简介 (2) 2.1嵌入式系统实验箱 (2) 2.2其它实验设备 (2) 3嵌入式系统技术及应用课程实验 (3) 3.1实验1系统认识实验 (3) 3.2实验2定时器实验 (10) 3.3实验3PWM发生器实验 (14) 3.4实验416*16LED点阵显示汉字实验 (16)

1课程简介、实验项目及学时安排 1.1课程简介 嵌入式系统广泛应用于仪器仪表、工业控制、汽车电子等多个领域,是一个综合性的快速发展的技术方向。课程以ARM Cortex-M3系列处理器为主,着重介绍了嵌入式系统设计的基本概念、基于ARM处理器的体系结构、ARM微处理器的编程模型与指令系统、嵌入式操作系统及相关的接口技术。 通过对本课程的学习,能够使学生深刻了解ARM处理器的工作原理,熟练掌握ARM 微处理器的指令系统,以及嵌入式系统软硬件设计基本方法,进而加强学生独立设计能力和创新能力的培养。 1.2实验项目及学时安排 本课程的实验目的是使学生掌握ARM指令系统及基于C语言和驱动程序库的程序设计方法,掌握ARM微处理器各组成部分工作原理及应用,培养学生对ARM微处理器的应用程序与硬件电路的设计能力,提高学生分析和解决实际问题的能力,从而为学生今后走向工作岗位、从事相关专业领域的科学研究和技术开发打下扎实的基础。所以安排了验证性、设计性和综合性不同属性的实验项目。 序号实验项目学时 实验性质 验证综合设计 1系统认识实验2√ 2定时器实验2√ 3PWM发生器实验2√416*16LED点阵显示汉字实验2√ 注:实验项目根据实验教学安排选取。

嵌入式系统实验指导指导书完整版

嵌入式系统实验指导王艳春英一劲松

实验一嵌入式微处理器系统的开发环境 一、实验环境 PC机一台 软件: ADS 1.2集成开发环境一套 二、实验目的 1.了解嵌入式系统及其特点; 2.熟悉嵌入式系统的开发环境和基本配置并能编写简单的汇编程序 三、实验容 1.嵌入式系统的开发环境、基本配置 2.使用汇编指令完成简单的加法实验 四、实验步骤 (1)在D:\新建一个目录,目录名为experiment。 (2)点击 WINDOWS 操作系统的“开始|程序|ARM Developer Suite v1.2 |Code Warrior for ARM Developer Suite”启动Metrowerks Code Warrior,或双击“ADS 1.2”快捷方式启动。启动ADS 1.2 如图1-1所示: 图1-1启动ADS1.2 (3) 在CodeWarrior 中新建一个工程的方法有两种,可以在工具栏中单击“New”按钮, 也可以在“File”菜单中选择“New…”菜单。这样就会打开一个如图1-2 所示的对话框。选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。 图1-2 新建文件 在这个对话框中为用户提供了7 种可选择的工程类型:

1)ARM Executabl Image:用于由ARM 指令的代码生成一个ELF 格式的可执行映像文件;2)ARM Object Library:用于由ARM 指令的代码生成一个armar 格式的目标文件库; 3)Empty Project:用于创建一个不包含任何库或源文件的工程; 4)Makefile Importer Wizard:用于将Visual C 的nmake 或GNU make 文件转入到CodeWarrior IDE 工程文件; 5)Thumb ARM Executable Image:用于由ARM 指令和Thumb 指令的混和代码生成一个可执行的ELF 格式的映像文件; 6)Thumb Executable image:用于由Thumb 指令创建一个可执行的ELF 格式的映像文件;7)Thumb Object Library:用于由Thumb 指令的代码生成一个armar 格式的目标文件库。(4)选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中。输入如程序代码,并保存,此时在工程窗口中可以看到TEST1.S文件。 图1-3 新建test1.s (5) 选择【Edit】->【Perferences…】,在Font选项设置字体是Fixedsys,Script是CHINESE_GB2312。 图1-4 设置字体 (6) 选择【Edit】->【DebugRel Settings…】,在DebugRel Settings对话框的左边选择ARM Linker项,设置地址。 点击“DebugRel Settings…”图标按钮,即可进行工程的地址设置、输出文件设置、编

南邮嵌入式系统B实验报告2016年度-2017年度-2

_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期

实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop // B stop // END } return gcdnum; } int main() { int a; a = find_gcd(18,9);

printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include int find_maxnum(int a,int b,int c)

嵌入式系统与应用实验指导08

《嵌入式系统原理及应用》 实验指导书 适用专业:电气、测控等 课程代码: 8413841 总学时: 48 总学分: 3 编写单位:电气信息学院 编写人:王平 审核人: 审批人: 批准时间:年月日

目录 实验一ADS 1.2集成开发环境练习 (3) 实验二汇编调用实验与Bootloader下载 (11) 实验三、μC/OS-II移植实验 (14) 实验四、步进电机控制实验 (17)

实验一ADS 1.2集成开发环境练习 一、实验目的和任务 了解ADS 1.2集成开发环境的使用方法。 建立一个新的工程;建立一个汇编源文件,并添加到工程中;设置文本编辑器支持中文;设置编译链接控制选项;编译链接工程;调试工程。 二、实验设备 装有ADS 1.2集成开发环境的PC机 三、实验步骤 1.ADS环境练习。 (1) 在D:\新建一个目录,目录名为experiment。 (2) 启动ADS1.2 IDE集成开发环境,选择【File】->【New…】,使用ARM Executable Image工程模板建立一个工程,名称为ADS,目录为D:\experiment。 (3) 选择【File】->【New…】建立一个新的文件TEST1.S,设置直接添加到项目中。输入如程序代码,并保存,此时在工程窗口中可以看到TEST1.S文件。

(4) 选择【Edit】->【Perferences…】,在Font选项设置字体是Fixedsys,Script 是CHINESE_GB2312。 (5) 选择【Edit】->【DebugRel Settings…】,在DebugRel Settings对话框的左边选择ARM Linker项,设置链接地址。

嵌入式linux实验指导书

嵌入式linux实验指导书 实验一:arm裸机实验 实验条件: pc ADS开发环境FL2440开发套件SecureCRT串口超级终端 实验目的: 熟悉arm裸机开发基本步骤,掌握ADS集成开发环境的使用,能够编写简单的裸机程序并下载到开发板运行测试。 实验原理: ADS 全称为ARM Developer Suite ,是ARM 公司推出的新一代ARM 集成开发工具。ADS 由命令行开发工具、ARM 实时库、GUI 开发环境(Code Warrior 和AXD) 、实用程序和支持软件组成。有了这些部件,用户就可以为ARM 系列的RISC 处理器编写和调试自己开发的应用程序了。本次实验利用ADS集成开发环境建立基于arm9 S3C2440的实验工程,完成工程搭建、代码编写和编译,生成可执行文件并下载到开发板进行运行测试。 实验步骤: 1、首先打开ADS软件CodeWarrior,点击File 菜单下的New 来创建新工程。Project 对话框中选择ARM Executable Image 。在Project name 中输入工程名,例:2440_led,点击“Location:”文本框的“Set...”按钮,选择要将工程保存的路径,然后点击确定即可建立一个新的工程。工程建立之后会出现一个24 40_led.mcp 窗口。 2、创建源文件,点击File 菜单下的New,选择标签页File,在File name 中输入要建立的文件名,如:Init.s (.s 文件为arm 中的汇编文件),若此时选上了Add to Project,创建的文件会自动添加到工程中,选择target方式为DebugRel,点击确定关闭窗口,文件创建完成后编写代码。(可将arm_linux文件夹下的裸机例程代码复制到工程中进行修改,如:复制裸机程序中的led程序init.s led.c 到建立的工程文件目录中,点击Project 菜单下的Add Fils 将源文件添加到工程中)

嵌入式linux实验指导书

目录 实验一 linux常用指令练习 (3) 1、在线帮助指令 (3) 2、linux开关机及注销指令。 (3) 重启指令: (3) 1)、reboot命令 (3) 2)、init 6命令 (3) 关机指令: (3) 1)、halt命令 (3) 2)、poweroff命令 (4) 3)、init 0命令 (4) 4)、shutdown命令 (4) 注销指令: (4) 3、用户管理命令 (4) 1)、用户切换su命令 (4) 2)、添加用户命令adduser/useradd (5) 3)、删除用户及更改用户属性 (5) 4)、设置用户密码 (6) 5)、查看用户信息 (6) 4、文件目录操作指令 (7) 1)、改变当前工作目录命令(cd) (7) 2)、显示当前路径pwd (7) 3)、查看当前目录下的文件命令ls (7) 4)、新建目录指令mkdir (8) 5)、删除目录命令rmdir (8) 6)、新建文件命令touch (8) 7)、删除文件指令rm (8) 8)、文件和目录的复制命令cp (8) 9)、文件和目录的移动命令mv (9) 10)、更改文件或目录的使用权限chmod (9) 11)、查看文件的命令cat (9) 12)、文件链接命令ln (9) 13)、文件压缩解压命令 (10) 5、网络相关命令 (11) 6、磁盘管理命令 (11) 7、挂载文件命令mount (12) 8、其他系统命令 (12) 练习1: (13) 练习2: (15) 练习3: (16) 练习4: (21) 实验二 VI文本编辑器的使用 (24) 1、练习使用VI指令 (24) 2、利用VI编写一个hello.c文件 (24)

嵌入式系统实验实验报告

嵌入式系统实验实验报告 一、实验目的 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);

《嵌入式系统》实验报告指导书(含答案)

实验一熟悉嵌入式LINUX开发环境 1、实验目的 熟悉UP-TECHPXA270-S的开发环境。学会WINDOWS环境与嵌入式Linu环境共享资源的基本方法。 2、实验内容 学习UP-TECHPXA270-S系统的使用、XP和虚拟机之间传送文件方法以及UP-TECHPXA270-S和虚拟机之间共享目录的建立方法。 3、预备知识 了解UP-TECHPXA270-S的基本结构和配置,Linux基本知识。 4、实验设备 硬件:UP-TECHPXA270-S开发板、PC机(内存500M以上)。 软件:PC机操作系统RADHAND LINUX 9+MIMICOM+RAM LINUX操作系统 5、实验步骤 (1)、在虚拟机下练习Linux常用命令。(注意以下操作只能在[root@BC root]#,也就是root文件夹下运行,不然会导致系统不能启动) a. 学习命令通过“man ***”和“*** --help”得到的命令使用方法。 b.学习并掌握如下命令: ls,cd ,pwd,cat,more,less,mkdir, rmdir ,rm,mv,cp,tar,ifconfig (2)、XP与虚拟机之间传送文件(Samba服务器建立、网络设置、文件传送);(3)、了解系统资源和连线; (4)、开发板与虚拟机之间共享目录建立(设置NFS、开发板IP设置、目录挂载),挂载文件; (5)vi(vim)的使用 (6)输入qt,启动桌面,按CTRL+C退出 6、实验报告要求 (1)、XP和虚拟机之间传送文件步骤; 虚拟机共享XP文件: 选择虚拟机设置,设置要共享的文件 启动Linux 进入/mnt/hgfs即可看到共享文件夹 服务器设置——samba服务器(设置需要共享的目录) XP共享虚拟机文件: 服务器设置——samba服务器(设置需要共享的目录)

嵌入式系统实验报告

郑州航空工业管理学院 嵌入式系统实验报告 (修订版) 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汇编语言的最简程序结构,然后在代码段中实现两个寄存器值的加法运算,给出运算部分相应指令的注释。 ; 文件名:

相关文档
相关文档 最新文档