嵌入式实验开发环境熟悉实验.docx

上传人:b****2 文档编号:24219895 上传时间:2023-05-25 格式:DOCX 页数:26 大小:1.24MB
下载 相关 举报
嵌入式实验开发环境熟悉实验.docx_第1页
第1页 / 共26页
嵌入式实验开发环境熟悉实验.docx_第2页
第2页 / 共26页
嵌入式实验开发环境熟悉实验.docx_第3页
第3页 / 共26页
嵌入式实验开发环境熟悉实验.docx_第4页
第4页 / 共26页
嵌入式实验开发环境熟悉实验.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

嵌入式实验开发环境熟悉实验.docx

《嵌入式实验开发环境熟悉实验.docx》由会员分享,可在线阅读,更多相关《嵌入式实验开发环境熟悉实验.docx(26页珍藏版)》请在冰豆网上搜索。

嵌入式实验开发环境熟悉实验.docx

嵌入式实验开发环境熟悉实验

实验一:

嵌入式实验开发环境熟悉实验

一实验目的

●了解本课程使用的嵌入式开发平台UP-NetARM2410-S的基本组成、配置

●熟悉ADS1.2开发环境

●学会ARM仿真器的使用

●使用ADS编译、下载、调试并跟踪一段已有的程序

●了解嵌入式开发的基本思想和过程。

二实验内容

本次实验要求自己配置好实验环境;然后使用ADS集成开发环境,新建一个简单的工程文件,并编译这个工程文件。

学习ARM仿真器的使用和开发环境的设置。

下载已经编译好的文件到嵌入式控制器中运行。

学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。

三实验设备及工具

●硬件:

ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG仿真器、串口线。

●软件:

PC机操作系统Win2000或WinXP、ARMADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。

四基础知识

1嵌入式开发平台

硬件平台是基于ARM体系结构,由北京博创兴业科技有限公司开发的UP-NetARM3000和UP-NetARM2410-S实验仪器。

UP-NetARM3000的CPU为ARM7TDMI内核的三星S3C44B0X01芯片,由于没有MMU(内存管理单元)只能运行uClinux,UP-NetARM2410-S的CPU为ARM920T内核的三星S3c2410芯片,由于有MMU可以运行标准的ARM-LINUX内核,本实验室配备的实验开发平台就是UP-NetARM2410-S。

现对实验平台做个简要介绍,其硬件配置资源如表1所示:

表1UP-NetARM2410-S的硬件配置

配置名称

型号

说明

CPU

ARM920T结构芯片三星S3c2410X

工作频率203MHz

FLASH

SAMSUNGK9F1208

64MNAND

SDRAM

HY57V561620AT-H

32M×2=64M

EtherNet网卡

AX88796

两片,10/100M自适应

LCD

LQ080V3DG01

8寸16bitTFT

触摸屏

SX-080-W4R-FB

FM7843驱动

LED

ZLG7290

四个共阴极LED

USB接口

4个HOST/1个DEVICE

由AT43301构成USBHUB

UART/IrDA

2个RS232,1个RS485,1个IrDA

从处理器的UART2引出

AD

由S3C2410芯片引出

3个电位器控制输入

AUDIO

IIS总线,UDA1341芯片

44.1KHz音频

扩展卡插槽

168PinEXPORT

总线直接扩展

GPS_GPRS扩展板

SIMCOM的SIM100-E模块

支持双道语音通信

IDE/CF卡插座

笔记本硬盘,CF卡

PCMCIA和SD卡插座

PCMCIA型号为DWL-650

PS2

PC键盘和鼠标

由ATMEGA8单片机控制

IC卡座

AT24CXX系列

由ATMEGA8单片机控制

DC/STEP电机

DC由PWM控制,STEP由74HC573控制

CANBUS

由MCP2510和TJA1050构成

DoubleDA

MAX504

两个10位DAC端口

调试接口

JTAG

14针、20针

UP-NetARM2410-S实验开发平台的外观图如图1所示:

图1UP-NetARM2410-S

该实验平台的各模块功能如图2所示:

图2UP-NetARM2410-S

与微机连接示意图:

图3UP-NetARM2410-S的连接示意图

该硬件平台的基本架构如图4所示:

图4UP-NetARM2410-S的架构示意图

(1)核心板

●CPU:

ARM920T结构芯片,工作频率202MHz,SAMSUNG公司的S3c2410X

●FLASH:

64MNAND型,SAMSUNG的K9F1208

●RAM:

64MBSDRAM,HY57V561620AT-H

●200管脚精密插座

图5UP-NetARM2410-S的核心板

S3c2410芯片介绍:

S3c2410X芯片集成了大量的功能单元,包括:

1).内部1.8V,存储器3.3V,外部IO3.3V,16KB数据CACH,16KB指令CACH,MMU;

2).内置外部存储器控制器(SDRAM控制和芯片选择逻辑);

3).LCD控制器(最高4K色STN和256K彩色TFT),一个LCD专用DMA;

4).4路带外部请求线的DMA;

5).三个通用异步串行端口(IrDA1.0,16-ByteTxFIFO,and16-ByteRxFIFO),2通道SPI;

6).一个多主IIC总线,一个IIS总线控制器;

7).SD主接口版本1.0和多媒体卡协议版本2.11兼容;

8).2个USBHOST,一个USBDEVICE(VER1.1);

9).4个PWM定时器和一个内部定时器;

10).看门狗定时器;

11).117个通用IO;

12).24个外部中断;

13).电源控制模式:

标准、慢速、休眠、掉电;

14).8通道10位ADC和触摸屏接口;

15).带日历功能的实时时钟;

16).芯片内置PLL;

17).设计用于手持设备和通用嵌入式系统;

18).16/32位RISC体系结构,使用ARM920TCPU核的强大指令集;

19).ARM带MMU的先进的体系结构支持WINCE、EPOC32、LINUX;

20).指令缓存(cache)、数据缓存、写缓冲和物理地址TAGRAM,减小了对主存储器带宽和性能的影响;

21).ARM920TCPU核支持ARM调试的体系结构;

22).内部先进的位控制器总线(AMBA2.0,AHB/APB).

图6S3c2410X芯片

芯片封装如下图所示:

图7FBGA封装

(2)主板

●USB口:

包括一个USBDevice接口和4个USBHost接口。

前者直接来自处理器,后者是处理器的Host接口经过由AT43301构成的USBHUB电路扩展出来的4个Host接口;

●jtag调试口:

20针标准口,14针简易口;

●AUDIO:

44.1KHz音频,采用UDA1341芯片构成,可放音和录音,通过IIS总线连接到处理器,具有功放电路驱动喇叭,板载MIC和音频IO插座;

●2410-S平台上通过一片ATMEGA8单片机作为控制器,驱动PS2接口、IC卡接口和板载KEYPAD。

ATMEGA8单片机通过IIC总线和ARM处理器连接;

●LED:

四个共阴极LED,由通过IIC总线扩展连接的ZLG7290控制;

●AD:

3个电位器控制输入,8个通道经过跳线设置可全部作为外部模拟电压输入,由S3C2410芯片管脚引出;

●DC/STEP电机:

直流电机信号来自PWM输出,步进电机信号来自EXIO扩展,EXIO扩展电路由74HC573构成,分配专用地址段,和IDE接口在同一BANK;

●IDE/CF卡插座:

类似于计算机主板上一个IDE接口上的主从两个IDE设备一样,IDE接口直接出自扩展总线,由软件完成驱动控制;

●SD卡插座:

直接来自s3c2410的SD控制器;

●CAN总线:

由控制器MCP2510和驱动器TJA1050构成,SPI总线接口;

●DA电路:

由两片MAX504组成,提供两路10bit数模转换输出,也是SPI总线接口;

●串口:

包括两个RS232接口,处理器的UART0和UART1经过MAX3232芯片电压转换后用DB9插座输出;

●168Pin的扩展插座:

该插座和计算机的内存条插座规格一致,用户可以据此设计合适的扩展板。

扩展槽上包含扩展总线的所有信号,可复用的系统资源以及开发平台尚未使用的空置资源。

●以太网卡:

包括两个相同的网卡电路,芯片型号AX88796,10M/100M自适应。

●LCD:

8寸16bitTFT,640X480分辨率,型号是LQ080V3DG01.S3C2410处理器内含LCD控制器,这使得LCD部分的电路非常简单,LCD控制器的信号线经过驱动电路后即可连接LCD模块;

●触摸屏:

采用ADS7843完成AD转换,通过SPI总线和处理器接口。

同样为了兼容性,平台上设计了多个触摸屏接插位置,并保留了依靠2410CPUAD单元的另一套触摸屏接口方案。

(3)显示装置

●LCD:

8寸16bitTFT,640X480分辨率,型号是LQ080V3DG01.S3C2410处理器内含LCD控制器,这使得LCD部分的电路非常简单,LCD控制器的信号线经过驱动电路后即可连接LCD模块;

●触摸屏:

采用ADS7843完成AD转换,通过SPI总线和处理器接口。

同样为了兼容性,平台上设计了多个触摸屏接插位置,并保留了依靠2410CPUAD单元的另一套触摸屏接口方案。

2嵌入式系统开发流程

图8嵌入式系统开发框架

五实验过程

1超级终端的建立

思考:

建立超级终端的目的是什么?

(1)、运行Windows系统下的超级终端(HyperTerminal)应用程序,新建一个通信终端(请见图9)。

如图10所示,如果要求输入区号、电话号码等信息请随意输入;出现如图11所示对话框时,为所建超级终端取名为arm(也可以选择其它的名字),可以为其选一个图标,单击“确定”按钮。

 

请大家注意:

在windowsxp操作系统下,当初次建立超级终端的时候,会出现如下对话框:

图9可能的选择

图10创建超级终端

图11创建超级终端

(2)、在接下来的对话框中选择ARM开发平台实际连接的PC机串口(如COM1)如图12所示,按确定后出现如图13所示的属性对话框,设置通信的格式和协议。

这里波特率为115200,数据位8,无奇偶校验,停止位1,无数据流控制。

按确定完成设置。

图12创建超级终端

图13创建超级终端

(3)、完成新建超级终端的设置以后,可以选择超级终端文件菜单中的保存,将当前设置保存为一个特定超级终端到桌面上,以备后用。

用串口线将PC机串口和平台UART0正确连接后,就可以在超级终端上看到程序输出的信息了

2JTAG安装过程

JTAG(JointTestActionGroup;联合测试行动小组)是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。

现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。

标准的JTAG接口是4线:

TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(TestAccessPort;测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。

JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。

现在,JTAG接口还常用于实现ISP(In-SystemProgrammable;在线编程),对FLASH等器件进行编程。

JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程实现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。

JTAG接口可对PSD芯片内部的所有部件进行编程.在本实验将要利用JTAG多加载引导程序vivi进行烧写,所以必须安装其驱动。

具体步骤如下:

图14创建超级终端

(1)连接电源,将5V电源线的连到UP-NETARM2410-S的电源接口;连接串口线,一端连接PC的串口,另一端连接到UP-NETARM2410-S的串口(上面的);

(2)把并口线插到pc机的并口,并把并口与JTAG相连,JTAG与开发板的14针JTAG口相连,打开2410-S电源.

(3)把整个GIVEIO目录拷贝到C:

\WINDOWS下,并把该目录下的giveio.sys文件拷贝到c:

/windows/system32/drivers下。

(4)在控制面板里,选添加硬件>下一步>选-是我已经连接了此硬件>下一步>选中-添加新的硬件设备>下一步>选中安装我手动从列表选择的硬件>下一步>选择-显示所有设备>选择-从磁盘安装-浏览,指定驱动为C:

\WINDOWS\GIVEIO\giveio.inf文件,点击确定,安装好驱动。

3利用JTAG烧写vivi

Bootloader(引导装载器)是用于初始化目标板硬件,给嵌入式操作系统提供板上硬件资源信息,并进一步装载、引导嵌入式操作系统运行的固件。

简单地说,bootloader就是在操作系统内核运行前运行地一段小程序。

通过这段小程序,我们可以初始化必要的硬件设备,创建内核需要的一些信息并将这些信息通过相关机制传递给内核,从而将系统的软硬件环境带到一个合适的状态,最终调用操作系统内核,真正起到引导和加载内核的作用。

在嵌入式系统开发过程中,Bootloader的编写往往是设计的主要难点。

目前,Bootloader的开发通常都是基于一些开源的Bootloader(如vivi、U-Boot、Blob、ARMBoot、RedBoot等)而设计,它们在设计思路上有许多相通之处。

vivi是当前比较流行的,专门针对ARM9处理器而设计的一款Bootloader,它操作简便,同时提供了完备的命令体系。

vivi是由韩国Mizi公司开发的一种Bootloader,适合于ARM9处理器,支持S3C2410x处理器,其源代码可以在网站下载。

和所有的Bootloader一样,vivi有两种工作模式,即启动加载模式和下载模式。

当vivi处于下载模式时,它为用户提供一个命令行接口,通过该接口能使用vivi提供的一些命令集。

下面利用JTAG烧写vivi的具体步骤(同时见图13-图:

在d盘新建一目录bootloader,把sjf2410-s和要烧写的vivi拷贝到该目录下,在程序-附件-msdos下,进入该目录,运行sjf2410-s命令如下:

sjf2410-s/f:

vivi。

在此后出现的三次要求输入参数,第一次是让选择Flash,选0;第二次是选择jtag对flash的两种功能,也选0;第三次是让选择起始地址,选0;此后就等待大约3-5分钟的烧写时间,当VIVI烧写完毕后选择参数2,退出烧写。

图15烧写vivi

图16烧写vivi

图17烧写vivi

4映象文件(image)下载

(1)关闭2410-S电源,拔出JTAG;打开超级终端,先按住PC机“Space”键,然后启动2410-S电源,进入vivi>

图18image下载

(2)按照以下命令重新分区:

vivi>bonpart0128k192k1216k4288k:

m64704k(64Mflash1208)

图19image下载

回车后,超级终端会出现如下分区信息,并检查是否有坏的块。

图20image下载

(3)耐心等待片刻,等检查完flash内是否有坏块后,会在超级终端出现提示符,如下图所示。

图21image下载

(4)在提示符号下输入:

partsave,回车保存好分区.

图22image下载

(5)在vivi>后键入loadflashvivix回车,点击超级终端“传送”下拉菜单,选择”发送文件”,把引导程序vivi下载到vivi分区,保证系统掉电后还能再引导。

图23image下载

图24image下载

图25image下载

(6)在vivi>后键入loadflashucosx然后回车。

图26image下载

(7)然后打开超级终端上方的“传送”菜单并选择发送文件,如图27所示,点击浏览按键,查找并进入到编译生成的映象文件夹下,打开system.bin.然后在发送文件对话框中的协议栏选择Xmodem,最后选择发送。

图27image下载

(8)发送结束后,映象文件即下载到flash中,然后,如图28键入bootucos命令再回车即可运行该镜像image程序。

(请大家观察LCD或者听歌)

图28image下载

(9)摁键盘“Space”键,然后摁一下2410-s上的复位按钮,重新启动,按照(6)、(7)的方法下载另外一个image文件执行。

(10)关掉2410-s的电源,摁键盘“Space”键,然后开2410-s的电源,看vivi能否启动?

问题思考:

①、重作3和4(4中略去(5)步),看会出现什么情况?

这是为什么呢?

②、作3和4中的

(1),然后键入:

help,并回车,了解bootloader程序vivi的命令。

以理解本实验操作意义。

③、本实验用的image文件是什么呢?

它是怎么产生的呢?

5额外实验

(1)把实验用的ARM程序“Exp11绘图的API函数”放在D盘,打开该目录,观察其有哪些文件夹和文件。

其中,Exp11为工程文件。

图29image生成

(2)如果PC机安装了ARM集成开发环境ADS1.2,那么双击工程文Exp11就会打开该工程(Project),如图30所示。

其中生成目标Release生成的映象文件不包括调试信息;生成目标Debug生成的映象文件包括了所有的调试信息。

点击菜单“Project”下的“make”选项,便生成了工程项目

图30image生成

图31image生成

(3)在文件夹Exp11_data下的Release和Debug目录就可以分别找到包含调试信息和包含调试信息的映像文件system.bin。

大家可以尝试把映像文件通过超级终端下载到目标机上执行。

图32image生成

图33image生成

图34image生成

六进一步阅读

具体ADS1.2的用法请参考在线帮助文档与《ARM体系结构与编程》第13章。

由于我们实验箱用的是S3C2410芯片,请大家查阅其Datasheet了解这款具体芯片的组成。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1